List of usage examples for org.eclipse.jface.viewers TreeViewer isExpandable
@Override public boolean isExpandable(Object element)
From source file:org.eclipse.ui.internal.dialogs.NewWizardNewPage.java
License:Open Source License
/** * Create a new FilteredTree in the parent. * //from w w w .j a v a 2s . co m * @param parent the parent <code>Composite</code>. * @since 3.0 */ protected FilteredTree createFilteredTree(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); data.widthHint = SIZING_VIEWER_WIDTH; data.horizontalSpan = 2; data.grabExcessHorizontalSpace = true; data.grabExcessVerticalSpace = true; boolean needsHint = DialogUtil.inRegularFontMode(parent); //Only give a height hint if the dialog is going to be too small if (needsHint) { data.heightHint = SIZING_LISTS_HEIGHT; } composite.setLayoutData(data); filteredTreeFilter = new WizardPatternFilter(); FilteredTree filterTree = new FilteredTree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, filteredTreeFilter, true); filterTree.setQuickSelectionMode(true); final TreeViewer treeViewer = filterTree.getViewer(); treeViewer.setContentProvider(new WizardContentProvider()); treeViewer.setLabelProvider(new DelegatingLabelProviderWithTooltip(new WorkbenchLabelProvider(), PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(ContributingPluginDecorator.ID)) { protected Object unwrapElement(Object element) { if (element instanceof WorkbenchWizardElement) { element = ((WorkbenchWizardElement) element).getConfigurationElement(); } if (element instanceof WizardCollectionElement) { element = ((WizardCollectionElement) element).getConfigurationElement(); } return element; } }); treeViewer.setComparator(NewWizardCollectionComparator.INSTANCE); treeViewer.addSelectionChangedListener(this); ArrayList inputArray = new ArrayList(); for (int i = 0; i < primaryWizards.length; i++) { inputArray.add(primaryWizards[i]); } boolean expandTop = false; if (wizardCategories != null) { if (wizardCategories.getParent() == null) { IWizardCategory[] children = wizardCategories.getCategories(); for (int i = 0; i < children.length; i++) { inputArray.add(children[i]); } } else { expandTop = true; inputArray.add(wizardCategories); } } // ensure the category is expanded. If there is a remembered expansion it will be set later. if (expandTop) { treeViewer.setAutoExpandLevel(2); } AdaptableList input = new AdaptableList(inputArray); treeViewer.setInput(input); filterTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); treeViewer.getTree().setFont(parent.getFont()); treeViewer.addDoubleClickListener(new IDoubleClickListener() { /* * (non-Javadoc) * * @see org.eclipse.jface.viewers.IDoubleClickListener#doubleClick(org.eclipse.jface.viewers.DoubleClickEvent) */ public void doubleClick(DoubleClickEvent event) { IStructuredSelection s = (IStructuredSelection) event.getSelection(); selectionChanged(new SelectionChangedEvent(event.getViewer(), s)); Object element = s.getFirstElement(); if (treeViewer.isExpandable(element)) { treeViewer.setExpandedState(element, !treeViewer.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { page.advanceToNextPageOrFinish(); } } }); treeViewer.addFilter(filter); if (projectsOnly) { treeViewer.addFilter(projectFilter); } Dialog.applyDialogFont(filterTree); return filterTree; }
From source file:org.eclipse.ui.navigator.CommonNavigator.java
License:Open Source License
/** * <p>/*from w ww .java 2 s.c om*/ * Note: This method is for internal use only. Clients should not call this * method. * </p> * * @param anEvent * Supplied by the DoubleClick listener. */ protected void handleDoubleClick(DoubleClickEvent anEvent) { IAction openHandler = getViewSite().getActionBars().getGlobalActionHandler(ICommonActionConstants.OPEN); if (openHandler == null) { IStructuredSelection selection = (IStructuredSelection) anEvent.getSelection(); Object element = selection.getFirstElement(); TreeViewer viewer = getCommonViewer(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } }
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();/*ww 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.python.pydev.navigator.actions.PyOpenPythonFileAction.java
License:Open Source License
public synchronized void run() { // clear them fillSelections();/*from w ww . jav a 2 s . 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.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 . ja 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)); } } } }
From source file:org.talend.designer.core.ui.views.properties.DynamicComposite.java
License:Open Source License
/** * DOC qzhang Comment method "getConnectionItems". * /*from w w w .ja va 2 s .c o m*/ * @return * @throws PersistenceException */ private List<ConnectionItem> getConnectionItems() throws PersistenceException { List<ConnectionItem> list = new ArrayList<ConnectionItem>(); IRepositoryView repositoryView = RepositoryManagerHelper.findRepositoryView(); if (repositoryView != null) { TreeViewer viewer = (TreeViewer) repositoryView.getViewer(); IContentProvider contentProvider = viewer.getContentProvider(); if (contentProvider instanceof RepositoryContentProvider) { RepositoryContentProvider provider = (RepositoryContentProvider) contentProvider; RepositoryNode metadataConNode = provider.getRootRepositoryNode(ERepositoryObjectType.METADATA); for (IRepositoryNode connectionItem : metadataConNode.getChildren()) { if (viewer.isExpandable(connectionItem)) { provider.getChildren(connectionItem); } for (IRepositoryNode node : connectionItem.getChildren()) { addConnectionItem(viewer, provider, list, (RepositoryNode) node); } } } } return list; }
From source file:org.talend.designer.core.ui.views.properties.DynamicComposite.java
License:Open Source License
/** * DOC qzhang Comment method "addConnectionItem". * //from ww w . jav a 2s .c om * @param provider * @param viewer * * @param list * @param repositoryNode3 */ private void addConnectionItem(TreeViewer viewer, RepositoryContentProvider provider, List<ConnectionItem> list, RepositoryNode repositoryNode3) { IRepositoryViewObject object = repositoryNode3.getObject(); if (object != null) { Item item = object.getProperty().getItem(); if (item instanceof ConnectionItem) { list.add((ConnectionItem) item); } else if (item instanceof FolderItem) { for (IRepositoryNode node : repositoryNode3.getChildren()) { addConnectionItem(viewer, provider, list, (RepositoryNode) node); } } } else { if (viewer.isExpandable(repositoryNode3)) { provider.getChildren(repositoryNode3); } for (IRepositoryNode node : repositoryNode3.getChildren()) { addConnectionItem(viewer, provider, list, (RepositoryNode) node); } } }
From source file:org.zamia.plugin.views.navigator.OpenFileAction.java
License:Open Source License
public void run() { fillSelections();/* w w w . ja v a2s . c o m*/ if (fFileSelected.size() > 0) { IFile file = fFileSelected.get(0); try { IDE.openEditor(fPage, file); } catch (Exception e) { el.logException(e); } } else if (fIGWrappersSelected.size() > 0) { IGModuleWrapper wrapper = fIGWrappersSelected.iterator().next(); ZamiaProject zprj = wrapper.getZPrj(); IProject prj = ZamiaProjectMap.getProject(zprj); SourceLocation location = wrapper.getLocation(); if (location == null) { logger.error("OpenFileAction: wrapper doesn't give me a location: %s", wrapper); return; } IEditorPart editPart = ZamiaPlugin.showSource(fPage, prj, location, 0); if (editPart instanceof ZamiaEditor) { ZamiaEditor editor = (ZamiaEditor) editPart; ToplevelPath path = wrapper.getEditorPath(); if (path != null) { //editor.setPath(wrapper.isBlueIG() ? path : path.getParent()); editor.setPath(path); } } } else if (fRTLWrappersSelected.size() > 0) { RTLModuleWrapper wrapper = fRTLWrappersSelected.iterator().next(); DMUID dmuid = wrapper.getDMUID(); ZamiaProject zprj = wrapper.getZPrj(); RTLManager manager = zprj.getRTLM(); Toplevel tl = new Toplevel(dmuid, null); RTLModule rtlm = manager.findModule(tl); ; RTLView rtlv = ZamiaPlugin.showRTLView(); rtlv.setRTLModule(rtlm); } else if (fContainersSelected.size() > 0) { if (this.fProvider instanceof TreeViewer) { TreeViewer viewer = (TreeViewer) this.fProvider; for (Object container : fContainersSelected) { if (viewer.isExpandable(container)) { viewer.setExpandedState(container, !viewer.getExpandedState(container)); } } } } }