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:org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.TreeMasterDetailSWTRenderer.java

License:Open Source License

/**
 * @param treeViewer/*  ww  w .  ja v a2s .co  m*/
 * @param editingDomain
 */
private void fillContextMenu(final TreeViewer treeViewer, final EditingDomain editingDomain) {
    final ChildrenDescriptorCollector childrenDescriptorCollector = new ChildrenDescriptorCollector();

    final MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            if (treeViewer.getSelection().isEmpty()) {
                return;
            }

            final Object root = ((RootObject) treeViewer.getInput()).getRoot();

            if (treeViewer.getSelection() instanceof IStructuredSelection) {
                final IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection();

                if (selection.size() == 1) {
                    final EObject eObject = (EObject) selection.getFirstElement();
                    final Collection<?> descriptors = childrenDescriptorCollector.getDescriptors(eObject);
                    fillContextMenu(manager, descriptors, editingDomain, eObject);
                }
                if (!selection.toList().contains(root)) {
                    manager.add(new Separator(GLOBAL_ADDITIONS));
                    addDeleteActionToContextMenu(editingDomain, manager, selection);
                }

            }
        }

    });
    final Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    treeViewer.getControl().setMenu(menu);
}

From source file:org.eclipse.emf.eson.ui.editor.tree.EFactoryWithTreeEditor.java

License:Open Source License

private void createContextMenuFor(TreeViewer viewer) {
    MenuManager contextMenu = new MenuManager("#PopUp");
    contextMenu.add(new Separator("additions"));
    contextMenu.setRemoveAllWhenShown(true);
    contextMenu.addMenuListener(this);
    Menu menu = contextMenu.createContextMenu(viewer.getControl());
    viewer.getControl().setMenu(menu);//from  w  w  w.  j a  v  a  2s .com
    getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));

    int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
    Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(),
            FileTransfer.getInstance() };
    viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
    viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
}

From source file:org.eclipse.emf.example.databinding.project.ui.rcp.views.ProjectExplorerPart.java

License:Open Source License

private TreeViewer init(Composite parent, Foundation foundation) {
    TreeViewer viewer = new TreeViewer(parent);

    ObservableListTreeContentProvider cp = new ObservableListTreeContentProvider(new TreeFactoryImpl(),
            new TreeStructureAdvisorImpl());
    viewer.setContentProvider(cp);/* w  w  w.  j  a v a  2s .c  o  m*/

    IObservableSet set = cp.getKnownElements();

    IObservableMap[] map = new IObservableMap[4];
    map[0] = EMFProperties.value(ProjectPackage.Literals.PROJECT__SHORTNAME).observeDetail(set);
    map[1] = EMFProperties.value(ProjectPackage.Literals.PROJECT__COMMITTERS).observeDetail(set);
    map[2] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON,
            ProjectPackage.Literals.PERSON__FIRSTNAME)).observeDetail(set);
    map[3] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON,
            ProjectPackage.Literals.PERSON__LASTNAME)).observeDetail(set);

    viewer.setLabelProvider(new TreeLabelProviderImpl(map));

    IEMFListProperty projects = EMFProperties.list(ProjectPackage.Literals.FOUNDATION__PROJECTS);
    viewer.setInput(projects.observe(foundation));

    MenuManager mgr = new MenuManager();
    mgr.add(new GroupMarker("additions"));
    viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl()));

    site.registerContextMenu(Activator.PLUGIN_ID + ".projectexp", mgr, viewer);
    site.setSelectionProvider(viewer);

    ColumnViewerToolTipSupportImpl.enableFor(viewer, toolkit);

    IObservableValue treeObs = ViewerProperties.singleSelection().observe(viewer);
    treeObs.addValueChangeListener(new IValueChangeListener() {

        public void handleValueChange(ValueChangeEvent event) {
            ISourceProviderService s = (ISourceProviderService) site.getService(ISourceProviderService.class);
            ResourceProvider p = (ResourceProvider) s.getSourceProvider(ResourceProvider.MODEL_RESOURCE_NAME);

            if (event.diff.getNewValue() instanceof Project) {
                Project pr = (Project) event.diff.getNewValue();
                master.setValue(pr);
                p.setCommitter(null);
                p.setProject(pr);
            } else if (event.diff.getNewValue() != null) {
                CommitterShip cm = (CommitterShip) event.diff.getNewValue();
                master.setValue(cm.getProject());
                p.setCommitter(cm);
                p.setProject(cm.getProject());
            } else {
                p.setCommitter(null);
                p.setProject(null);
            }
        }
    });

    return viewer;
}

From source file:org.eclipse.emf.henshin.editor.util.HtmlTipSupport.java

License:Open Source License

