List of usage examples for org.eclipse.jface.viewers TreeViewer getControl
@Override
public Control getControl()
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; }