Example usage for org.eclipse.jface.viewers ColumnViewerToolTipSupport enableFor

List of usage examples for org.eclipse.jface.viewers ColumnViewerToolTipSupport enableFor

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ColumnViewerToolTipSupport enableFor.

Prototype

public static void enableFor(ColumnViewer viewer) 

Source Link

Document

Enable ToolTip support for the viewer by creating an instance from this class.

Usage

From source file:Snippet015CustomTooltipsForTree.java

License:Open Source License

/**
 * @param args//  ww w. j  av a2s.  c o m
 */
public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());

    TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(v);

    v.setContentProvider(new MyContentProvider());

    CellLabelProvider labelProvider = new CellLabelProvider() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipText(java.lang.Object)
         */
        public String getToolTipText(Object element) {
            return "Tooltip (" + element + ")";
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipShift(java.lang.Object)
         */
        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipDisplayDelayTime(java.lang.Object)
         */
        public int getToolTipDisplayDelayTime(Object object) {
            return 1000;
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipTimeDisplayed(java.lang.Object)
         */
        public int getToolTipTimeDisplayed(Object object) {
            return 50000;
        }

        public void update(ViewerCell cell) {
            cell.setText(cell.getElement().toString());

        }
    };

    v.setLabelProvider(labelProvider);
    v.setInput("");

    shell.setSize(200, 200);
    shell.open();

    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }

    display.dispose();
}

From source file:au.gov.ga.earthsci.bookmark.part.editor.BookmarkEditorDialog.java

License:Apache License

/**
 * Create the property tree control (left side) used to display available {@link IBookmarkProperty}s
 * <p/>/*from   w  ww . ja  v a 2s. c  om*/
 * Expects the {@code parent} to have a {@link GridLayout}.
 */
private Control createPropertyTree(Composite parent) {
    PatternFilter filter = new BookmarkPropertyTreeFilter();
    filter.setIncludeLeadingWildcard(true);

    editorFilteredTree = new FilteredTree(parent, SWT.FULL_SELECTION, filter, true);
    GridData gd = new GridData(GridData.FILL_VERTICAL);
    editorFilteredTree.setLayoutData(gd);

    if (editorFilteredTree.getFilterControl() != null) {
        Composite filterComposite = editorFilteredTree.getFilterControl().getParent();
        gd = (GridData) filterComposite.getLayoutData();
        gd.verticalIndent = 2;
        gd.horizontalIndent = 1;
    }

    ColumnViewerToolTipSupport.enableFor(editorFilteredTree.getViewer());
    editorFilteredTree.getViewer().setContentProvider(new BookmarkPropertyTreeContentProvider());
    editorFilteredTree.getViewer().setLabelProvider(new BookmarkPropertyTreeLabelProvider());
    editorFilteredTree.getViewer().setComparator(new BookmarkPropertyTreeViewerComparator());
    editorFilteredTree.getViewer().setInput(editors);
    editorFilteredTree.getViewer().setAutoExpandLevel(2);

    editorFilteredTree.getViewer().setSelection(new StructuredSelection(editors.get(0)));

    editorFilteredTree.getViewer().addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection().isEmpty()) {
                return;
            }
            if (!showEditor(
                    (IBookmarkEditor) ((IStructuredSelection) event.getSelection()).getFirstElement())) {
                handleEditorChangeError();
            }
        }

        private void handleEditorChangeError() {
            try {
                editorFilteredTree.getViewer().removePostSelectionChangedListener(this);
                editorFilteredTree.getViewer().setSelection(new StructuredSelection(currentEditor));
            } finally {
                editorFilteredTree.getViewer().addPostSelectionChangedListener(this);
            }
        }
    });

    return editorFilteredTree;
}

From source file:au.gov.ga.earthsci.discovery.darwin.DarwinURLSelectionDialog.java

License:Apache License