protected HtmlTipSupport(TreeViewer viewer) {
    this.viewer = viewer;
    tipProvider = (IToolTipProvider) viewer.getLabelProvider();
    viewer.getControl().setToolTipText(""); //$NON-NLS-1$
    this.viewer.getTree().addMouseTrackListener(new MouseTrackAdapter() {
        public void mouseHover(MouseEvent e) {
            showInfo(e);//from   w  w  w. j  av  a  2 s .  c  o  m
        }
    });

    this.viewer.getTree().addMouseMoveListener(new MouseMoveListener() {
        public void mouseMove(MouseEvent e) {
            if (!infoVisible || !hideOnMouseExitEnabled)
                return;
            if (getItem(e) == currentItem)
                return;
            Rectangle bounds = tipShell.getBounds();
            bounds.x -= 5;
            bounds.y -= 5;
            bounds.width += 10;
            bounds.height += 10;
            Point position = toDisplay(new Point(e.x, e.y));
            if (bounds.contains(position))
                return;
            //System.out.println("mouse move on tree");
            hideInfo();
        }
    });

    this.viewer.getTree().addFocusListener(new FocusAdapter() {

        @Override
        public void focusLost(FocusEvent e) {
            if (shellManagesHiding) {
                hideInfo();
            }

            // Shell fShell = e.display.getActiveShell();
            // if (fShell == tipShell) {
            // setHideOnMouseExit(false);
            // return;
            // }
            // hideInfo();
        }
    });
}

From source file:org.eclipse.emfforms.internal.editor.ecore.EcoreEditorTMDCustomization.java

License:Open Source License

/**
 * Constructs a new {@link EcoreEditorTMDCustomization}.
 *
 * @param createElementCallback the {@link CreateElementCallback}
 *//*from w  w  w  .ja  v  a 2s.  c o  m*/
public EcoreEditorTMDCustomization(final CreateElementCallback createElementCallback) {
    setMenu(new MenuProvider() {
        @Override
        public Menu getMenu(TreeViewer treeViewer, EditingDomain editingDomain) {
            final MenuManager menuMgr = new MenuManager();
            menuMgr.setRemoveAllWhenShown(true);
            menuMgr.addMenuListener(
                    new EcoreEditorMenuListener(new ChildrenDescriptorCollector(), menuMgr, treeViewer,
                            editingDomain, Collections.<MasterDetailAction>emptyList(), createElementCallback));
            final Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
            return menu;
        }
    });
}

From source file:org.eclipse.emfforms.internal.swt.treemasterdetail.defaultprovider.DefaultMenuProvider.java

License:Open Source License

@Override
public Menu getMenu(TreeViewer treeViewer, EditingDomain editingDomain) {
    final MenuManager menuMgr = new MenuManager();
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new TreeMasterDetailMenuListener(childrenDescriptorCollector, menuMgr, treeViewer,
            editingDomain, rightClickActions, createElementCallback, deleteActionBuilder));
    final Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
    return menu;//from  www . ja  v a  2s  .  c o  m
}

From source file:org.eclipse.emfforms.spi.swt.treemasterdetail.TreeViewerSWTBuilder.java

License:Open Source License

/**
 * Creates a {@link TreeViewer}./*from ww w . ja  v a 2  s  .  com*/
 *
 * @param behaviour the {@link TreeViewerCustomization}
 * @param composite the parent {@link Composite}
 * @param editingDomain the {@link EditingDomain}
 * @param input the input
 * @return the viewer
 */
static TreeViewer create(TreeViewerCustomization behaviour, Composite composite, EditingDomain editingDomain,
        Object input) {
    final TreeViewer treeViewer = behaviour.createTree(composite);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(treeViewer.getControl());
    if (behaviour.hasDND()) {
        treeViewer.addDragSupport(behaviour.getDragOperations(), behaviour.getDragTransferTypes(),
                behaviour.getDragListener(treeViewer));
        treeViewer.addDropSupport(behaviour.getDropOperations(), behaviour.getDropTransferTypes(),
                behaviour.getDropListener(editingDomain, treeViewer));
    }
    treeViewer.setContentProvider(behaviour.getContentProvider());
    treeViewer.setLabelProvider(behaviour.getLabelProvider());
    treeViewer.setFilters(behaviour.getViewerFilters());
    treeViewer.getControl().setMenu(behaviour.getMenu(treeViewer, editingDomain));
    treeViewer.setInput(input);
    final EObject initialSelection = behaviour.getInitialSelection(input);
    if (initialSelection != null) {
        treeViewer.setSelection(new StructuredSelection(initialSelection), true);
    }
    return treeViewer;
}

From source file:org.eclipse.epf.library.ui.dialogs.UserInputsDialog.java

License:Open Source License

/**
 * Create a Tree Viewer.//from w  w  w .jav  a  2 s  .  c  om
 * 
 */
