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

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

Introduction

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

Prototype

@Override
    public Control getControl() 

Source Link

Usage

From source file:com.windowtester.eclipse.ui.views.RecorderConsoleView.java

License:Open Source License

private void addContextMenus() {

    final TreeViewer viewer = treeViewer.getTreeViewer();

    MenuManager mm = new MenuManager(MENU_MANAGER_NAME);
    mm.setRemoveAllWhenShown(true);/*from   ww w  . j a va  2  s  .  co  m*/
    mm.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            if (viewer == null)
                return;
            Tree tree = viewer.getTree();
            if (tree == null)
                return;
            final TreeItem[] selection = tree.getSelection();
            if (selection.length == 0) {
                return;
            }
            manager.add(new ContextMenuAction(deleteAction));

            //            manager.add(new Action("Group") {
            //               public void run() {
            //                  super.run();
            //                  System.out.println("DO group!");
            //
            //                  ISemanticEvent[] selected = getSelection();
            //                  IEvent[] events = new IEvent[selected.length];
            //                  for (int i = 0; i < selection.length; i++) {
            //                     events[i] = (IEvent)selected[i];
            //                  }
            //                  IEventGroup group = getPresenter().group(events);                  
            //                  getViewer().setGroupedState(group);
            //
            //               }
            //            });
        }
    });
    mm.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

    Control control = viewer.getControl();
    Menu menu = mm.createContextMenu(control);
    control.setMenu(menu);
    //re-enable if we want to accept contributions
    //      getSite().registerContextMenu(mm, viewer);
}

From source file:de.innot.avreclipse.ui.views.avrdevice.AVRDeviceView.java

License:Open Source License

@Override
public void setFocus() {
    // Passing the focus request to the treeviewer of the selected tab
    CTabItem item = fTabFolder.getSelection();
    if (item != null) {
        TreeViewer tv = (TreeViewer) item.getData();
        tv.getControl().setFocus();
    }//  w w  w .j a va2 s  .c  o m
}

From source file:de.innot.avreclipse.ui.views.avrdevice.AVRDeviceView.java

License:Open Source License

/**
 * Update all tabs./*w  w  w  . j a  v  a2 s. c  om*/
 * <p>
 * One tab for each Category of the device is created. Each tab also gets a
 * <code>TreeViewer</code> associated to it, accessible via the <code>CTabItem.getData()</code>
 * method.
 * </p>
 * <p>
 * If a new tab has the same name as the previously selected tab, it will be selected as well
 * </p>
 */
private void updateTabs(CTabFolder parent, IDeviceDescription device) {

    TreeViewer tv = null;
    CTabItem cti = null;
    String activetabname = null;

    // Remember the name of the active tab
    if (parent.getSelection() != null) {
        activetabname = parent.getSelection().getText();
    }

    List<ICategory> categories = device.getCategories();

    // Strategy: iterate over all elements of the category list, and try to
    // get a CTabItem control from the existing CTabItems. If this fails
    // with an Exception a new CTabItem control is created and added to the
    // internal list fTabs. Also a TreeViewer is created and linked to the
    // tab.
    // After the list has been iterated, any CTabItems that
    // are left over in the list will be disposed.
    int cticounter = 0;
    for (ICategory cat : categories) {
        try {
            cti = fTabs.get(cticounter);
        } catch (IndexOutOfBoundsException ioobe) {
            // Tab did not exist: create a new CTabItem and an associated
            // TreeViewer
            cti = new CTabItem(parent, SWT.NONE);
            tv = createTreeView(parent, cat);
            cti.setData(tv);
            cti.setControl(tv.getControl());
            fTabs.add(cti);
        }
        cti.setText(cat.getName());
        tv = (TreeViewer) cti.getData();
        updateTreeView(tv, cat);
        tv.setInput(cat);

        // Check if this tab should be made active
        if (cat.getName().equals(activetabname)) {
            parent.setSelection(cti);
        }
        cticounter++;
    }

    // dispose and remove any remaining CTabItems and associated TreeViewers
    // The loop will end with an Exception once the last list element has
    // been removed and we try to read the same index again.
    try {
        while (true) {
            cti = fTabs.get(cticounter);
            cti.getControl().dispose();
            cti.dispose();
            fTabs.remove(cticounter); // all remaining items are moved up
        }
    } catch (IndexOutOfBoundsException ioobe) {
        // do nothing, as this exception is expected
    }

    // If no Tab is active then activate the first one
    if (parent.getSelectionIndex() == -1) {
        parent.setSelection(0);
    }

}

From source file:de.loskutov.anyedit.jdt.SelectWorkingSetsAction.java