@Override
protected Control createDialogArea(Composite parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    GridLayout layout = new GridLayout();
    layout.marginTop = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    comp.setLayout(layout);//w  ww .  j av  a  2 s  . c om
    initializeDialogUnits(comp);

    viewer = new TableViewer(comp, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    //set max size (actual size is calculated below):
    gd.widthHint = 600;
    gd.heightHint = 400;
    viewer.getTable().setLayoutData(gd);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());
    viewer.setInput(urls);

    DarwinDiscoveryResultURL longestUrl = urlWithLongestName(urls);
    if (longestUrl != null) {
        GC gc = new GC(viewer.getTable());
        Point point = gc.textExtent(longestUrl.getName());
        gc.dispose();
        gd.widthHint = Math.min(gd.widthHint, point.x);
    }
    int height = viewer.getTable().getItemHeight() * urls.size() + viewer.getTable().getHeaderHeight();
    if (height < gd.heightHint) {
        //if height of all rows is less than the max height, then use the default height:
        gd.heightHint = SWT.DEFAULT;
    }

    //keep the column width in sync with the table width
    final TableColumn resultsColumn = new TableColumn(viewer.getTable(), SWT.LEFT);
    Listener resizeListener = new Listener() {
        @Override
        public void handleEvent(Event event) {
            resultsColumn.setWidth(viewer.getTable().getClientArea().width);
        }
    };
    viewer.getControl().addListener(SWT.Resize, resizeListener);
    viewer.getControl().addListener(SWT.Paint, resizeListener);

    if (selected != null) {
        viewer.setSelection(new StructuredSelection(selected));
    } else if (urls.size() == 1) {
        viewer.getTable().select(0);
    } else {
        //if there is a WMS url, select it by default
        for (DarwinDiscoveryResultURL url : urls) {
            if (url.getProtocol().toLowerCase().contains("wms")) //$NON-NLS-1$
            {
                viewer.setSelection(new StructuredSelection(url));
                break;
            }
        }
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            validate();
        }
    });

    ColumnViewerToolTipSupport.enableFor(viewer);

    urlLabel = new CLabel(comp, SWT.NONE);
    urlLabel.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));

    Dialog.applyDialogFont(comp);
    return comp;
}

From source file:bndtools.views.resolution.ResolutionView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    this.display = parent.getDisplay();

    SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL);
    splitPanel.setLayout(new FillLayout());

    Composite reqsPanel = new Composite(splitPanel, SWT.NONE);
    reqsPanel.setBackground(parent.getBackground());

    GridLayout reqsLayout = new GridLayout(1, false);
    reqsLayout.marginWidth = 0;/*from  www. j  a v  a2s  .  com*/
    reqsLayout.marginHeight = 0;
    reqsLayout.verticalSpacing = 2;
    reqsPanel.setLayout(reqsLayout);
    new Label(reqsPanel, SWT.NONE).setText("Requirements:");
    reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    reqsTree.setHeaderVisible(false);
    reqsTree.setLinesVisible(false);
    reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    reqsViewer = new TreeViewer(reqsTree);
    ColumnViewerToolTipSupport.enableFor(reqsViewer);
    reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true));
    reqsViewer.setContentProvider(new CapReqMapContentProvider());

    Composite capsPanel = new Composite(splitPanel, SWT.NONE);
    capsPanel.setBackground(parent.getBackground());

    GridLayout capsLayout = new GridLayout(1, false);
    capsLayout.marginWidth = 0;
    capsLayout.marginHeight = 0;
    capsLayout.verticalSpacing = 2;
    capsPanel.setLayout(capsLayout);
    new Label(capsPanel, SWT.NONE).setText("Capabilities:");
    capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    capsTable.setHeaderVisible(false);
    capsTable.setLinesVisible(false);
    capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    capsViewer = new TableViewer(capsTable);
    ColumnViewerToolTipSupport.enableFor(capsViewer);
    capsViewer.setLabelProvider(new CapabilityLabelProvider(true));
    capsViewer.setContentProvider(new CapReqMapContentProvider());
    capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parent, Object element) {
            return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace());
        }
    } });

    hideSelfImportsFilter = new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof RequirementWrapper) {
                RequirementWrapper rw = (RequirementWrapper) element;
                return !rw.resolved;
            }
            return true;
        }
    };
    reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter });

    reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer));

    capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer));

    reqsViewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(OpenEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
                Object item = iter.next();
                if (item instanceof Clazz) {
                    Clazz clazz = (Clazz) item;
                    String className = clazz.getFQN();
                    IType type = null;
                    if (!loaders.isEmpty()) {
                        IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot();
                        for (CapReqLoader loader : loaders) {
                            if (loader instanceof BndBuilderCapReqLoader) {
                                File loaderFile = ((BndBuilderCapReqLoader) loader).getFile();
                                IFile[] wsfiles = wsroot.findFilesForLocationURI(loaderFile.toURI());
                                for (IFile wsfile : wsfiles) {
                                    IJavaProject javaProject = JavaCore.create(wsfile.getProject());
                                    try {
                                        type = javaProject.findType(className);
                                        if (type != null)
                                            break;
                                    } catch (JavaModelException e) {
                                        ErrorDialog.openError(getSite().getShell(), "Error", "",
                                                new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat
                                                        .format("Error opening Java class '{0}'.", className),
                                                        e));
                                    }
                                }
                            }

                        }
                    }
                    try {
                        if (type != null)
                            JavaUI.openInEditor(type, true, true);
                    } catch (PartInitException e) {
                        ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR,
                                Plugin.PLUGIN_ID, 0,
                                MessageFormat.format("Error opening Java editor for class '{0}'.", className),
                                e));
                    } catch (JavaModelException e) {
                        ErrorDialog.openError(getSite().getShell(), "Error", "",
                                new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0,
                                        MessageFormat.format("Error opening Java class '{0}'.", className), e));
                    }
                }
            }
        }
    });

    fillActionBars();

    getSite().getPage().addPostSelectionListener(this);
    getSite().getPage().addPartListener(partAdapter);
    ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);

    // Current selection & part
    IWorkbenchPart activePart = getSite().getPage().getActivePart();
    ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection();
    selectionChanged(activePart, activeSelection);
}

