use of org.eclipse.linuxtools.internal.callgraph.graphlisteners.AutoScrollSelectionListener in project linuxtools by eclipse.
the class CallgraphView method initializeView.
/**
* Initializes the view by creating composites (if necessary) and canvases
* Calls loadData(), and calls finishLoad() if not in realTime mode (otherwise
* it is up to the user-defined update methods to finish loading).
*
* @return status
*/
@Override
public IStatus initializeView(Display targetDisplay, IProgressMonitor monitor) {
if (targetDisplay == null && Display.getCurrent() == null) {
Display.getDefault();
}
makeTreeComp();
makeGraphComp();
graphComp.setBackgroundMode(SWT.INHERIT_FORCE);
// Create papa canvas
Canvas papaCanvas = new Canvas(graphComp, SWT.BORDER);
GridLayout papaLayout = new GridLayout(1, true);
papaLayout.horizontalSpacing = 0;
papaLayout.verticalSpacing = 0;
papaLayout.marginHeight = 0;
papaLayout.marginWidth = 0;
papaCanvas.setLayout(papaLayout);
GridData papaGD = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false);
papaGD.widthHint = 160;
papaCanvas.setLayoutData(papaGD);
// Add first button
// $NON-NLS-1$
Image image = getImageDescriptor("icons/up.gif").createImage();
Button up = new Button(papaCanvas, SWT.PUSH);
GridData buttonData = new GridData(SWT.CENTER, SWT.CENTER, true, false);
buttonData.widthHint = 150;
buttonData.heightHint = 20;
up.setData(buttonData);
up.setImage(image);
// $NON-NLS-1$
up.setToolTipText(Messages.getString("CallgraphView.ThumbNailUp"));
// Add thumb canvas
Canvas thumbCanvas = new Canvas(papaCanvas, SWT.NONE);
// Add second button
// $NON-NLS-1$
image = getImageDescriptor("icons/down.gif").createImage();
Button down = new Button(papaCanvas, SWT.PUSH);
buttonData = new GridData(SWT.CENTER, SWT.CENTER, true, false);
buttonData.widthHint = 150;
buttonData.heightHint = 0;
down.setData(buttonData);
down.setImage(image);
// $NON-NLS-1$
down.setToolTipText(Messages.getString("CallgraphView.ThumbNailDown"));
// Initialize graph
g = new StapGraph(graphComp, SWT.BORDER, treeComp, papaCanvas, this);
g.setLayoutData(new GridData(masterComposite.getBounds().width, Display.getCurrent().getBounds().height - TREE_SIZE));
up.addSelectionListener(new AutoScrollSelectionListener(AutoScrollSelectionListener.AUTO_SCROLL_UP, g));
down.addSelectionListener(new AutoScrollSelectionListener(AutoScrollSelectionListener.AUTO_SCROLL_DOWN, g));
// Initialize thumbnail
GridData thumbGD = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false);
thumbGD.widthHint = 160;
thumbCanvas.setLayoutData(thumbGD);
LightweightSystem lws = new LightweightSystem(thumbCanvas);
ScrollableThumbnail thumb = new ScrollableThumbnail(g.getViewport());
thumb.setSource(g.getContents());
lws.setContents(thumb);
loadData(monitor);
return finishLoad(monitor);
}
Aggregations