List of usage examples for org.eclipse.jface.viewers TreeViewer getControl
@Override
public Control getControl()
From source file:org.seasar.uruma.rcp.ui.GenericViewPart.java
License:Apache License
protected void registerContextMenu() { List<WidgetHandle> handles = partContext.getWidgetHandles(TreeViewer.class); for (WidgetHandle handle : handles) { UIComponent uiComponent = handle.getUiComponent(); if (uiComponent instanceof UIHasMenuCompositeComponent) { TreeViewer treeViewer = handle.<TreeViewer>getCastWidget(); MenuManager menuMgr = new MenuManager(); GroupMarker groupMarker = new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS); menuMgr.add(groupMarker);/*w w w. ja va2s . c o m*/ getSite().registerContextMenu(menuMgr, treeViewer); Control control = treeViewer.getControl(); Menu menu = menuMgr.createContextMenu(control); control.setMenu(menu); } } }
From source file:org.springframework.tooling.ls.eclipse.gotosymbol.dialogs.GotoSymbolDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite dialogArea = new Composite(parent, SWT.NONE); dialogArea.addDisposeListener(de -> { for (Disposable d : disposables) { d.dispose();// ww w . j av a2s . c o m } }); if (parent.getLayout() instanceof GridLayout) { dialogArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); } GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; dialogArea.setLayout(layout); Text pattern = new Text(dialogArea, SWT.SINGLE | SWT.BORDER | SWT.SEARCH | SWT.ICON_CANCEL); // pattern.getAccessible().addAccessibleListener(new AccessibleAdapter() { // public void getName(AccessibleEvent e) { // e.result = LegacyActionTools.removeMnemonics(headerLabel) // .getText()); // } // }); pattern.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); pattern.setMessage(model.getSearchBoxHintMessage()); SwtConnect.connect(pattern, model.getSearchBox()); TreeViewer viewer = new TreeViewer(dialogArea, SWT.SINGLE); ColumnViewerToolTipSupport.enableFor(viewer); GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl()); viewer.setContentProvider(new SymbolsContentProvider()); viewer.setLabelProvider(new GotoSymbolsLabelProvider(viewer.getTree().getFont())); viewer.setUseHashlookup(true); disposables.add(model.getSymbols().onChange(UIValueListener.from((e, v) -> { if (!viewer.getControl().isDisposed()) viewer.refresh(); }))); //TODO: somehow show selection in local file, (but not in other file ?) // viewer.addSelectionChangedListener(event -> { // IStructuredSelection selection = (IStructuredSelection) event.getSelection(); // if (selection.isEmpty()) { // return; // } // SymbolInformation symbolInformation = (SymbolInformation) selection.getFirstElement(); // Location location = symbolInformation.getLocation(); // // IResource targetResource = LSPEclipseUtils.findResourceFor(location.getUri()); // if (targetResource == null) { // return; // } // IDocument targetDocument = FileBuffers.getTextFileBufferManager() // .getTextFileBuffer(targetResource.getFullPath(), LocationKind.IFILE).getDocument(); // if (targetDocument != null) { // try { // int offset = LSPEclipseUtils.toOffset(location.getRange().getStart(), targetDocument); // int endOffset = LSPEclipseUtils.toOffset(location.getRange().getEnd(), targetDocument); // fTextEditor.selectAndReveal(offset, endOffset - offset); // } catch (BadLocationException e) { // LanguageServerPlugin.logError(e); // } // } // }); installWidgetListeners(pattern, viewer); StyledText statusLabel = new StyledText(dialogArea, SWT.NONE); // Allow for some extra space for highlight fonts statusLabel.setLeftMargin(3); statusLabel.setBottomMargin(2); statusLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Stylers stylers = new Stylers(dialogArea.getFont()); disposables.add(stylers); SwtConnect.connectHighlighted(stylers.bold(), statusLabel, model.getStatus(), Duration.ofMillis(500)); viewer.setInput(model); return dialogArea; }
From source file:org.springsource.ide.eclipse.commons.livexp.ui.util.SwtConnect.java
License:Open Source License
/** * Connect a filterbox model to a treeviewer. This assumes that the filter is text-based. The filter is applied to the labels of the elements in the tree. * <p>/* w w w. j ava 2 s .c o m*/ * For the viewer filter to work correctly the ITreeContentProvider must provide a proper implementation of the 'getParent' method. If getParent only * returns null the viewer filter will not be able to check whether an element should be shown when a parent element is selected by the search filter. * <p> * Note: you can use {@link TreeElementWrappingContentProvider} in order to ensure that ITreeContentProvider keeps track of parent nodes properly. */ public static void connectTextBasedFilter(TreeViewer viewer, LiveExpression<Filter<String>> searchBoxModel, LabelProvider labels, ITreeContentProvider treeContent) { TreeAwareViewerFilter viewerFilter = new TreeAwareViewerFilter(viewer, Filters.acceptAll(), labels, treeContent); Disposable disposable = searchBoxModel.onChange(UIValueListener.from((e, filter) -> { viewerFilter.setFilter(searchBoxModel.getValue()); viewer.refresh(true); })); viewer.setFilters(viewerFilter); //TODO: what if there are existing filters? viewer.getControl().addDisposeListener(de -> { disposable.dispose(); }); Stylers stylers = new Stylers(viewer.getTree().getFont()); viewer.getControl().addDisposeListener(de -> { disposable.dispose(); stylers.dispose(); }); ILabelProvider baseLabels = (ILabelProvider) viewer.getLabelProvider(); Assert.isNotNull(baseLabels); //Can't add bolding support without this! Ensure label provider is set before calling this method viewer.setLabelProvider(boldMatchedElements(stylers, baseLabels, Filters.delegatingTo(searchBoxModel))); }
From source file:org.talend.dataprofiler.core.ui.dialog.message.TreeMessageInfoDialog.java
License:Open Source License
@Override protected Control createCustomArea(Composite parent) { // MOD qiongli 2011-2-15,feature 17588. Composite mainComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0;//from w w w . j av a 2s. c om layout.marginWidth = 0; layout.numColumns = 1; mainComposite.setLayout(layout); if (isNeedCheckbox()) { Composite checkComp = new Composite(mainComposite, SWT.NONE); GridLayout layout1 = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.numColumns = 1; checkComp.setLayout(layout1); checkButton = new Button(checkComp, SWT.CHECK); checkButton.setText(DefaultMessagesImpl.getString("DQDeleteAction.deleteAllDependency"));//$NON-NLS-1$ checkButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { isChecked = checkButton.getSelection(); } }); } TreeViewer viewer = new TreeViewer(mainComposite, SWT.BORDER); GridData gd = new GridData(); gd.heightHint = 150; gd.widthHint = 450; viewer.getTree().setLayoutData(gd); viewer.setContentProvider(contentProvider); viewer.setLabelProvider(getLabelProvider()); viewer.setInput(input); applyDialogFont(viewer.getControl()); viewer.expandAll(); return viewer.getControl(); }
From source file:org.talend.designer.runtime.visualization.internal.ui.properties.memory.SWTResourcesPage.java
License:Open Source License
/** * Refreshes the appearance.//from w w w. ja v a2 s.c o m * * @param force <tt>true</tt> to force refresh */ protected void refresh(final boolean force) { final boolean isVisible = isVisible(); new RefreshJob(NLS.bind(Messages.refreshMemorySectionJobLabel, section.getJvm().getPid()), toString()) { @Override protected void refreshModel(IProgressMonitor monitor) { try { IActiveJvm jvm = section.getJvm(); if (isVisible && jvm != null && jvm.isConnected() && (!section.isRefreshSuspended() || force) && jvm.getSWTResourceMonitor().isSupported()) { jvm.getSWTResourceMonitor().refreshResourcesCache(); } } catch (JvmCoreException e) { Activator.log(Messages.refreshHeapDataFailedMsg, e); } } @Override protected void refreshUI() { IActiveJvm jvm = section.getJvm(); boolean isConnected = jvm != null && jvm.isConnected(); if (!isDisposed()) { refreshBackground(); } refreshAction.setEnabled(isConnected); clearSWTResourceAction.setEnabled(isConnected); if (!force && section.isRefreshSuspended() || !isVisible) { return; } TreeViewer resourceViewer = resourceFilteredTree.getViewer(); if (!resourceViewer.getControl().isDisposed()) { resourceViewer.refresh(); if (jvm != null) { resourceFilteredTree.updateStatusLine(jvm.getSWTResourceMonitor().getResources()); } // select the first item if no item is selected if (resourceViewer.getSelection().isEmpty()) { TreeItem[] items = resourceViewer.getTree().getItems(); if (items != null && items.length > 0) { resourceViewer.getTree().select(items[0]); stackTraceViewer.setInput(resourceViewer.getSelection()); } else { stackTraceViewer.setInput(null); } } } if (!stackTraceViewer.getControl().isDisposed()) { stackTraceViewer.refresh(); } } }.schedule(); }
From source file:org.talend.metadata.managment.ui.wizard.metadata.ShowAddedContextdialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); composite.setFont(parent.getFont()); createMessageArea(composite);/*from www . j a v a 2 s . c o m*/ // Group inner = new Group(composite, SWT.NONE); inner.setText(Messages.getString("ShowAddedContextdialog.Variables")); //$NON-NLS-1$ inner.setFont(composite.getFont()); inner.setLayout(new GridLayout()); GridData gridData = new GridData(GridData.FILL_BOTH); gridData.minimumHeight = 150; gridData.minimumWidth = 200; inner.setLayoutData(gridData); TreeViewer treeViewer = new TreeViewer(inner); treeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); Tree tree = treeViewer.getTree(); tree.setHeaderVisible(false); tree.setLinesVisible(false); treeViewer.setContentProvider(new AddedContextProvider()); treeViewer.setLabelProvider(new AddedContextProvider()); treeViewer.setInput(addedVarBeans); treeViewer.expandAll(); return composite; }
From source file:org.talend.repository.viewer.filter.PerspectiveFilterHelper.java
License:Open Source License
/** * Only activate the view content providers with the extension ID belonging to extensionIdsToActivate array. * /*from www . j a v a 2 s .co m*/ * * @param extensionIdsToActivate * @param restoring, used because setting new selection cause renentrance and may create 2 action types when * restoring state */ protected void refreshNavigatorContents(String[] extensionIdsToActivate, boolean restoring) { boolean updateExtensionActivation = false; String[] contentExtensionsToActivate = Arrays.copyOf(extensionIdsToActivate, extensionIdsToActivate.length); // we sort the array in order to use Array.binarySearch(); Arrays.sort(contentExtensionsToActivate); IStructuredSelection ssel = null; TreeViewer commonViewer = getTreeViewer(); INavigatorContentService contentService = getNavigatorContentService(); try { commonViewer.getControl().setRedraw(false); // store the selection ISelection selection = commonViewer.getSelection(); if (selection instanceof IStructuredSelection) { ssel = (IStructuredSelection) selection; } INavigatorContentDescriptor[] visibleContentDescriptors = contentService.getVisibleExtensions(); int indexofContentExtensionIdToBeActivated; /* is there a delta? */ for (int i = 0; i < visibleContentDescriptors.length && !updateExtensionActivation; i++) { indexofContentExtensionIdToBeActivated = Arrays.binarySearch(contentExtensionsToActivate, visibleContentDescriptors[i].getId()); /* * Either we have a filter that should be active that isn't XOR a filter that shouldn't be active that * is currently */ if (indexofContentExtensionIdToBeActivated >= 0 ^ contentService.isActive(visibleContentDescriptors[i].getId())) { updateExtensionActivation = true; } } /* If so, update */ if (updateExtensionActivation) { contentService.getActivationService().activateExtensions(contentExtensionsToActivate, true); contentService.getActivationService().persistExtensionActivations(); // try to keep expanded elements state Object[] expandedElements = commonViewer.getExpandedElements(); contentService.update(); commonViewer.refresh(); if (!restoring) { Object[] originalObjects = ssel != null ? ssel.toArray() : new Object[0]; commonViewer.setExpandedElements(expandedElements); // restore the selection. IStructuredSelection newSelection = new StructuredSelection(originalObjects); commonViewer.setSelection(newSelection, true); } } } finally { commonViewer.getControl().setRedraw(true); } }
From source file:org.testeditor.ui.parts.testExplorer.TestExplorer.java
License:Open Source License
/** * Creates the tree-structure to manage testsuite and testcases. * /*ww w. jav a 2s. co m*/ * @param parent * UI-Parent * @param service * service object used to register the popup-menu */ @SuppressWarnings("restriction") @PostConstruct public void createUi(Composite parent, EMenuService service) { testStructureTree = ContextInjectionFactory.make(TestStructureTree.class, context); testStructureTree.createUI(parent, testProjectService); // testStructureTree.showOnlyTestKomponentsSuite(); TreeViewer treeViewer = testStructureTree.getTreeViewer(); List<TestProject> projects; projects = testProjectService.getProjects(); if (projects.size() > 0) { setSelectionOn(projects.get(0)); } reloadSvnStatusForProjects(); if (service != null) { service.registerContextMenu(treeViewer.getControl(), "org.testeditor.ui.popupmenu"); } // Make the tree viewer accessible in the popup-menu handlers and // content-provider context.set(TestEditorConstants.TEST_EXPLORER_VIEW, this); treeViewer.addOpenListener(new IOpenListener() { @Override public void open(OpenEvent arg0) { OpenTestStructureHandler handler = ContextInjectionFactory.make(OpenTestStructureHandler.class, context); handler.execute(context); } }); }
From source file:org.tigris.subversion.subclipse.ui.wizards.SVNWizardPage.java
License:Open Source License
protected TreeViewer createResourceSelectionTree(Composite composite, int types, int span) { TreeViewer tree = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); tree.setUseHashlookup(true);//from w ww. ja va 2 s. com tree.setContentProvider(getResourceProvider(types)); tree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(), SVNUIPlugin.getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator())); tree.setSorter(new ResourceSorter(ResourceSorter.NAME)); GridData data = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); data.heightHint = LIST_HEIGHT_HINT; data.horizontalSpan = span; tree.getControl().setLayoutData(data); return tree; }
From source file:org.vclipse.vcml.ui.outline.VCMLOutlinePage.java
License:Open Source License
private void createMenu(final TreeViewer treeViewer) { final MenuManager menuManager = new MenuManager(POPUP_MENU_ID); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(final IMenuManager manager) { }//w ww .j ava 2 s .c om }); menu = menuManager.createContextMenu(treeViewer.getControl()); treeViewer.getControl().setMenu(menu); getSite().registerContextMenu(POPUP_MENU_ID, menuManager, treeViewer); }