From source file:bndtools.views.ResolutionView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    this.display = parent.getDisplay();

    SashForm splitPanel = new SashForm(parent, SWT.HORIZONTAL);
    splitPanel.setLayout(new FillLayout());

    Composite reqsPanel = new Composite(splitPanel, SWT.NONE);
    reqsPanel.setBackground(parent.getBackground());

    GridLayout reqsLayout = new GridLayout(1, false);
    reqsLayout.marginWidth = 0;//from   ww  w . j av  a 2  s .c o  m
    reqsLayout.marginHeight = 0;
    reqsLayout.verticalSpacing = 2;
    reqsPanel.setLayout(reqsLayout);
    new Label(reqsPanel, SWT.NONE).setText("Requirements:");
    reqsTree = new Tree(reqsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    reqsTree.setHeaderVisible(false);
    reqsTree.setLinesVisible(false);
    reqsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    reqsViewer = new TreeViewer(reqsTree);
    ColumnViewerToolTipSupport.enableFor(reqsViewer);
    reqsViewer.setLabelProvider(new RequirementWrapperLabelProvider(true));
    reqsViewer.setContentProvider(new CapReqMapContentProvider());

    Composite capsPanel = new Composite(splitPanel, SWT.NONE);
    capsPanel.setBackground(parent.getBackground());

    GridLayout capsLayout = new GridLayout(1, false);
    capsLayout.marginWidth = 0;
    capsLayout.marginHeight = 0;
    capsLayout.verticalSpacing = 2;
    capsPanel.setLayout(capsLayout);
    new Label(capsPanel, SWT.NONE).setText("Capabilities:");
    capsTable = new Table(capsPanel, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    capsTable.setHeaderVisible(false);
    capsTable.setLinesVisible(false);
    capsTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    capsViewer = new TableViewer(capsTable);
    ColumnViewerToolTipSupport.enableFor(capsViewer);
    capsViewer.setLabelProvider(new CapabilityLabelProvider(true));
    capsViewer.setContentProvider(new CapReqMapContentProvider());
    capsViewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parent, Object element) {
            return !filteredCapabilityNamespaces.contains(((Capability) element).getNamespace());
        }
    } });

    hideSelfImportsFilter = new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof RequirementWrapper) {
                RequirementWrapper rw = (RequirementWrapper) element;
                return !rw.resolved;
            }
            return true;
        }
    };
    reqsViewer.setFilters(new ViewerFilter[] { hideSelfImportsFilter });

    reqsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(reqsViewer));

    capsViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { LocalSelectionTransfer.getTransfer() }, new LocalTransferDragListener(capsViewer));

    reqsViewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(OpenEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
                Object item = iter.next();
                if (item instanceof Clazz) {
                    Clazz clazz = (Clazz) item;
                    String className = clazz.getFQN();
                    IType type = null;
                    if (selectedFiles != null) {
                        IWorkspaceRoot wsroot = ResourcesPlugin.getWorkspace().getRoot();
                        for (File selectedFile : selectedFiles) {
                            IFile[] wsfiles = wsroot.findFilesForLocationURI(selectedFile.toURI());
                            for (IFile wsfile : wsfiles) {
                                IJavaProject javaProject = JavaCore.create(wsfile.getProject());
                                try {
                                    type = javaProject.findType(className);
                                    if (type != null)
                                        break;
                                } catch (JavaModelException e) {
                                    ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(
                                            IStatus.ERROR, Plugin.PLUGIN_ID, 0,
                                            MessageFormat.format("Error opening Java class '{0}'.", className),
                                            e));
                                }
                            }
                        }
                    }
                    try {
                        if (type != null)
                            JavaUI.openInEditor(type, true, true);
                    } catch (PartInitException e) {
                        ErrorDialog.openError(getSite().getShell(), "Error", "", new Status(IStatus.ERROR,
                                Plugin.PLUGIN_ID, 0,
                                MessageFormat.format("Error opening Java editor for class '{0}'.", className),
                                e));
                    } catch (JavaModelException e) {
                        ErrorDialog.openError(getSite().getShell(), "Error", "",
                                new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0,
                                        MessageFormat.format("Error opening Java class '{0}'.", className), e));
                    }
                }
            }
        }
    });

    fillActionBars();

    getSite().getPage().addPostSelectionListener(this);
    getSite().getPage().addPartListener(partAdapter);
    ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);

    // Current selection & part
    IWorkbenchPart activePart = getSite().getPage().getActivePart();
    ISelection activeSelection = getSite().getWorkbenchWindow().getSelectionService().getSelection();
    selectionChanged(activePart, activeSelection);
}

