Example usage for org.eclipse.jface.viewers TreeViewer getTree

List of usage examples for org.eclipse.jface.viewers TreeViewer getTree

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewer getTree.

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

/**
 * Configures the tree viewer./*  w  w w.j a  v a 2 s . c  om*/
 * 
 * @param treeViewer
 *            the tree viewer to config.
 */
protected void configTreeViewer(final TreeViewer treeViewer) {
    ViewsTreeProvider provider = (ViewsTreeProvider) ElementAdapterManager.getAdapter(this,
            ViewsTreeProvider.class);
    if (provider == null)
        provider = new LibraryExplorerProvider();

    treeViewer.setContentProvider(provider);
    treeViewer.setLabelProvider(provider);

    // Adds drag and drop support
    int ops = DND.DROP_COPY | DND.DROP_LINK;
    Transfer[] transfers = new Transfer[] { TemplateTransfer.getInstance() };
    treeViewer.addDragSupport(ops, transfers, new LibraryDragListener(treeViewer));

    treeViewer.getControl().addKeyListener(new KeyListener() {

        public void keyPressed(KeyEvent e) {

        }

        public void keyReleased(KeyEvent e) {
            if (e.keyCode == SWT.F5) {
                treeViewer.refresh();
            }
        }
    });

    treeViewer.getTree().addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            Object input = treeViewer.getInput();
            if (input instanceof Object[]) {
                Object[] array = (Object[]) input;
                for (int i = 0; i < array.length; i++) {
                    if (array[i] instanceof ResourceEntry)
                        ((ResourceEntry) array[i]).dispose();
                }

            }
        }

    });

    TreeListener libraryTreeListener = new TreeListener() {

        public void treeCollapsed(TreeEvent e) {
            Item item = (Item) e.item;
            if (libraryBackup != null)
                libraryBackup.updateCollapsedStatus(treeViewer, item.getData());

        }

        public void treeExpanded(TreeEvent e) {
            Item item = (Item) e.item;
            if (libraryBackup != null)
                libraryBackup.updateExpandedStatus(treeViewer, item.getData());
        }

    };
    treeViewer.getTree().addTreeListener(libraryTreeListener);
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org
         * .eclipse.jface.viewers.DoubleClickEvent)
         */
        public void doubleClick(DoubleClickEvent event) {
            handleDoubleClick(event);
        }
    });

    treeViewer.addOpenListener(new IOpenListener() {

        /*
         * (non-Javadoc)
         * 
         * @see
         * org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org
         * .eclipse.jface.viewers.DoubleClickEvent)
         */
        public void open(OpenEvent event) {
            try {
                handleOpen(event);
            } catch (IOException e) {
                ExceptionUtil.handle(e);
            }
        }
    });
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

public void elementValidated(DesignElementHandle targetElement, ValidationEvent ev) {
    TreeViewer treeViewer = getTreeViewer();

    if (treeViewer != null && !treeViewer.getTree().isDisposed()) {
        treeViewer.refresh();//from   w  ww .  jav  a2 s  .  c  o  m
        treeViewer.setInput(getRootEntries());
        handleTreeViewerRefresh();
    }
}

From source file:org.eclipse.birt.report.designer.ui.lib.explorer.LibraryExplorerTreeViewPage.java

License:Open Source License

public void refreshRoot() {
    TreeViewer treeViewer = getTreeViewer();

    if (treeViewer != null && !treeViewer.getTree().isDisposed()) {
        ISelection selection = getSelection();

        treeViewer.setSelection(null);/*from   w  w  w  .j a  v a  2  s. co  m*/
        treeViewer.setInput(getRootEntries());
        handleTreeViewerRefresh();
        if (selection != null) {
            setSelection(selection);
        }
    }
}