License:Open Source License

@Override
public void run() {
    if (workingSets == null || workingSets.length == 0) {
        return;//from  w  w  w  .  j a v  a 2 s .c  om
    }
    try {
        IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                .showView(JavaUI.ID_PACKAGES);
        if (!(part instanceof PackageExplorerPart)) {
            return;
        }
        PackageExplorerPart viewPart = (PackageExplorerPart) part;
        int showWS = PackageExplorerPart.WORKING_SETS_AS_ROOTS;
        if (viewPart.getRootMode() != showWS) {
            viewPart.rootModeChanged(showWS);
        }
        WorkingSetModel workingSetModel = viewPart.getWorkingSetModel();
        IWorkingSet[] active = workingSetModel.getActiveWorkingSets();
        List<IWorkingSet> all = new ArrayList<IWorkingSet>();
        for (int i = 0; i < active.length; i++) {
            all.add(active[i]);
        }
        IWorkingSet[] existing = workingSetModel.getAllWorkingSets();
        for (int i = 0; i < workingSets.length; i++) {
            IWorkingSet set = workingSets[i];
            set = lookupName(existing, set);
            if (set != null && !all.contains(set)) {
                all.add(set);
            }
        }
        if (all.size() > 0) {
            workingSetModel.setActiveWorkingSets(all.toArray(new IWorkingSet[all.size()]));
            TreeViewer viewer = viewPart.getTreeViewer();
            viewer.getControl().setRedraw(false);
            viewer.refresh();
            viewer.getControl().setRedraw(true);
        }
    } catch (PartInitException e) {
        AnyEditToolsPlugin.logError(null, e);
    }
}

From source file:de.ovgu.featureide.ui.ahead.views.outline.JakOutlinePage.java

License:Open Source License

/**
 * Updates the outline page./*from   w  w  w . j a  v  a2 s. c  o m*/
 */
public void update() {
    TreeViewer viewer = getTreeViewer();

    if (viewer != null) {
        Control control = viewer.getControl();
        if (control != null && !control.isDisposed()) {
            control.setRedraw(false);
            viewer.setInput(fInput);
            viewer.expandAll();
            control.setRedraw(true);
        }
    }
}

From source file:de.quamoco.qm.editor.hierarchyviews.HierarchyMenuProvider.java

License:Apache License

/** Create the context menu for the {@link TreeViewer}. */
public void createContextMenu(TreeViewer treeViewer, IWorkbenchPartSite site) {
    this.treeViewer = treeViewer;

    MenuManager contextMenu = new MenuManager("#PopUp");
    contextMenu.add(new Separator(ADDITIONS));
    contextMenu.setRemoveAllWhenShown(true);

    Menu menu = contextMenu.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);

    site.registerContextMenu(contextMenu, new UnwrappingSelectionProvider(treeViewer));
    contextMenu.addMenuListener(this);
}

From source file:de.tobject.findbugs.actions.FindBugsAction.java

License:Open Source License

protected static void refreshViewer(IWorkbenchPart targetPart, final List<WorkItem> resources) {
    if (targetPart == null) {
        return;/*w  w  w .  jav a 2 s .c o m*/
    }
    ISelectionProvider selProvider = (ISelectionProvider) targetPart.getAdapter(ISelectionProvider.class);
    if (!(selProvider instanceof TreeViewer)) {
        return;
    }
    final TreeViewer viewer = (TreeViewer) selProvider;
    Display.getDefault().asyncExec(new Runnable() {
        public void run() {
            if (viewer.getControl().isDisposed()) {
                return;
            }
            for (WorkItem workItem : resources) {
                if (workItem.getMarkerTarget() instanceof IProject) {
                    // this element has to be refreshed manually, because
                    // there is no one real
                    // resource associated with it => no resource change
                    // notification after
                    // creating a marker...
                    viewer.refresh(workItem.getCorespondingJavaElement(), true);
                }
            }
        }
    });
}

From source file:de.topicmapslab.kuria.swtgenerator.tree.TreeGenerator.java

License:Apache License