From source file:ch.gpb.elexis.cst.view.profileeditor.RemindersComposite.java

License:Open Source License

public RemindersComposite(Composite parent) {
    super(parent, SWT.NONE);

    GridLayout gridLayout = new GridLayout(4, false);
    setLayout(gridLayout);//from  w  ww . ja  v a2 s. c  o  m

    createLayout(this);

    treeviewer = new TreeViewer(this, SWT.BORDER);
    Tree tree_1 = treeviewer.getTree();
    GridData gd_tree_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1);
    gd_tree_1.heightHint = 230;
    gd_tree_1.widthHint = 500;
    tree_1.setLayoutData(gd_tree_1);
    treeviewer.setContentProvider(new ViewContentProvider());
    treeviewer.setLabelProvider(new ViewLabelProvider());

    Button btnNewAction = new Button(this, SWT.NONE);
    btnNewAction.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnNewAction.setText("Start new event chain");
    btnNewAction.addSelectionListener(new NewItemListener());

    Button btnExpandAll = new Button(this, SWT.NONE);
    btnExpandAll.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    btnExpandAll.setText("Expand All");
    btnExpandAll.addSelectionListener(new ExpandAllListener());

    MenuManager menuMgr = new MenuManager();
    Menu menu = menuMgr.createContextMenu(treeviewer.getControl());
    menuMgr.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            if (treeviewer.getSelection().isEmpty()) {
                return;
            }

            if (treeviewer.getSelection() instanceof IStructuredSelection) {
                IStructuredSelection selection = (IStructuredSelection) treeviewer.getSelection();
                manager.add(actionAddObject);
                manager.add(actionDeleteObject);
                manager.add(actionEditObject);

            }
        }
    });

    menuMgr.setRemoveAllWhenShown(true);
    treeviewer.getControl().setMenu(menu);
    treeviewer.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(treeviewer);

    makeActions();

    CoreHub.heart.addListener(this);
    new Label(this, SWT.NONE);

    lblHeart = new Label(this, SWT.NONE);
    lblHeart.setText(Messages.RemindersComposite_lblHeart_text);
    GridData gd_lblHeart = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1);
    gd_lblHeart.heightHint = 50;
    gd_lblHeart.widthHint = 50;
    lblHeart.setLayoutData(gd_lblHeart);
    new Label(this, SWT.NONE);
    new Label(this, SWT.NONE);
    new Label(this, SWT.NONE);

    lblCheckingForActions = new Label(this, SWT.NONE);
    lblCheckingForActions.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
    lblCheckingForActions.setText(Messages.RemindersComposite_lblCheckingForActions_text);

    treeviewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            TreeViewer viewer = (TreeViewer) event.getViewer();
            IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection();
            Object selectedNode = thisSelection.getFirstElement();
            viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode));
        }
    });

    imageList = Arrays.asList(imgHeart1, imgHeart2, imgHeart3, imgHeartA, imgHeartB, imgHeartC, imgHeartD,
            imgHeartE);

    lblCheckingForActions.setVisible(false);
    lblHeart.setVisible(false);
}

From source file:com.aptana.ide.ui.io.navigator.FileNavigatorView.java

License:Open Source License

@Override
public void createPartControl(Composite aParent) {
    super.createPartControl(aParent);

    getCommonViewer().setLabelProvider(/*from ww w  .  j  ava 2  s .  co  m*/
            new FileNavigatorDecoratingLabelProvider(getNavigatorContentService().createCommonLabelProvider()));
    getCommonViewer().setComparer(new FileSystemElementComparer());
    ColumnViewerToolTipSupport.enableFor(getCommonViewer());

    PreferenceUtils.registerBackgroundColorPreference(getCommonViewer().getControl(),
            "com.aptana.ide.ui.io.background.color.fileView"); //$NON-NLS-1$
    PreferenceUtils.registerForegroundColorPreference(getCommonViewer().getControl(),
            "com.aptana.ide.ui.io.foreground.color.fileView"); //$NON-NLS-1$
}