From source file:org.eclipse.bpel.common.wsdl.wizards.UriResourceImportWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    Composite container = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    container.setLayout(layout);//from  w w w  . ja v  a  2  s . c  o m
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    // WSDL field
    Label l = new Label(container, SWT.NONE);
    l.setText(this.shortName + " URI:");

    GridData layoutData = new GridData();
    layoutData.verticalIndent = 6;
    layoutData.horizontalSpan = 2;
    l.setLayoutData(layoutData);

    final Text text = new Text(container, SWT.BORDER | SWT.SINGLE);
    text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    text.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            String uri = text.getText();
            if (uri.trim().length() == 0)
                return;

            try {
                UriResourceImportWizardPage.this.uri = UriAndUrlHelper.urlToUri(uri);

            } catch (Exception e1) {
                UriResourceImportWizardPage.this.uri = null;
            }

            validate();
        }
    });

    if (this.initialUri != null)
        text.setText(this.initialUri);

    Button b = new Button(container, SWT.PUSH);
    b.setText("Browse...");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {

            FileDialog dlg = new FileDialog(text.getShell(), SWT.SINGLE);
            dlg.setFilterNames(UriResourceImportWizardPage.this.filterNames);
            dlg.setFilterExtensions(UriResourceImportWizardPage.this.filterExtensions);
            String path = dlg.open();

            if (path != null) {
                String uri = new File(path).toURI().toString();
                text.setText(uri);
                text.setSelection(uri.length());
                text.setFocus();
            }
        }
    });

    // Container selection
    l = new Label(container, SWT.NONE);
    l.setText("Select the container in which the " + this.shortName + " will be imported.");

    layoutData = new GridData();
    layoutData.verticalIndent = 10;
    layoutData.horizontalSpan = 2;
    l.setLayoutData(layoutData);

    TreeViewer viewer = new TreeViewer(container, SWT.SINGLE | SWT.V_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.heightHint = 200;
    layoutData.horizontalSpan = 2;
    viewer.getTree().setLayoutData(layoutData);
    viewer.setLabelProvider(new WorkbenchLabelProvider());

    viewer.setContentProvider(new WorkbenchContentProvider() {
        @Override
        public Object[] getChildren(Object o) {

            if (o instanceof IContainer) {
                IResource[] members;
                try {
                    members = ((IContainer) o).members();
                } catch (Exception e) {
                    return new Object[0];
                }

                ArrayList<IResource> results = new ArrayList<IResource>();
                for (IResource member : members) {
                    if (member instanceof IContainer)
                        results.add(member);
                }

                return results.toArray();
            }

            return new Object[0];
        }
    });

    // Set page input
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    viewer.setInput(root);
    if (this.outputContainer != null) {
        viewer.setSelection(new StructuredSelection(this.outputContainer), true);
        viewer.expandToLevel(this.outputContainer, 1);
        viewer.reveal(this.outputContainer.getProject());
    }

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

            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            if (!s.isEmpty())
                UriResourceImportWizardPage.this.outputContainer = (IContainer) s.getFirstElement();
            else
                UriResourceImportWizardPage.this.outputContainer = null;
            validate();
        }
    });

    text.setFocus();
    setControl(container);
}

