List of usage examples for org.eclipse.jface.viewers TreeViewer getExpandedState
public boolean getExpandedState(Object elementOrTreePath)
From source file:org.eclipse.wst.jsdt.internal.ui.packageview.PackageExplorerActionGroup.java
License:Open Source License
void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { // don't zoom into compilation units and class files if (element instanceof IJavaScriptUnit || element instanceof IClassFile) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();//w w w . j a v a 2s. c o m } } else { IAction openAction = fNavigateActionGroup.getOpenAction(); if (openAction != null && openAction.isEnabled() && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK) return; if (selection instanceof ITreeSelection) { TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element); for (int i = 0; i < paths.length; i++) { viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i])); } } else { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } else if (element instanceof IProject && !((IProject) element).isOpen()) { OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction(); if (openProjectAction.isEnabled()) { openProjectAction.run(); } } }
From source file:org.entirej.ide.ui.nodes.AbstractNodeTreeSection.java
License:Apache License
protected void buildBody(Section section, FormToolkit toolkit) { section.setLayout(EditorLayoutFactory.createClearTableWrapLayout(false, 1)); GridData sectionData = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); section.setLayoutData(sectionData);//from w w w . j a v a2 s . com section.setText(getSectionTitle()); section.setDescription(getSectionDescription()); Composite body = toolkit.createComposite(section); body.setLayout(new GridLayout()); body.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); filteredTree = new FilteredTree(body, SWT.VIRTUAL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI, new PatternFilter(), true) { ISelection selection; Object[] expanded; protected WorkbenchJob doCreateRefreshJob() { WorkbenchJob refreshJob2 = super.doCreateRefreshJob(); refreshJob2.addJobChangeListener(new JobChangeAdapter() { public void done(IJobChangeEvent event) { if (!event.getResult().isOK()) return; String text = getFilterString(); if (text != null && text.length() > 0) return; TreeViewer treeview = getViewer(); if (expanded != null) { treeview.getControl().setRedraw(false); treeview.setExpandedElements(expanded); treeview.getControl().setRedraw(true); expanded = null; } if (selection != null) { getViewer().setSelection(selection, true); getManagedForm().fireSelectionChanged(AbstractNodeTreeSection.this, selection); selection = null; } }; }); return refreshJob2; }; protected void textChanged() { if (selection == null) selection = getViewer().getSelection(); if (expanded == null) expanded = getViewer().getExpandedElements(); super.textChanged(); } }; GridData treeGD = new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL); treeGD.widthHint = 200; treeGD.heightHint = 100; filteredTree.setLayoutData(treeGD); final TreeViewer viewer = filteredTree.getViewer(); viewer.setLabelProvider(new NodeStyledCellLabelProvider(getLabelProvider())); viewer.setContentProvider(getContentProvider()); new ViewerToolTipSupport(viewer); viewer.setAutoExpandLevel(expand_level); editor.getSite().setSelectionProvider(viewer); viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { showNodeDetails(); editor.getContributor().refreah(); } }); // add default double click support to tree viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); boolean expandedState = viewer.getExpandedState(selection.getFirstElement()); viewer.setExpandedState(selection.getFirstElement(), !expandedState); } }); viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (e.button == 3) { Point point = new Point(e.x, e.y); TreeItem item = viewer.getTree().getItem(point); if (item == null) { viewer.setSelection(null); } } } }); connectContextMenu(); connectAddContextMenu(); toolkit.paintBordersFor(body); section.setTabList(new Control[] { body }); section.setClient(body); }
From source file:org.jkiss.dbeaver.ui.navigator.database.NavigatorViewBase.java
License:Open Source License
protected DatabaseNavigatorTree createNavigatorTree(Composite parent, DBNNode rootNode) { // Create tree DatabaseNavigatorTree navigatorTree = new DatabaseNavigatorTree(parent, rootNode, getTreeStyle()); navigatorTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() { @Override//from www .ja v a 2 s . c o m public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection structSel = (IStructuredSelection) event.getSelection(); if (!structSel.isEmpty()) { lastSelection = structSel.getFirstElement(); if (lastSelection instanceof DBNNode) { String desc = ((DBNNode) lastSelection).getNodeDescription(); if (CommonUtils.isEmpty(desc)) { desc = ((DBNNode) lastSelection).getNodeName(); } getViewSite().getActionBars().getStatusLineManager().setMessage(desc); } } else { lastSelection = null; } } }); navigatorTree.getViewer().addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = tree.getViewer(); IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.size() == 1) { DBNNode node = (DBNNode) selection.getFirstElement(); if (node instanceof DBNLocalFolder || (node instanceof DBNResource && ((DBNResource) node).getResource() instanceof IFolder) || (node instanceof DBNDataSource && DoubleClickBehavior.valueOf(DBeaverCore.getGlobalPreferenceStore().getString( DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)) == DoubleClickBehavior.EXPAND)) { if (Boolean.TRUE.equals(viewer.getExpandedState(node))) { viewer.collapseToLevel(node, 1); } else { viewer.expandToLevel(node, 1); } } else if (node instanceof DBNResource) { NavigatorHandlerObjectOpen.openResource(((DBNResource) node).getResource(), getSite().getWorkbenchWindow()); } else if (node instanceof DBNDataSource) { DBPDataSourceContainer dataSource = ((DBNDataSource) node).getObject(); NavigatorViewBase.DoubleClickBehavior doubleClickBehavior = NavigatorViewBase.DoubleClickBehavior .valueOf(DBeaverCore.getGlobalPreferenceStore() .getString(DBeaverPreferences.NAVIGATOR_CONNECTION_DOUBLE_CLICK)); switch (doubleClickBehavior) { case EDIT: NavigatorHandlerObjectOpen.openEntityEditor((DBNDataSource) node, null, DBeaverUI.getActiveWorkbenchWindow()); break; case CONNECT: if (dataSource.isConnected()) { DataSourceHandler.disconnectDataSource(dataSource, null); } else { DataSourceHandler.connectToDataSource(null, dataSource, null); } break; case SQL_EDITOR: OpenSQLEditorHandler.openRecentScript(getSite().getWorkbenchWindow(), dataSource, null); break; } } else if (node instanceof DBNDatabaseNode && node.allowsOpen()) { NavigatorHandlerObjectOpen.openEntityEditor((DBNDatabaseNode) node, null, getSite().getWorkbenchWindow()); } } } }); // Hook context menu NavigatorUtils.addContextMenu(this.getSite(), navigatorTree.getViewer(), navigatorTree.getViewer().getControl()); // Add drag and drop support NavigatorUtils.addDragAndDropSupport(navigatorTree.getViewer()); return navigatorTree; }
From source file:org.mailster.gui.prefs.ConfigurationDialog.java
License:Open Source License
/** * Add the listeners to the tree viewer. * //from w w w .ja v a 2 s . c om * @param viewer * @since 3.1 */ protected void addListeners(final TreeViewer viewer) { viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { private void handleError() { try { // remove the listener temporarily so that the events caused // by the error handling dont further cause error handling // to occur. viewer.removePostSelectionChangedListener(this); showPageFlippingAbortError(); selectLastVisitedPageAgain(); clearLastSelectedNode(); } finally { viewer.addPostSelectionChangedListener(this); } } public void selectionChanged(SelectionChangedEvent event) { Object selection = getSingleSelection(event.getSelection()); if (selection instanceof IPreferenceNode) { if (!isCurrentPageValid()) { handleError(); } else if (!showPage((IPreferenceNode) selection)) { // Page flipping wasn't successful handleError(); } else { // Everything went well lastSuccessfulNode = (IPreferenceNode) selection; } } } }); ((Tree) viewer.getControl()).addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(final SelectionEvent event) { ISelection selection = viewer.getSelection(); if (selection.isEmpty()) return; IPreferenceNode singleSelection = getSingleSelection(selection); boolean expanded = viewer.getExpandedState(singleSelection); viewer.setExpandedState(singleSelection, !expanded); } }); // Register help listener on the tree to use context sensitive help viewer.getControl().addHelpListener(new HelpListener() { public void helpRequested(HelpEvent event) { // call perform help on the current page if (getCurrentPage() != null) { getCurrentPage().performHelp(); } } }); }
From source file:org.modelversioning.emfprofile.application.registry.ui.views.EMFProfileApplicationsView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w ww . j a va 2 s . c o m*/ */ public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); drillDownAdapter = new DrillDownAdapter(viewer); viewer.setLabelProvider(new ProfileProviderLabelAdapter(getAdapterFactory())); viewer.setContentProvider(new ProfileProviderContentAdapter(getAdapterFactory())); viewer.setSorter(createGenericEObjectSorter()); viewer.setAutoExpandLevel(2); getSite().setSelectionProvider(viewer); EMFProfileApplicationsView.resourceManager = new LocalResourceManager(JFaceResources.getResources()); viewer.setInput(Collections.emptyList()); ActiveEditorObserver.INSTANCE.setViewer(viewer); new AdapterFactoryTreeEditor(viewer.getTree(), adapterFactory); MenuManager menuManager = new MenuManager("profileApplicationsPopupMenu"); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { EMFProfileApplicationsView.this.fillContextMenu(manager); } }); Menu menu = menuManager.createContextMenu(viewer.getControl()); viewer.getControl().setMenu(menu); getSite().registerContextMenu(menuManager, viewer); // To this group come New Child/Sibling contributions menuManager.add(new Separator("edit")); // Other plug-ins can contribute there actions here menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); drillDownAdapter.addNavigationActions(menuManager); drillDownAdapter.addNavigationActions(getViewSite().getActionBars().getToolBarManager()); getViewSite().getActionBars().getToolBarManager().add(new Separator()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } }); nestingCommonModelElements = new NestingCommonModelElementsInStereotypeApplications(); nestingCommonModelElements.contributeToMenu(menuManager); menuManager.addMenuListener(nestingCommonModelElements); viewer.addSelectionChangedListener(nestingCommonModelElements); // To enable the key binding we need to activate context // The reason why, is because this context overrides the // default key binding of workbench, e.g. key DEL IContextService contextService = (IContextService) getSite().getService(IContextService.class); IContextActivation contextActivation = contextService .activateContext("org.modelversioning.emfprofile.application.registry.ui.keybindingcontext"); }
From source file:org.openmaji.implementation.tool.eclipse.browser.relationship.space.controllers.MeemController.java
License:Open Source License
public void handleDoubleClick(DoubleClickEvent e) { TreeViewer viewer = (TreeViewer) getMeemNode().getViewer(); boolean expanded = viewer.getExpandedState(getNode()); if (expanded) { viewer.collapseToLevel(getNode(), 1); } else {/*w w w.j a v a2 s .c o m*/ viewer.expandToLevel(getNode(), 1); viewer.refresh(getNode()); } }
From source file:org.python.pydev.navigator.actions.PyOpenPythonFileAction.java
License:Open Source License
public synchronized void run() { // clear them fillSelections();//from w ww . j a va2s . c o m if (filesSelected.size() > 0) { openFiles(filesSelected); } else if (nodesSelected.size() > 0) { PythonNode node = nodesSelected.iterator().next(); ParsedItem actualObject = node.getActualObject(); ASTEntryWithChildren astThis = actualObject.getAstThis(); if (astThis != null) { new PyOpenAction().run(new ItemPointer(node.getPythonFile().getActualObject(), NodeUtils.getNameTokFromNode(astThis.node))); } } else if (pythonPathZipFilesSelected.size() > 0) { openFiles(pythonPathZipFilesSelected .toArray(new PythonpathZipChildTreeNode[pythonPathZipFilesSelected.size()])); } else if (pythonPathFilesSelected.size() > 0) { openFiles(pythonPathFilesSelected.toArray(new PythonpathTreeNode[pythonPathFilesSelected.size()])); } else if (containersSelected.size() > 0) { if (this.provider instanceof TreeViewer) { TreeViewer viewer = (TreeViewer) this.provider; for (Object container : containersSelected) { if (viewer.isExpandable(container)) { viewer.setExpandedState(container, !viewer.getExpandedState(container)); } } } else { Log.log("Expecting the provider to be a TreeViewer -- it is:" + this.provider.getClass()); } } }
From source file:org.ripla.rap.demo.widgets.views.TreeWidgetsView.java
License:Open Source License
/** * TreeWidgetsView constructor.//ww w . jav a 2s. c om * * @param inParent * {@link Composite} * @param inTree * {@link TreeObject} */ public TreeWidgetsView(final Composite inParent, final TreeObject inTree) { super(inParent); createTitle(MESSAGES.getMessage("widgets.title.page.tree")); LabelHelper.createLabel(this, MESSAGES.getMessage("widgets.view.tree.title"), "ripla-font"); final TreeViewer lViewer = new TreeViewer(this, SWT.V_SCROLL | SWT.H_SCROLL); final Tree lTree = lViewer.getTree(); lTree.setLayout(GridLayoutHelper.createGridLayout()); lTree.setData(RWT.CUSTOM_VARIANT, "ripla-font"); final GridData lLayoutData = GridLayoutHelper.createFillLayoutData(); lLayoutData.heightHint = 430; lTree.setLayoutData(lLayoutData); lViewer.setContentProvider(new CountryTreeContentProvider()); lViewer.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell inCell) { final TreeObject lCountry = (TreeObject) inCell.getElement(); inCell.setText(lCountry.getLabel()); } }); lViewer.expandAll(); lViewer.setInput(inTree); lViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent inEvent) { final TreeObject lTreeObject = (TreeObject) ((IStructuredSelection) inEvent.getSelection()) .getFirstElement(); if (lTreeObject.hasChildren()) { if (lViewer.getExpandedState(lTreeObject)) { lViewer.collapseToLevel(lTreeObject, AbstractTreeViewer.ALL_LEVELS); } else { lViewer.expandToLevel(lTreeObject, 1); } } else { popup(lTreeObject.getCountry()); } } }); lTree.forceFocus(); lTree.select(lTree.getItem(0)); }
From source file:org.rubypeople.rdt.internal.ui.packageview.RubyExplorerActionGroup.java
License:Open Source License
void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = fPart.getViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { if (doubleClickGoesInto()) { // don't zoom into ruby scripts if (element instanceof IRubyScript) return; if (element instanceof IOpenable || element instanceof IContainer || element instanceof IWorkingSet) { fZoomInAction.run();/*w w w. java 2 s . c o m*/ } } else { IAction openAction = fNavigateActionGroup.getOpenAction(); if (openAction != null && openAction.isEnabled() && OpenStrategy.getOpenMethod() == OpenStrategy.DOUBLE_CLICK) return; if (selection instanceof ITreeSelection) { TreePath[] paths = ((ITreeSelection) selection).getPathsFor(element); for (int i = 0; i < paths.length; i++) { viewer.setExpandedState(paths[i], !viewer.getExpandedState(paths[i])); } } else { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } } }
From source file:org.splevo.ui.refinementbrowser.listener.ExpandTreeListener.java
License:Open Source License
@Override public void doubleClick(DoubleClickEvent event) { TreeViewer viewer = (TreeViewer) event.getViewer(); IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); }