List of usage examples for org.eclipse.jface.viewers TreeViewer setExpandedState
public void setExpandedState(Object elementOrTreePath, boolean expanded)
From source file:ar.com.tadp.xml.rinzo.core.outline.XMLOutlinePage.java
License:Open Source License
protected void handleDoubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); TreeViewer viewer = this.getTreeViewer(); if (viewer.isExpandable(element)) { viewer.setExpandedState(element, !viewer.getExpandedState(element)); }// ww w . ja va 2 s .co m }
From source file:ch.gpb.elexis.cst.view.profileeditor.RemindersComposite.java
License:Open Source License
public RemindersComposite(Composite parent) { super(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(4, false); setLayout(gridLayout);/*from w ww. j a va 2 s . com*/ createLayout(this); treeviewer = new TreeViewer(this, SWT.BORDER); Tree tree_1 = treeviewer.getTree(); GridData gd_tree_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1); gd_tree_1.heightHint = 230; gd_tree_1.widthHint = 500; tree_1.setLayoutData(gd_tree_1); treeviewer.setContentProvider(new ViewContentProvider()); treeviewer.setLabelProvider(new ViewLabelProvider()); Button btnNewAction = new Button(this, SWT.NONE); btnNewAction.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); btnNewAction.setText("Start new event chain"); btnNewAction.addSelectionListener(new NewItemListener()); Button btnExpandAll = new Button(this, SWT.NONE); btnExpandAll.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); btnExpandAll.setText("Expand All"); btnExpandAll.addSelectionListener(new ExpandAllListener()); MenuManager menuMgr = new MenuManager(); Menu menu = menuMgr.createContextMenu(treeviewer.getControl()); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { if (treeviewer.getSelection().isEmpty()) { return; } if (treeviewer.getSelection() instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) treeviewer.getSelection(); manager.add(actionAddObject); manager.add(actionDeleteObject); manager.add(actionEditObject); } } }); menuMgr.setRemoveAllWhenShown(true); treeviewer.getControl().setMenu(menu); treeviewer.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(treeviewer); makeActions(); CoreHub.heart.addListener(this); new Label(this, SWT.NONE); lblHeart = new Label(this, SWT.NONE); lblHeart.setText(Messages.RemindersComposite_lblHeart_text); GridData gd_lblHeart = new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1); gd_lblHeart.heightHint = 50; gd_lblHeart.widthHint = 50; lblHeart.setLayoutData(gd_lblHeart); new Label(this, SWT.NONE); new Label(this, SWT.NONE); new Label(this, SWT.NONE); lblCheckingForActions = new Label(this, SWT.NONE); lblCheckingForActions.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1)); lblCheckingForActions.setText(Messages.RemindersComposite_lblCheckingForActions_text); treeviewer.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)); } }); imageList = Arrays.asList(imgHeart1, imgHeart2, imgHeart3, imgHeartA, imgHeartB, imgHeartC, imgHeartD, imgHeartE); lblCheckingForActions.setVisible(false); lblHeart.setVisible(false); }
From source file:com.amalto.workbench.widgets.RepositoryCheckTreeViewer.java
License:Open Source License
private void expandParent(TreeViewer viewer, TreeObject node) { TreeParent parent = node.getParent(); if (parent != null) { expandParent(viewer, parent);//www .j ava2 s.co m viewer.setExpandedState(parent, true); } }
From source file:com.aptana.deploy.wizard.DeployWizardPage.java
License:Open Source License
/** * Method to call when an item in one of the lists is double-clicked. Shows the first page of the selected wizard or * expands a collapsed tree./*ww w . ja v a 2s. c o m*/ * * @param event */ protected void treeDoubleClicked(DoubleClickEvent event) { ISelection selection = event.getViewer().getSelection(); IStructuredSelection ss = (IStructuredSelection) selection; listSelectionChanged(ss); Object element = ss.getFirstElement(); TreeViewer v = (TreeViewer) event.getViewer(); if (v.isExpandable(element)) { v.setExpandedState(element, !v.getExpandedState(element)); } else if (element instanceof WorkbenchWizardElement) { if (canFlipToNextPage()) { getContainer().showPage(getNextPage()); return; } } getContainer().showPage(getNextPage()); }
From source file:com.google.dart.tools.search.ui.text.AbstractTextSearchViewPage.java
License:Open Source License
/** * <p>/*from ww w. ja v a 2s . c om*/ * This method is called when the search page gets an 'open' event from its underlying viewer (for * example on double click). The default implementation will open the first match on any element * that has matches. If the element to be opened is an inner node in the tree layout, the node * will be expanded if it's collapsed and vice versa. Subclasses are allowed to override this * method. * </p> * * @param event the event sent for the currently shown viewer * @see IOpenListener */ protected void handleOpen(OpenEvent event) { Viewer viewer = event.getViewer(); boolean hasCurrentMatch = showCurrentMatch(OpenStrategy.activateOnOpen()); ISelection sel = event.getSelection(); if (viewer instanceof TreeViewer && sel instanceof IStructuredSelection) { IStructuredSelection selection = (IStructuredSelection) sel; TreeViewer tv = (TreeViewer) getViewer(); Object element = selection.getFirstElement(); if (element != null) { if (!hasCurrentMatch && getDisplayedMatchCount(element) > 0) { gotoNextMatch(OpenStrategy.activateOnOpen()); } else { tv.setExpandedState(element, !tv.getExpandedState(element)); } } return; } else if (!hasCurrentMatch) { gotoNextMatch(OpenStrategy.activateOnOpen()); } }
From source file:com.google.dart.tools.ui.internal.libraryview.LibraryExplorerActionGroup.java
License:Open Source License
/** * This handles double click actions to expand or collapse expandable elements in the Library * Explorer.//w ww . j a va 2 s. co m */ void handleDoubleClick(DoubleClickEvent event) { TreeViewer viewer = part.getTreeViewer(); IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (viewer.isExpandable(element)) { IAction openAction = navigateActionGroup.getEditAction(); 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)); } } // if the Library Explorer ever has projects as top level elements, we may need to revisit this // else if (element instanceof IProject && !((IProject) element).isOpen()) { // OpenProjectAction openProjectAction = fProjectActionGroup.getOpenProjectAction(); // if (openProjectAction.isEnabled()) { // openProjectAction.run(); // } // } }
From source file:com.google.dart.tools.ui.internal.text.editor.LightNodeElements.java
License:Open Source License
/** * Expands given {@link TreeItem}s if they have not too much children and we have time budget. *//*from w w w. j a va2 s .com*/ private static long expandTreeItemsTimeBoxed(TreeViewer viewer, TreeItem[] items, int childrenLimit, long nanoBudget) { if (nanoBudget < 0) { return -1; } for (TreeItem item : items) { Object itemData = item.getData(); // prepare LightNodeElement if (!(itemData instanceof LightNodeElement)) { continue; } LightNodeElement element = (LightNodeElement) itemData; // has children, not too many? int numChildren = element.children.size(); if (numChildren == 0 || numChildren > childrenLimit) { continue; } // expand single item { long startNano = System.nanoTime(); viewer.setExpandedState(itemData, true); nanoBudget -= System.nanoTime() - startNano; } // expand children nanoBudget = expandTreeItemsTimeBoxed(viewer, item.getItems(), childrenLimit, nanoBudget); if (nanoBudget < 0) { break; } } return nanoBudget; }
From source file:com.google.gapid.widgets.Widgets.java
License:Apache License
public static TreeViewer createTreeViewer(Tree tree) { TreeViewer viewer = new VisibilityTrackingTreeViewer(tree); viewer.setUseHashlookup(true);/* www . j a v a 2 s. c om*/ tree.addListener(SWT.KeyDown, e -> { switch (e.keyCode) { case SWT.ARROW_LEFT: case SWT.ARROW_RIGHT: ITreeSelection selection = viewer.getStructuredSelection(); if (selection.size() == 1) { viewer.setExpandedState(selection.getFirstElement(), e.keyCode == SWT.ARROW_RIGHT); } break; } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection.size() == 1) { Object element = selection.getFirstElement(); viewer.setExpandedState(element, !viewer.getExpandedState(element)); } } }); return viewer; }
From source file:com.ibm.research.tours.dnd.TourDragNDropAdapter.java
License:Open Source License
@Override public boolean performDrop(Object data) { externalMove = false;//from ww w.j av a2 s . c o m // Get the current drop target Object currentTarget = getCurrentTarget(); ITour tour = fEditor.getTour(); int dropIndex = 0; // If the drop target is null then default to the last element if (currentTarget == null) { ITourElement[] elements = fEditor.getTour().getElements(); if (elements.length == 0) currentTarget = fEditor.getTourTreeAdapter().getTourElements(); else { currentTarget = elements[fEditor.getTour().getElementCount() - 1]; dropIndex = fEditor.getTour().getElementCount(); } } if (!(currentTarget instanceof ITourElement) && !(currentTarget instanceof TourElements)) return false; // We are droping onto an existing tour element or the root tour elements container if (currentTarget instanceof ITourElement) { if (fDropTarget != null) { TreeItem parentItem = fDropTarget.getParentItem(); int location = getCurrentLocation(); for (int i = 0; i < parentItem.getItemCount(); i++) { if (fDropTarget == parentItem.getItem(i)) { if (location == LOCATION_BEFORE) dropIndex = i; else if (location == LOCATION_ON) dropIndex = i + 1; else if (location == LOCATION_AFTER) dropIndex = i + 1; break; } } } } // At this point we have the target tour and the drop index // Now handle the elements ITourElement[] elements = null; // This transfer is coming from the if (isPaletteTransfer) { IPaletteEntry[] entries = (IPaletteEntry[]) data; List<ITourElement> elementList = new ArrayList<ITourElement>(); for (IPaletteEntry entry : entries) { ITourElement[] elementArray = entry.getProvider().createElements(); if (elementArray != null) { for (ITourElement element : elementArray) elementList.add(element); } } elements = elementList.toArray(new ITourElement[0]); } else if (isTourElementTransfer) elements = (ITourElement[]) data; else if (fAcceptingAdapter != null) { if (fAcceptingAdapter instanceof ITourElementDropAdapterExtension) { elements = ((ITourElementDropAdapterExtension) fAcceptingAdapter).convertDropData(data, tour); } else { elements = fAcceptingAdapter.convertDropData(data); } } if (elements == null || (elements != null && elements.length <= 0)) return false; if (isTourElementTransfer) { if (getCurrentOperation() == DND.DROP_MOVE) { // Check if this is an internal drop, if so the elements must be removed more carefully // For external drops removal is handled in the drag listener if (fEditor.getTour().contins(elements[0])) { int earliestDragIndex = fEditor.getTour().getIndex(elements[0]); if (earliestDragIndex < dropIndex) // Awww here it goes! We need to correct the drop index based on the // removal of dragged elements { for (ITourElement e : elements) { int index = fEditor.getTour().getIndex(e); if (index < dropIndex) dropIndex--; } } fEditor.getTour().removeElements(elements); } else externalMove = true; } else if (getCurrentOperation() == DND.DROP_COPY) { Vector<ITourElement> clones = new Vector<ITourElement>(); // For copies we replace the dragged elements with clones for (ITourElement e : elements) { clones.add(e.createClone()); } elements = clones.toArray(new ITourElement[0]); } } tour.addElements(dropIndex, elements); TreeViewer viewer = (TreeViewer) getViewer(); viewer.setExpandedState(fEditor.getTourTreeAdapter().getTourElements(), true); viewer.setSelection(new StructuredSelection(elements)); fAcceptingAdapter = null; isTourElementTransfer = false; isPaletteTransfer = false; return true; }
From source file:com.mindquarry.desktop.preferences.dialog.FilteredPreferenceDialog.java
License:Open Source License
/** * Add the listeners to the tree viewer. * /*from ww w .j a v a 2 s .c o m*/ * @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); showPageFlippingAbortDialog(); selectCurrentPageAgain(); clearSelectedNode(); } 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() { @Override 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 (currentPage != null) { currentPage.performHelp(); } } }); }