From source file:org.eclipse.bpel.ui.wizards.NewBpelFilePortTypePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    // Create the container
    final Composite container = new Composite(parent, SWT.NONE);
    container.setFont(parent.getFont());
    initializeDialogUnits(parent);//from   w  w  w.j  a v a  2s . com
    container.setLayout(new GridLayout(2, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    setControl(container);

    // WSDL location (as an URL)
    Label l = new Label(container, SWT.NONE);
    l.setText("WSDL URL:");
    l.setToolTipText("The URL of the service description (WSDL)");
    l.setLayoutData(new GridData(SWT.TOP, SWT.DEFAULT, false, false));

    final Text wsdlUrlText = new Text(container, SWT.SINGLE | SWT.BORDER);
    wsdlUrlText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    wsdlUrlText.setToolTipText("Press the 'Tab' key to parse this WSDL");
    if (this.wsdlUrl != null)
        wsdlUrlText.setText(this.wsdlUrl);

    wsdlUrlText.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            NewBpelFilePortTypePage.this.wsdlUrl = ((Text) e.widget).getText();
            updateStatus();
        }
    });

    final ControlDecoration wsdlTextDecoration = new ControlDecoration(wsdlUrlText, SWT.LEFT | SWT.BOTTOM);
    wsdlTextDecoration
            .setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK));
    wsdlTextDecoration.setDescriptionText(wsdlUrlText.getToolTipText());
    wsdlTextDecoration.hide();

    // Helpers to browse for WSDL files
    new Label(container, SWT.NONE); // Bad but so convenient!
    Composite subContainer = new Composite(container, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    layout.marginBottom = 13;
    subContainer.setLayout(layout);
    subContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    new Label(subContainer, SWT.NONE).setImage(this.fileSystemImg);
    Link browseFileSystemLink = new Link(subContainer, SWT.NONE);
    browseFileSystemLink.setText("<A>Browse the file system...</A>");

    new Label(subContainer, SWT.NONE).setImage(this.workspaceImg);
    Link browseWorkspaceLink = new Link(subContainer, SWT.NONE);
    browseWorkspaceLink.setText("<A>Browse the workspace...</A>");

    new Label(subContainer, SWT.NONE).setImage(this.parseImg);
    Link parseWsdlLink = new Link(subContainer, SWT.NONE);
    parseWsdlLink.setText("<A>Parse the given WSDL</A>");

    // Port type to use for the generation
    l = new Label(container, SWT.NONE);
    l.setText("Service Contract:");
    l.setToolTipText("The port type (service contract) to implement with BPEL");

    final ComboViewer portTypeCombo = new ComboViewer(container, SWT.BORDER | SWT.DROP_DOWN | SWT.READ_ONLY);
    portTypeCombo.getCombo().setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    portTypeCombo.setContentProvider(new ArrayContentProvider());
    portTypeCombo.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            QName name = ((PortType) element).getQName();
            return name.getLocalPart() + " - " + name.getNamespaceURI();
        }
    });

    // The button to import the WSDL
    new Label(container, SWT.NONE);
    Button importButton = new Button(container, SWT.CHECK);
    importButton.setText("Import the WSDL file with its dependencies");
    importButton.setSelection(this.importWsdl);
    importButton.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            NewBpelFilePortTypePage.this.importWsdl = ((Button) e.widget).getSelection();
        }
    });

    // The viewer for a quick overview of the operations
    subContainer = new Composite(container, SWT.NONE);
    layout = new GridLayout();
    layout.marginWidth = 0;
    layout.marginTop = 11;
    subContainer.setLayout(layout);
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 2;
    subContainer.setLayoutData(layoutData);

    l = new Label(subContainer, SWT.NONE);
    l.setText("Select a service contract (port type) and see its operations below.");

    final TreeViewer operationsViewer = new TreeViewer(subContainer, SWT.BORDER);
    operationsViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    operationsViewer.setLabelProvider(new LabelProvider() {
        @Override
        public Image getImage(Object element) {

            Image result = null;
            if (element instanceof Operation)
                result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_OPERATION_16);
            else if (element instanceof Input)
                result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_INPUT_16);
            else if (element instanceof Output)
                result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_OUTPUT_16);
            else if (element instanceof Fault)
                result = BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_FAULT_16);

            return result;
        }

        @Override
        public String getText(Object element) {

            String result = "";
            if (element instanceof Operation) {
                result = ((Operation) element).getName();
                result = result == null || result.trim().length() == 0 ? "?" : result;

            } else if (element instanceof Input) {
                result = ((Input) element).getName();
                result = result == null || result.trim().length() == 0 ? "Input" : result;

            } else if (element instanceof Output) {
                result = ((Output) element).getName();
                result = result == null || result.trim().length() == 0 ? "Output" : result;

            } else if (element instanceof Fault) {
                result = ((Fault) element).getName();
                result = result == null || result.trim().length() == 0 ? "Fault" : result;
            }

            return result;
        }
    });

    operationsViewer.setContentProvider(new ITreeContentProvider() {
        @Override
        public void dispose() {
            // nothing
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // nothing
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return ((PortType) inputElement).getOperations().toArray();
        }

        @SuppressWarnings("unchecked")
        @Override
        public Object[] getChildren(Object pa) {

            List<Object> result = new ArrayList<Object>();
            if (pa instanceof Operation) {
                Operation op = (Operation) pa;
                if (op.getInput() != null)
                    result.add(op.getInput());

                if (op.getOutput() != null)
                    result.add(op.getOutput());

                if (op.getFaults() != null)
                    result.addAll(op.getFaults().values());
            }

            return result.toArray();
        }

        @Override
        public Object getParent(Object element) {
            return null;
        }

        @Override
        public boolean hasChildren(Object element) {
            return element instanceof Operation;
        }
    });

    // Listeners
    portTypeCombo.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            NewBpelFilePortTypePage.this.portType = (PortType) ((IStructuredSelection) portTypeCombo
                    .getSelection()).getFirstElement();
            operationsViewer.setInput(NewBpelFilePortTypePage.this.portType);
            operationsViewer.refresh();

            if (NewBpelFilePortTypePage.this.portType != null) {
                if (NewBpelFilePortTypePage.this.portType.getOperations().size() < 4)
                    operationsViewer.expandAll();
                else
                    operationsViewer.expandToLevel(2);
            }

            updateStatus();
        }
    });

    // WSDL parsing
    final List<PortType> portTypes = new ArrayList<PortType>();
    final IRunnableWithProgress wsdlParsingOperation = new IRunnableWithProgress() {
        @Override
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {

            monitor.beginTask("Parsing the WSDL...", 5);
            try {
                portTypes.clear();
                monitor.worked(1);

                URI emfUri = URI.createURI(NewBpelFilePortTypePage.this.wsdlUrl);
                Collection<Definition> definitions = WsdlParser.loadAllWsdlDefinitions(emfUri,
                        WsdlParser.createBasicResourceSetForWsdl());
                for (Definition def : definitions) {
                    for (Object o : def.getPortTypes().values())
                        portTypes.add((PortType) o);
                }

                monitor.worked(3);

            } finally {
                monitor.done();
            }
        }
    };

    wsdlUrlText.addTraverseListener(new TraverseListener() {
        @Override
        public void keyTraversed(TraverseEvent e) {

            if (NewBpelFilePortTypePage.this.wsdlUrl == null)
                return;

            try {
                // Parse
                getContainer().run(true, false, wsdlParsingOperation);

                // Update the UI
                portTypeCombo.setInput(portTypes);
                portTypeCombo.refresh();
                if (portTypes.size() > 0)
                    portTypeCombo.getCombo().select(0);
                portTypeCombo.getCombo().notifyListeners(SWT.Selection, new Event());

            } catch (InvocationTargetException e1) {
                BPELUIPlugin.log(e1);

            } catch (InterruptedException e1) {
                BPELUIPlugin.log(e1);
            }
        }
    });

    wsdlUrlText.addFocusListener(new FocusListener() {
        @Override
        public void focusLost(FocusEvent e) {
            wsdlTextDecoration.hide();
        }

        @Override
        public void focusGained(FocusEvent e) {
            wsdlTextDecoration.show();
        }
    });

    // "Browse" call-backs
    browseFileSystemLink.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            FileDialog dlg = new FileDialog(getShell());
            dlg.setFilterExtensions(new String[] { "*.wsdl" });
            dlg.setFilterNames(new String[] { "WSDL (*.wsdl)" });
            dlg.setText("Select a service description (WSDL).");

            String path = dlg.open();
            if (path != null) {
                File f = new File(path);
                wsdlUrlText.setText(f.toURI().toString());
                wsdlUrlText.notifyListeners(SWT.Traverse, new Event());
            }
        }
    });

    parseWsdlLink.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            wsdlUrlText.notifyListeners(SWT.Traverse, new Event());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            wsdlUrlText.notifyListeners(SWT.Traverse, new Event());
        }
    });

    browseWorkspaceLink.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {

            // Prepare the initial selection
            IFile currentWsdl = null;
            if (NewBpelFilePortTypePage.this.wsdlUrl != null) {
                try {
                    java.net.URI uri = UriAndUrlHelper.urlToUri(NewBpelFilePortTypePage.this.wsdlUrl);
                    File f = new File(uri);
                    IPath path = new Path(f.getAbsolutePath());
                    currentWsdl = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);

                } catch (Exception e1) {
                    BPELUIPlugin.log(e1, IStatus.WARNING);
                }
            }

            // Open a dialog that only shows the WSDL files in the workspace - and their ancestors/containers
            final List<IFile> workspaceWsdlFiles = getFiles("wsdl",
                    Arrays.asList(ResourcesPlugin.getWorkspace().getRoot()));
            ElementTreeSelectionDialog dlg = new ElementTreeSelectionDialog(getShell(),
                    new WorkbenchLabelProvider(), new WorkbenchContentProvider() {

                        @Override
                        public Object[] getChildren(Object element) {

                            Object[] result = super.getChildren(element);
                            if (result == null)
                                result = new Object[0];

                            List<Object> filteredResult = new ArrayList<Object>();
                            for (Object o : result) {
                                if (o instanceof IFile && workspaceWsdlFiles.contains(o))
                                    filteredResult.add(o);

                                else if (o instanceof IContainer) {
                                    IPath containerPath = ((IContainer) o).getFullPath();
                                    for (IFile wsdlFile : workspaceWsdlFiles) {
                                        if (containerPath.isPrefixOf(wsdlFile.getFullPath())) {
                                            filteredResult.add(o);
                                            break;
                                        }
                                    }
                                }
                            }

                            return filteredResult.toArray();
                        }
                    });

            dlg.setInput(ResourcesPlugin.getWorkspace().getRoot());
            dlg.setTitle("WSDL Selection");
            dlg.setMessage("Select a WSDL file located in the workspace.");
            if (currentWsdl != null)
                dlg.setInitialElementSelections(Arrays.asList(currentWsdl));

            // Open it and update the text widget if necessary
            if (dlg.open() == Window.OK) {
                IFile selectedFile = (IFile) dlg.getResult()[0];
                wsdlUrlText.setText(selectedFile.getLocation().toFile().toURI().toString());
                wsdlUrlText.notifyListeners(SWT.Traverse, new Event());
            }
        }
    });

    // Initialize the port type...
    if (this.portType != null)
        portTypeCombo.setSelection(new StructuredSelection(this.portType));

    else if (portTypeCombo.getCombo().getItemCount() > 0) {
        portTypeCombo.getCombo().select(0);
        portTypeCombo.getCombo().notifyListeners(SWT.Selection, new Event());
    }

    // ... and the page's state
    updateStatus();
    if (getErrorMessage() != null) {
        setPageComplete(false);
        setErrorMessage(null);
    }
}

