[ 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.