protected void createTreeViewer(Composite parent, UserInput userInput) {
    TreeViewer viewer;
    if (!userInput.isMultiple()) {
        viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    } else {
        viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    }

    GridData spec = new GridData(GridData.FILL_BOTH);
    {
        spec.widthHint = 200;
        spec.heightHint = 200;
        spec.horizontalSpan = 3;
        viewer.getControl().setLayoutData(spec);
    }
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {

        }

    });

    if (viewer != null) {
        viewer.setLabelProvider(labelProvider);
        if (contentProvider != null) {
            viewer.setContentProvider(contentProvider);
        } else {
            viewer.setContentProvider(new ArrayContentProvider());
        }
        viewer.setUseHashlookup(true);

        viewer.setInput(userInput.getChoices());
        viewer.getControl().setFont(parent.getFont());
        // TODO: treeViewer Sorter and Expand/Collapse
    }
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.AvailableIUGroup.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent) {
    // Table of available IU's
    filteredTree = new DelayedFilterCheckboxTree(parent,
            SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filter,
            getPreFilterJobProvider());// w ww.  j ava 2s  . co m
    final TreeViewer availableIUViewer = filteredTree.getViewer();

    availableIUViewer.getTree().setFont(parent.getFont());
    filteredTree.getFilterControl().setFont(parent.getFont());

    // If the user expanded or collapsed anything while we were loading a repo
    // in the background, we would not want to disrupt their work by making
    // a newly loaded visible and expanding it.  Setting the load job to null 
    // will take care of this.
    availableIUViewer.getTree().addTreeListener(new TreeListener() {
        public void treeCollapsed(TreeEvent e) {
            lastRequestedLoadJob = null;
        }

        public void treeExpanded(TreeEvent e) {
            lastRequestedLoadJob = null;
        }
    });

    labelProvider = new IUDetailsLabelProvider(filteredTree, getColumnConfig(), getShell());
    labelProvider.setUseBoldFontForFilteredItems(useBold);
    labelProvider.setToolTipProperty(IInstallableUnit.PROP_DESCRIPTION);

    // Filters and sorters before establishing content, so we don't refresh unnecessarily.
    IUComparator comparator = new IUComparator(IUComparator.IU_NAME);
    comparator.useColumnConfig(getColumnConfig());
    availableIUViewer.setComparator(comparator);
    availableIUViewer.setComparer(new ProvElementComparer());

    // Now the content provider.
    DeferredQueryContentProvider contentProvider = new DeferredQueryContentProvider();
    availableIUViewer.setContentProvider(contentProvider);

    // Now the presentation, columns before label provider.
    setTreeColumns(availableIUViewer.getTree());
    availableIUViewer.setLabelProvider(labelProvider);

    // Notify the filtered tree so that it can hook listeners on the
    // content provider.  This is needed so that filtering is only allowed
    // after content has been retrieved.
    filteredTree.contentProviderSet(contentProvider);

    final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(
            getClass().getName(), availableIUViewer, ProvUIProvisioningListener.PROV_EVENT_METADATA_REPOSITORY,
            getProvisioningUI().getOperationRunner()) {
        protected void repositoryAdded(final RepositoryEvent event) {
            makeRepositoryVisible(event.getRepositoryLocation());
        }

        protected void refreshViewer() {
            final TreeViewer treeViewer = filteredTree.getViewer();
            final Tree tree = treeViewer.getTree();
            IWorkbench workbench = PlatformUI.getWorkbench();
            if (workbench.isClosing())
                return;
            if (tree != null && !tree.isDisposed()) {
                updateAvailableViewState();
            }

        }
    };
    ProvUI.getProvisioningEventBus(getProvisioningUI().getSession()).addListener(listener);

    availableIUViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            ProvUI.getProvisioningEventBus(getProvisioningUI().getSession()).removeListener(listener);
        }
    });
    updateAvailableViewState();
    return availableIUViewer;
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.InstalledIUGroup.java

License:Open Source License

protected StructuredViewer createViewer(Composite parent) {
    // Table of installed IU's
    TreeViewer installedIUViewer = new TreeViewer(parent,
            SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);

    // Filters and sorters before establishing content, so we don't refresh unnecessarily.
    IUComparator comparator = new IUComparator(IUComparator.IU_NAME);
    comparator.useColumnConfig(getColumnConfig());
    installedIUViewer.setComparator(comparator);
    installedIUViewer.setComparer(new ProvElementComparer());

    // Now the content.
    installedIUViewer.setContentProvider(new DeferredQueryContentProvider());

    // Now the visuals, columns before labels.
    setTreeColumns(installedIUViewer.getTree());
    installedIUViewer.setLabelProvider(new IUDetailsLabelProvider(null, getColumnConfig(), null));

    // Input last.
    installedIUViewer.setInput(getInput());

    final StructuredViewerProvisioningListener listener = new StructuredViewerProvisioningListener(
            getClass().getName(), installedIUViewer,
            ProvUIProvisioningListener.PROV_EVENT_IU | ProvUIProvisioningListener.PROV_EVENT_PROFILE,
            getProvisioningUI().getOperationRunner());
    ProvUI.getProvisioningEventBus(getProvisioningUI().getSession()).addListener(listener);
    installedIUViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            ProvUI.getProvisioningEventBus(getProvisioningUI().getSession()).removeListener(listener);
        }/*  w  ww .j av  a 2  s. co m*/
    });
    return installedIUViewer;
}