From source file:org.eclipse.buildship.ui.view.execution.ExecutionPage.java

License:Open Source License

private void registerContextMenu(PageSite pageSite) {
    TreeViewer treeViewer = getPageControl().getViewer();
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(createContextMenuListener(treeViewer));
    Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree());
    treeViewer.getTree().setMenu(contextMenu);
    pageSite.getViewSite().registerContextMenu(menuManager, treeViewer);
}

From source file:org.eclipse.buildship.ui.view.task.UiContributionManager.java

License:Open Source License

private void registerContextMenu() {
    TreeViewer treeViewer = this.taskView.getTreeViewer();
    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new ActionShowingContextMenuListener(this.taskView, this.contextMenuActions,
            this.contextMenuActionsPrecededBySeparator, this.contextMenuActionsSucceededBySeparator));
    Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree());
    treeViewer.getTree().setMenu(contextMenu);
    this.taskView.getViewSite().registerContextMenu(menuManager, treeViewer);
}

From source file:org.eclipse.cdt.arduino.ui.internal.downloads.SelectLibrariesDialog.java

License:Open Source License

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

    libraryTree = new LibraryTree(comp);
    libraryTree.setLayoutData(new GridData(GridData.FILL_BOTH));
    libraryTree.setIncludePlatforms(false);
    libraryTree.getViewer().setInput(libraries);

    FormTextHoverManager hoverManager = new FormTextHoverManager() {
        @Override//ww  w.j  a v  a2 s . c  o m
        protected void computeInformation() {
            TreeViewer viewer = libraryTree.getViewer();
            Tree tree = viewer.getTree();
            TreeItem item = tree.getItem(getHoverEventLocation());
            if (item != null) {
                Object data = item.getData();
                if (data instanceof ArduinoLibrary) {
                    ArduinoLibrary library = (ArduinoLibrary) data;
                    setInformation(library.toFormText(), item.getBounds());
                }
            } else {
                setInformation(null, null);
            }
        }
    };
    hoverManager.install(libraryTree.getViewer().getTree());

    applyDialogFont(comp);
    return comp;
}

