Search in sources :

Example 1 with AutoScrollSelectionListener

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);
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) Canvas(org.eclipse.swt.widgets.Canvas) GridData(org.eclipse.swt.layout.GridData) LightweightSystem(org.eclipse.draw2d.LightweightSystem) Image(org.eclipse.swt.graphics.Image) AutoScrollSelectionListener(org.eclipse.linuxtools.internal.callgraph.graphlisteners.AutoScrollSelectionListener) ScrollableThumbnail(org.eclipse.draw2d.parts.ScrollableThumbnail)

Aggregations

LightweightSystem (org.eclipse.draw2d.LightweightSystem)1 ScrollableThumbnail (org.eclipse.draw2d.parts.ScrollableThumbnail)1 AutoScrollSelectionListener (org.eclipse.linuxtools.internal.callgraph.graphlisteners.AutoScrollSelectionListener)1 Image (org.eclipse.swt.graphics.Image)1 GridData (org.eclipse.swt.layout.GridData)1 GridLayout (org.eclipse.swt.layout.GridLayout)1 Button (org.eclipse.swt.widgets.Button)1 Canvas (org.eclipse.swt.widgets.Canvas)1