public TreeViewer generateTree(Composite parent, boolean showRoot, final IContextMenuListener listener) {
    TreeViewer viewer = new TreeViewer(parent) {
        @Override/*  w  ww. j a v  a  2  s. c  o  m*/
        public void refresh() {
            ((TreeBindingContentProvider) getContentProvider()).setReturnRoot(true);
            super.refresh();
        }
    };

    viewer.setContentProvider(new TreeBindingContentProvider(showRoot));
    viewer.setLabelProvider(new TextBindingLabelProvider(bindingContainer) {

        @Override
        public String getText(Object element) {
            if (element instanceof MediatorNode) {
                return ((MediatorNode) element).getTitle();
            }
            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof MediatorNode) {
                String image = ((MediatorNode) element).getImage();
                if (image != null)
                    return ImageRegistry.getImage(image);
            } else {

                ITreeNodeBinding tnb = bindingContainer.getTreeNodeBinding(element.getClass());

                if ((tnb != null) && (tnb.getImage(element) != null))
                    return ImageRegistry.getImage(tnb.getImage(element));
            }
            return null;
        }
    });

    if (listener != null) {
        MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
        menuMgr.setRemoveAllWhenShown(true);
        menuMgr.addMenuListener(new IMenuListener() {
            public void menuAboutToShow(IMenuManager manager) {
                listener.createMenu(manager);
            }
        });
        Menu menu = menuMgr.createContextMenu(viewer.getControl());
        viewer.getControl().setMenu(menu);
    }

    return viewer;
}

From source file:de.walware.ecommons.ui.util.ViewerUtil.java

License:Open Source License

public static void scheduleStandardSelection(final TreeViewer viewer) {
    viewer.getControl().getDisplay().asyncExec(new Runnable() {
        @Override// www . j  ava  2s.c o m
        public void run() {
            final ISelection selection = viewer.getSelection();
            if (selection.isEmpty()) {
                if (viewer.getTree().getItemCount() > 0) {
                    final TreeItem item = viewer.getTree().getItem(0);
                    viewer.setSelection(new TreeSelection(new TreePath(new Object[] { item.getData() })));
                    viewer.setExpandedState(item.getData(), true);
                } else {
                    viewer.setSelection(new StructuredSelection());
                }
            }
        }
    });
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private void createDetailRef(final Composite parent, final int type) {
    {/*from w  w  w.j  a  v a 2  s  .  com*/
        final Label label = new Label(parent, SWT.NONE);
        label.setText((type == 0) ? "Dependencies:" : "Reverse:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    }

    final TreeViewer viewer = new TreeViewer(parent, (SWT.BORDER | SWT.SINGLE));
    if (type == 0) {
        fDetailDepTable = viewer;
    } else {
        fDetailRevTable = viewer;
    }
    {
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
        gd.heightHint = LayoutUtil.hintHeight(viewer.getTree(), 12);
        gd.widthHint = fDialog.hintWidthInChars(20);
        viewer.getControl().setLayoutData(gd);
    }

    viewer.setContentProvider(new DetailGroup.ContentProvider(5) {
        private static final int DEPENDS = 0;
        private static final int IMPORTS = 1;
        private static final int LINKINGTO = 2;
        private static final int SUGGESTS = 3;
        private static final int ENHANCES = 4;
        {
            fGroups[DEPENDS] = new DetailGroup(0, "Depends");
            fGroups[IMPORTS] = new DetailGroup(1, "Imports");
            fGroups[LINKINGTO] = new DetailGroup(2, "Linking To");
            fGroups[SUGGESTS] = new DetailGroup(3, "Suggests");
            fGroups[ENHANCES] = new DetailGroup(4, "Enhances");
        }

        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
            if (newInput instanceof IRPkgData) {
                final IRPkgData pkg = (IRPkgData) newInput;
                fGroups[DEPENDS].setList(pkg.getDepends());
                fGroups[IMPORTS].setList(pkg.getImports());
                fGroups[LINKINGTO].setList(pkg.getLinkingTo());
                fGroups[SUGGESTS].setList(pkg.getSuggests());
                fGroups[ENHANCES].setList(pkg.getEnhances());
            } else {
                fGroups[DEPENDS].clearList();
                fGroups[IMPORTS].clearList();
                fGroups[LINKINGTO].clearList();
                fGroups[SUGGESTS].clearList();
                fGroups[ENHANCES].clearList();
            }
        }
    });
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    viewer.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof DetailGroup) {
                cell.setText(((DetailGroup) element).getLabel());
                cell.setStyleRanges(null);
                return;
            } else if (element instanceof IRPkg) {
                final IRPkg pkg = (IRPkg) element;
                final StyledString text = new StyledString();
                text.append(pkg.getName());
                final String version = pkg.getVersion().toString();
                if (!version.isEmpty()) {
                    text.append(" (", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                    text.append(version, StyledString.QUALIFIER_STYLER);
                    text.append(")", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                }
                cell.setText(text.getString());
                cell.setStyleRanges(text.getStyleRanges());
                return;
            }
            throw new IllegalStateException();
        }
    });

    viewer.setInput(NO_INPUT);

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element instanceof IRPkg) {
                showPkg(((IRPkg) element).getName());
            }
        }
    });
}