From source file:org.eclipse.cdt.arduino.ui.internal.LibraryTree.java

License:Open Source License

public LibraryTree(Composite parent) {
    super(parent, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL, new LibPatternFilter(), true);

    TreeViewer viewer = getViewer();
    viewer.setContentProvider(new ContentProvider());
    viewer.setLabelProvider(new LabelProvider());

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);/*w  w w . ja v  a 2 s.c  o  m*/
    TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
    column1.setText("Library");
    column1.setWidth(200);
    TreeColumn column2 = new TreeColumn(tree, SWT.LEFT);
    column2.setText("Version");
    column2.setWidth(100);
    TreeColumn column3 = new TreeColumn(tree, SWT.LEFT);
    column3.setText("Description");
    column3.setWidth(300);
}

From source file:org.eclipse.cdt.cpp.ui.internal.editor.contentoutliner.CppContentOutlinePage.java

License:Open Source License

public void createControl(Composite parent) {
    super.createControl(parent);
    CppPlugin plugin = CppPlugin.getDefault();
    DataStore ds = plugin.getCurrentDataStore();

    TreeViewer treeViewer = getTreeViewer();
    treeViewer.setLabelProvider(//from   w  ww . ja  va  2s.c  o m
            new DataElementLabelProvider(plugin.getImageRegistry(), CppActionLoader.getInstance()));

    DataElementTreeContentProvider provider = new DataElementTreeContentProvider();
    provider.setProperty(ds.getContentsRelation());
    treeViewer.setContentProvider(provider);

    IAdaptable adp = getContentOutline(_input);
    if (adp != null) {
        setViewInput((DataElement) adp);
    }

    treeViewer.getTree().addListener(SWT.Expand, this);
    ds.getDomainNotifier().addDomainListener(this);

    getControl().addKeyListener(new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            handleKeyPressed(e);
        }
    });

    _api = plugin.getModelInterface();
    CppProjectNotifier notifier = _api.getProjectNotifier();
    notifier.addProjectListener(this);

    // menu
    // add menu handling
    MenuManager menuMgr = new MenuManager("#PopupMenu");
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(this);
    Menu menu = menuMgr.createContextMenu(treeViewer.getTree());
    treeViewer.getTree().setMenu(menu);
}