From source file:com.aptana.ide.ui.io.navigator.RemoteNavigatorView.java

License:Open Source License

@Override
public void createPartControl(Composite aParent) {
    super.createPartControl(aParent);

    getCommonViewer().setLabelProvider(/*from   w  w w.j  a v  a2s .  co  m*/
            new FileNavigatorDecoratingLabelProvider(getNavigatorContentService().createCommonLabelProvider()));
    getCommonViewer().setComparer(new FileSystemElementComparer());
    ColumnViewerToolTipSupport.enableFor(getCommonViewer());

    hookToThemes();

    final Tree tree = getCommonViewer().getTree();
    tree.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseDown(MouseEvent e) {
            if (tree.getItem(new Point(e.x, e.y)) == null) {
                tree.deselectAll();
                tree.notifyListeners(SWT.Selection, new Event());
            }
        }
    });
}

From source file:com.aptana.samples.ui.views.SamplesView.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent) {
    TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.setContentProvider(new SamplesViewContentProvider());
    treeViewer.setLabelProvider(new SamplesViewLabelProvider());
    treeViewer.setInput(getSamplesManager());
    treeViewer.setComparator(new ViewerComparator());
    ColumnViewerToolTipSupport.enableFor(treeViewer);

    return treeViewer;
}

From source file:com.arm.cmsis.config.editors.ConfigEditor.java

License:Open Source License

private void buildTreeViewer(Composite parent) {
    fViewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    Tree tree = fViewer.getTree();/*from  www . jav a  2s .  c  o  m*/
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 3, 1));
    tree.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeItem item = (TreeItem) e.item;
            if (item != null) {
                IConfigWizardItem configItem = getConfigWizardItem(item.getData());
                if (configItem != null) {
                    setCursorAndRevealAt(configItem.getStartLine());
                    showTooltipText(configItem);
                }
            }
        }
    });
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    fColumnAdvisor = new ConfigColumnAdvisor(fViewer);

    TreeViewerColumn column0 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column0.getColumn().setText(Messages.ConfigEditor_Option);
    column0.getColumn().setWidth(320);
    column0.setLabelProvider(new FirstColumnLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column1.getColumn().setText(Messages.ConfigEditor_Value);
    column1.getColumn().setWidth(100);
    column1.setEditingSupport(new AdvisedEditingSupport(fViewer, fColumnAdvisor, COLEDIT));
    column1.setLabelProvider(new AdvisedCellLabelProvider(fColumnAdvisor, COLEDIT));

    // Add an empty column and adjust its width automatically for better looking
    TreeViewerColumn column2 = new TreeViewerColumn(fViewer, SWT.LEFT);
    column2.getColumn().setWidth(1);
    column2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    if (System.getProperty("os.name").startsWith("Windows")) { //$NON-NLS-1$ //$NON-NLS-2$
        parent.addControlListener(new ControlAdapter() {
            @Override
            public void controlResized(ControlEvent e) {
                Tree tree = (Tree) fViewer.getControl();
                Rectangle area = parent.getClientArea();
                Point preferredSize = tree.computeSize(SWT.DEFAULT, SWT.DEFAULT);
                int width = area.width - 2 * tree.getBorderWidth();
                if (preferredSize.y > tree.getBounds().height) {
                    // Subtract the scrollbar width from the total column width
                    // if a vertical scrollbar will be required
                    Point vBarSize = tree.getVerticalBar().getSize();
                    width -= vBarSize.x;
                }
                Point oldSize = tree.getSize();
                if (oldSize.x > area.width) {
                    // tree is getting smaller so make the columns
                    // smaller first and then resize the tree to
                    // match the client area width
                    column2.getColumn().setWidth(Math.max(0,
                            width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10));
                    tree.setSize(area.width, area.height);
                } else {
                    // tree is getting bigger so make the tree
                    // bigger first and then make the columns wider
                    // to match the client area width
                    tree.setSize(area.width, area.height);
                    column2.getColumn().setWidth(Math.max(0,
                            width - column0.getColumn().getWidth() - column1.getColumn().getWidth() - 10));
                }
            }
        });
    }

    fViewer.setContentProvider(new ContentProvider());
    fViewer.setInput(fParser.getConfigWizardRoot());

    ColumnViewerToolTipSupport.enableFor(fViewer);
}