[ 
https://issues.apache.org/jira/browse/IVYDE-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761963#action_12761963
 ] 

Ivica Loncar commented on IVYDE-208:
------------------------------------

Now I can see icons but they look way too small. They aren't 16x16. I still 
can't figure out why. Probably has something with my setup.

More ideas: 
 - zoom in/out using ctrl+mouse scroll
 - search should focus on found items, there should be a convinient method to 
select next/previous item

Btw. I have been playing with Zest and found out that there is a thumbnail 
previewer. Instead of scrollbars we could use a previewer.

Sample code:

{code:java}
 private static class ZoomableComposite extends Composite {
        FigureCanvas thumbnail;
        ScrollableThumbnail tb;

        public ZoomableComposite(Composite parent, int style) {
            super(parent, style);
            this.setLayout(new FormLayout());
            createZoomableCanvas(this);
        }
        
        public void setGraph(Graph graph) {
            if (graph.getParent() != this) {
                throw new AssertionError("Graph must be a child of this 
zoomable composite.");
            }
            createContents(graph);
            tb.setViewport(graph.getViewport());
            tb.setSource(graph.getContents());
        }

        private void createZoomableCanvas(Composite parent) {
            FormData data = new FormData();
            data.top = new FormAttachment(100,-130);
            data.left = new FormAttachment(100,-130);
            data.right = new FormAttachment(100,-30);
            data.bottom = new FormAttachment(100,-30);
            
            thumbnail = new FigureCanvas(parent, SWT.NONE);
            thumbnail.setBackground(ColorConstants.white);
            thumbnail.setLayoutData(data);
            
            tb = new ScrollableThumbnail();
            tb.setBorder(new LineBorder(1));
            thumbnail.setContents(tb);
        }

        private void createContents(Control control) {
            FormData data = new FormData();
            data.top = new FormAttachment(0,0);
            data.left = new FormAttachment(0,0);
            data.right = new FormAttachment(100,0);
            data.bottom = new FormAttachment(100,0);
            control.setParent(this);
            control.setLayoutData(data);
        }
        
    }
{code}

One can use it like this:

{code:java}
    private void createGraphSection(Composite parent) {
        Section section = this.toolkit.createSection(parent, Section.TITLE);
        ZoomableComposite zoomableComposite = new ZoomableComposite(section, 
SWT.NONE);
        viewer = new InternalGraphViewer(zoomableComposite, SWT.NONE);
        
viewer.getGraphControl().setVerticalScrollBarVisibility(FigureCanvas.NEVER);
        
viewer.getGraphControl().setHorizontalScrollBarVisibility(FigureCanvas.NEVER);
        zoomableComposite.setGraph((Graph)viewer.getControl());
        section.setClient(zoomableComposite);
    }
{code}

Of course if you need more screen real-estate you can just remove the section:

{code:java}
    private void createGraphSection(Composite parent) {
        ZoomableComposite zoomableComposite = new ZoomableComposite(parent, 
SWT.NONE);
        viewer = new InternalGraphViewer(zoomableComposite, SWT.NONE);
        
viewer.getGraphControl().setVerticalScrollBarVisibility(FigureCanvas.NEVER);
        
viewer.getGraphControl().setHorizontalScrollBarVisibility(FigureCanvas.NEVER);
        zoomableComposite.setGraph((Graph)viewer.getControl());
    }
{code}


> Ivy Resolve Visualizer
> ----------------------
>
>                 Key: IVYDE-208
>                 URL: https://issues.apache.org/jira/browse/IVYDE-208
>             Project: IvyDE
>          Issue Type: New Feature
>            Reporter: Jon Schneider
>         Attachments: evicted.gif, focus.gif, ivyde-208.patch, 
> ivyde-208.patch, ivyde-208.patch, screenshot-1.jpg, screenshot-2.jpg, 
> screenshot-3.jpg, screenshot-4.jpg, screenshot-5.jpg
>
>
> I am kind of excited about this one.  I would like to be able to see the 
> resolve report depicted graphically, showing me clearly how particular 
> dependencies wound up on the classpath, what nodes got evicted, what 
> dependencies a particular transitive dependency has, etc etc.  Ivy can 
> sometimes fall into the category of "automagically" doing so much for us on 
> the classpath, that developers can take it for granted.  Especially when a 
> version conflict arises out of a resolution (by which two different revisions 
> are resolved that aren't under the same eviction context), I see developers 
> getting very confused.  I hope this visualization will help them understand.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to