List of usage examples for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS
int ALL_LEVELS
To view the source code for org.eclipse.jface.viewers AbstractTreeViewer ALL_LEVELS.
Click Source Link
From source file:org.eclipse.jdt.internal.junit.ui.TestViewer.java
License:Open Source License
private void autoScrollInUI() { if (!fTestRunnerPart.isAutoScroll()) { clearAutoExpand();//from w w w.ja v a 2 s .c o m fAutoClose.clear(); return; } if (fLayoutMode == TestRunnerViewPart.LAYOUT_FLAT) { if (fAutoScrollTarget != null) fTableViewer.reveal(fAutoScrollTarget); return; } synchronized (this) { for (TestSuiteElement suite : fAutoExpand) { fTreeViewer.setExpandedState(suite, true); } clearAutoExpand(); } TestCaseElement current = fAutoScrollTarget; fAutoScrollTarget = null; TestSuiteElement parent = current == null ? null : (TestSuiteElement) fTreeContentProvider.getParent(current); if (fAutoClose.isEmpty() || !fAutoClose.getLast().equals(parent)) { // we're in a new branch, so let's close old OK branches: for (ListIterator<TestSuiteElement> iter = fAutoClose.listIterator(fAutoClose.size()); iter .hasPrevious();) { TestSuiteElement previousAutoOpened = iter.previous(); if (previousAutoOpened.equals(parent)) break; if (previousAutoOpened.getStatus() == TestElement.Status.OK) { // auto-opened the element, and all children are OK -> auto close iter.remove(); fTreeViewer.collapseToLevel(previousAutoOpened, AbstractTreeViewer.ALL_LEVELS); } } while (parent != null && !fTestRunSession.getTestRoot().equals(parent) && fTreeViewer.getExpandedState(parent) == false) { fAutoClose.add(parent); // add to auto-opened elements -> close later if STATUS_OK parent = (TestSuiteElement) fTreeContentProvider.getParent(parent); } } if (current != null) fTreeViewer.reveal(current); }
From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesPage.java
License:Open Source License
/** * Creates a new Tree for this View./*from ww w . jav a 2s . co m*/ * @param parent the parent composite */ private void buildTree(Composite parent) { GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.grabExcessHorizontalSpace = true; Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION); tree.setLayoutData(layoutData); tree.setHeaderVisible(true); tree.setLinesVisible(true); m_treeViewer = new TreeViewer(tree); // add expand/collapse column TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); expandCollapseColumn.getColumn().setText(StringConstants.EMPTY); expandCollapseColumn.getColumn().setWidth(20); expandCollapseColumn.getColumn().setResizable(false); expandCollapseColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { // Nothing to display. Nothing to update. } }); final int width = m_treeViewer.getTree().getParent().getClientArea().width; /* We make sure to have an initial size, just in case. */ final int area = (width <= 100) ? 100 : width; // add property name column TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty); propertyNameColumn.getColumn().setWidth((int) (width * 0.36)); propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider()); // add property value column TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue); propertyValueColumn.getColumn().setWidth((int) (width * 0.54)); propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider()); propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer)); m_treeViewer.addSelectionChangedListener(m_helpContextListener); m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); m_treeViewer.setContentProvider(new PropertiesContentProvider()); ColumnViewerToolTipSupport.enableFor(m_treeViewer); m_treeViewer.setComparer(new PropertiesElementComparer()); m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer, new FocusCellOwnerDrawHighlighter(m_treeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK); }
From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesView.java
License:Open Source License
/** * Creates a new Tree for this View./*from w w w . j a v a 2 s .co m*/ * @param parent the parent composite */ private void buildTree(Composite parent) { GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.grabExcessHorizontalSpace = true; Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION); tree.setLayoutData(layoutData); tree.setHeaderVisible(true); tree.setLinesVisible(true); m_treeViewer = new TreeViewer(tree); // add expand/collapse column TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); expandCollapseColumn.getColumn().setText(StringConstants.EMPTY); expandCollapseColumn.getColumn().setWidth(20); expandCollapseColumn.getColumn().setResizable(false); expandCollapseColumn.setLabelProvider(new CellLabelProvider() { public void update(ViewerCell cell) { // Nothing to display. Nothing to update. } }); // add property name column TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty); propertyNameColumn.getColumn().setWidth(175); propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider()); // add property value column TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE); propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue); propertyValueColumn.getColumn().setWidth(300); propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider()); propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer)); m_treeViewer.addSelectionChangedListener(m_helpContextListener); m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); m_treeViewer.setContentProvider(new PropertiesContentProvider()); ColumnViewerToolTipSupport.enableFor(m_treeViewer); m_treeViewer.setComparer(new PropertiesElementComparer()); m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer, new FocusCellOwnerDrawHighlighter(m_treeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK); }
From source file:org.eclipse.linuxtools.internal.docker.ui.views.DockerExplorerView.java
License:Open Source License
/** * Filters {@link IDockerContainer} and {@link IDockerImage} using the input * text in the search widget of this view. * //from w w w . j a v a 2 s. co m * @return */ private ModifyListener onSearch() { return e -> { final CommonViewer viewer = DockerExplorerView.this.getCommonViewer(); final TreePath[] treePaths = viewer.getExpandedTreePaths(); for (TreePath treePath : treePaths) { final Object lastSegment = treePath.getLastSegment(); if (lastSegment instanceof DockerExplorerContentProvider.DockerContainersCategory || lastSegment instanceof DockerExplorerContentProvider.DockerImagesCategory) { viewer.refresh(lastSegment); viewer.expandToLevel(treePath, AbstractTreeViewer.ALL_LEVELS); } } }; }
From source file:org.eclipse.linuxtools.internal.rpm.ui.editor.outline.SpecfileQuickOutlineDialog.java
License:Open Source License
private void createUIWidgetTreeViewer(Composite parent) { final int style = SWT.H_SCROLL | SWT.V_SCROLL; final Tree widget = new Tree(parent, style); final GridData data = new GridData(GridData.FILL_BOTH); data.heightHint = widget.getItemHeight() * 12; widget.setLayoutData(data);/*from w w w .jav a 2 s . c om*/ treeViewer = new TreeViewer(widget); treeViewerFilter = new ContainsFilter(); treeViewer.addFilter(treeViewerFilter); SpecfileContentProvider fOutlineContentProvider = new SpecfileContentProvider(editor); treeViewer.setContentProvider(fOutlineContentProvider); SpecfileLabelProvider fTreeLabelProvider = new SpecfileLabelProvider(); treeViewer.setLabelProvider(fTreeLabelProvider); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); treeViewer.setUseHashlookup(true); treeViewer.setInput(fOutlineContentProvider); }
From source file:org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphCombo.java
License:Open Source License
/** * Constructs a new instance of this class given its parent and a style * value describing its behavior and appearance. * * @param parent//from w w w .j a v a2s . co m * a widget which will be the parent of the new instance (cannot * be null) * @param style * the style of widget to construct * @param weights * The relative weights of each side of the sash form * @since 2.1 */ public TimeGraphCombo(Composite parent, int style, int[] weights) { super(parent, style); setLayout(new FillLayout()); final SashForm sash = new SashForm(this, SWT.NONE); fTreeViewer = new TreeViewer(sash, SWT.FULL_SELECTION | SWT.H_SCROLL); fTreeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); final Tree tree = fTreeViewer.getTree(); tree.setHeaderVisible(true); tree.setLinesVisible(true); fTimeGraphViewer = new TimeGraphViewer(sash, SWT.NONE); fTimeGraphViewer.setItemHeight(getItemHeight(tree)); fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight()); fTimeGraphViewer.setBorderWidth(tree.getBorderWidth()); fTimeGraphViewer.setNameWidthPref(0); fFilter = new RawViewerFilter(); addFilter(fFilter); fFilterDialog = new TimeGraphFilterDialog(getShell()); // Feature in Windows. The tree vertical bar reappears when // the control is resized so we need to hide it again. // Bug in Linux. The tree header height is 0 in constructor, // so we need to reset it later when the control is resized. tree.addControlListener(new ControlAdapter() { private int depth = 0; @Override public void controlResized(ControlEvent e) { if (depth == 0) { depth++; tree.getVerticalBar().setEnabled(false); // this can trigger controlResized recursively tree.getVerticalBar().setVisible(false); depth--; } fTimeGraphViewer.setHeaderHeight(tree.getHeaderHeight()); } }); // ensure synchronization of expanded items between tree and time graph fTreeViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeCollapsed(TreeExpansionEvent event) { fTimeGraphViewer.setExpandedState((ITimeGraphEntry) event.getElement(), false); // queue the alignment update because the tree items may only be // actually collapsed after the listeners have been notified fVisibleExpandedItems = null; // invalidate the cache getDisplay().asyncExec(new Runnable() { @Override public void run() { alignTreeItems(true); } }); } @Override public void treeExpanded(TreeExpansionEvent event) { ITimeGraphEntry entry = (ITimeGraphEntry) event.getElement(); fTimeGraphViewer.setExpandedState(entry, true); Set<Object> expandedElements = new HashSet<>(Arrays.asList(fTreeViewer.getExpandedElements())); for (ITimeGraphEntry child : entry.getChildren()) { if (child.hasChildren()) { boolean expanded = expandedElements.contains(child); fTimeGraphViewer.setExpandedState(child, expanded); } } // queue the alignment update because the tree items may only be // actually expanded after the listeners have been notified fVisibleExpandedItems = null; // invalidate the cache getDisplay().asyncExec(new Runnable() { @Override public void run() { alignTreeItems(true); } }); } }); // ensure synchronization of expanded items between tree and time graph fTimeGraphViewer.addTreeListener(new ITimeGraphTreeListener() { @Override public void treeCollapsed(TimeGraphTreeExpansionEvent event) { fTreeViewer.setExpandedState(event.getEntry(), false); alignTreeItems(true); } @Override public void treeExpanded(TimeGraphTreeExpansionEvent event) { ITimeGraphEntry entry = event.getEntry(); fTreeViewer.setExpandedState(entry, true); Set<Object> expandedElements = new HashSet<>(Arrays.asList(fTreeViewer.getExpandedElements())); for (ITimeGraphEntry child : entry.getChildren()) { if (child.hasChildren()) { boolean expanded = expandedElements.contains(child); fTimeGraphViewer.setExpandedState(child, expanded); } } alignTreeItems(true); } }); // prevent mouse button from selecting a filler tree item tree.addListener(SWT.MouseDown, new Listener() { @Override public void handleEvent(Event event) { TreeItem treeItem = tree.getItem(new Point(event.x, event.y)); if (treeItem == null || treeItem.getData() == FILLER) { event.doit = false; List<TreeItem> treeItems = getVisibleExpandedItems(tree, false); if (treeItems.size() == 0) { fTreeViewer.setSelection(new StructuredSelection()); fTimeGraphViewer.setSelection(null); return; } // this prevents from scrolling up when selecting // the partially visible tree item at the bottom tree.select(treeItems.get(treeItems.size() - 1)); fTreeViewer.setSelection(new StructuredSelection()); fTimeGraphViewer.setSelection(null); } } }); // prevent mouse wheel from scrolling down into filler tree items tree.addListener(SWT.MouseWheel, new Listener() { @Override public void handleEvent(Event event) { event.doit = false; Slider scrollBar = fTimeGraphViewer.getVerticalBar(); fTimeGraphViewer.setTopIndex(scrollBar.getSelection() - event.count); alignTreeItems(false); } }); // prevent key stroke from selecting a filler tree item tree.addListener(SWT.KeyDown, new Listener() { @Override public void handleEvent(Event event) { List<TreeItem> treeItems = getVisibleExpandedItems(tree, false); if (treeItems.size() == 0) { fTreeViewer.setSelection(new StructuredSelection()); event.doit = false; return; } if (event.keyCode == SWT.ARROW_DOWN) { int index = Math.min(fTimeGraphViewer.getSelectionIndex() + 1, treeItems.size() - 1); fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData()); event.doit = false; } else if (event.keyCode == SWT.PAGE_DOWN) { int height = tree.getSize().y - tree.getHeaderHeight() - tree.getHorizontalBar().getSize().y; int countPerPage = height / getItemHeight(tree); int index = Math.min(fTimeGraphViewer.getSelectionIndex() + countPerPage - 1, treeItems.size() - 1); fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(index).getData()); event.doit = false; } else if (event.keyCode == SWT.END) { fTimeGraphViewer.setSelection((ITimeGraphEntry) treeItems.get(treeItems.size() - 1).getData()); event.doit = false; } if (fTimeGraphViewer.getSelectionIndex() >= 0) { fTreeViewer.setSelection(new StructuredSelection(fTimeGraphViewer.getSelection())); } else { fTreeViewer.setSelection(new StructuredSelection()); } alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getTimeGraphControl().addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { alignTreeItems(false); } }); // ensure synchronization of selected item between tree and time graph fTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (fInhibitTreeSelection) { return; } if (event.getSelection() instanceof IStructuredSelection) { Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (selection instanceof ITimeGraphEntry) { fTimeGraphViewer.setSelection((ITimeGraphEntry) selection); } alignTreeItems(false); } } }); // ensure synchronization of selected item between tree and time graph fTimeGraphViewer.addSelectionListener(new ITimeGraphSelectionListener() { @Override public void selectionChanged(TimeGraphSelectionEvent event) { ITimeGraphEntry entry = fTimeGraphViewer.getSelection(); fInhibitTreeSelection = true; // block the tree selection changed listener if (entry != null) { StructuredSelection selection = new StructuredSelection(entry); fTreeViewer.setSelection(selection); } else { fTreeViewer.setSelection(new StructuredSelection()); } fInhibitTreeSelection = false; alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getVerticalBar().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { alignTreeItems(false); } }); // ensure alignment of top item between tree and time graph fTimeGraphViewer.getTimeGraphControl().addMouseWheelListener(new MouseWheelListener() { @Override public void mouseScrolled(MouseEvent e) { alignTreeItems(false); } }); // ensure the tree has focus control when mouse is over it if the time graph had control fTreeViewer.getControl().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTimeGraphViewer.getTimeGraphControl().isFocusControl()) { fTreeViewer.getControl().setFocus(); } } }); // ensure the time graph has focus control when mouse is over it if the tree had control fTimeGraphViewer.getTimeGraphControl().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTreeViewer.getControl().isFocusControl()) { fTimeGraphViewer.getTimeGraphControl().setFocus(); } } }); fTimeGraphViewer.getTimeGraphScale().addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { if (fTreeViewer.getControl().isFocusControl()) { fTimeGraphViewer.getTimeGraphControl().setFocus(); } } }); // The filler rows are required to ensure alignment when the tree does not have a // visible horizontal scroll bar. The tree does not allow its top item to be set // to a value that would cause blank space to be drawn at the bottom of the tree. fNumFillerRows = Display.getDefault().getBounds().height / getItemHeight(tree); sash.setWeights(weights); }
From source file:org.eclipse.linuxtools.valgrind.ui.CollapseAction.java
License:Open Source License
@Override public void run() { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Object element = selection.getFirstElement(); viewer.collapseToLevel(element, AbstractTreeViewer.ALL_LEVELS); }
From source file:org.eclipse.linuxtools.valgrind.ui.CoreMessagesViewer.java
License:Open Source License
/** * @param parent the parent control/*from w ww . j av a2s. c o m*/ * @param style an SWT style */ public CoreMessagesViewer(Composite parent, int style) { viewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | style); viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); if (imageRegistry.getDescriptor(VALGRIND_ERROR) == null) { ImageDescriptor d = AbstractUIPlugin.imageDescriptorFromPlugin(RVMatchPlugin.PLUGIN_ID, VALGRIND_ERROR_IMAGE); if (d != null) { imageRegistry.put(VALGRIND_ERROR, d); } } if (imageRegistry.getDescriptor(VALGRIND_INFO) == null) { ImageDescriptor d = AbstractUIPlugin.imageDescriptorFromPlugin(RVMatchPlugin.PLUGIN_ID, VALGRIND_INFO_IMAGE); if (d != null) { imageRegistry.put(VALGRIND_INFO, d); } } if (imageRegistry.getDescriptor(LINK) == null) { ImageDescriptor d = AbstractUIPlugin.imageDescriptorFromPlugin(RVMatchPlugin.PLUGIN_ID, LINK_IMAGE); if (d != null) { imageRegistry.put(LINK, d); } } contentProvider = new ITreeContentProvider() { @Override public Object[] getChildren(Object parentElement) { if (parentElement instanceof Object[]) { return (Object[]) parentElement; } return ((IValgrindMessage) parentElement).getChildren(); } @Override public Object getParent(Object element) { return ((IValgrindMessage) element).getParent(); } @Override public boolean hasChildren(Object element) { return getChildren(element).length > 0; } @Override public Object[] getElements(Object inputElement) { return getChildren(inputElement); } @Override public void dispose() { } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }; viewer.setContentProvider(contentProvider); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((IValgrindMessage) element).getText(); } @Override public Image getImage(Object element) { Image image; if (element instanceof ValgrindStackFrame) { image = DebugUITools.getImage(IDebugUIConstants.IMG_OBJS_STACKFRAME); } else if (element instanceof ValgrindError) { image = imageRegistry.get(VALGRIND_ERROR); } else if (element instanceof RVMatchCitation) { image = imageRegistry.get(LINK); } else { image = imageRegistry.get(VALGRIND_INFO); } return image; } }); doubleClickListener = event -> { Object element = ((TreeSelection) event.getSelection()).getFirstElement(); if (element instanceof ValgrindStackFrame) { ValgrindStackFrame frame = (ValgrindStackFrame) element; // locator stored in the frame should be valid for the lifespan of the frame object ISourceLocator locator = frame.getSourceLocator(); ISourceLookupResult result = DebugUITools.lookupSource(frame.getFile(), locator); try { if (result.getSourceElement() != null) ProfileUIUtils.openEditorAndSelect(result, frame.getLine()); else // if lookup failed there is good chance we can just open the file by name ProfileUIUtils.openEditorAndSelect(frame.getFile(), frame.getLine(), RVMatchPlugin.getDefault().getProfiledProject()); } catch (BadLocationException | CoreException e) { RVMatchPlugin.log(e); } } else if (element instanceof RVMatchCitation) { RVMatchCitation citation = (RVMatchCitation) element; String url = citation.getUrl(); if (!url.isEmpty()) { try { PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(url)); } catch (PartInitException | MalformedURLException e) { RVMatchPlugin.logErrorMessage("Could not launch webpage " + url); } } } else { if (viewer.getExpandedState(element)) { viewer.collapseToLevel(element, AbstractTreeViewer.ALL_LEVELS); } else { viewer.expandToLevel(element, 1); } } }; viewer.addDoubleClickListener(doubleClickListener); final ExpandAction expandAction = new ExpandAction(viewer); final CollapseAction collapseAction = new CollapseAction(viewer); MenuManager manager = new MenuManager(); manager.addMenuListener(manager1 -> { ITreeSelection selection = (ITreeSelection) viewer.getSelection(); Object element = selection.getFirstElement(); if (contentProvider.hasChildren(element)) { manager1.add(expandAction); manager1.add(collapseAction); } }); manager.setRemoveAllWhenShown(true); Menu contextMenu = manager.createContextMenu(viewer.getTree()); viewer.getControl().setMenu(contextMenu); }
From source file:org.eclipse.linuxtools.valgrind.ui.ExpandAction.java
License:Open Source License
@Override public void run() { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); Object element = selection.getFirstElement(); viewer.expandToLevel(element, AbstractTreeViewer.ALL_LEVELS); }
From source file:org.eclipse.ltk.internal.ui.refactoring.history.RefactoringHistoryControl.java
License:Open Source License
/** * {@inheritDoc}// w ww . ja v a2 s .com */ public void createControl() { RefactoringCore.getHistoryService().connect(); GridLayout layout = new GridLayout(getContainerColumns(), false); layout.marginHeight = 0; layout.marginWidth = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 0; setLayout(layout); setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); fSplitterControl = new Splitter(this, SWT.VERTICAL); fSplitterControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); createRightButtonBar(this); final Composite leftPane = new Composite(fSplitterControl, SWT.NONE); layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 2; layout.verticalSpacing = 2; leftPane.setLayout(layout); fHistoryPane = new CompareViewerPane(leftPane, SWT.BORDER | SWT.FLAT); fHistoryPane.setText(getHistoryPaneText()); fHistoryPane.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); fHistoryViewer = createHistoryViewer(fHistoryPane); if (!fControlConfiguration.isTimeDisplayed()) fHistoryViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); fHistoryViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL)); fHistoryViewer.setUseHashlookup(true); fHistoryViewer.setContentProvider(getContentProvider()); fHistoryViewer.setLabelProvider(getLabelProvider()); fHistoryViewer.addSelectionChangedListener(new ISelectionChangedListener() { public final void selectionChanged(final SelectionChangedEvent event) { final ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) handleSelectionChanged((IStructuredSelection) selection); } }); fHistoryPane.setContent(fHistoryViewer.getControl()); createToolBar(fHistoryPane); createDetailPane(fSplitterControl); final MouseAdapter listener = new MouseAdapter() { public void mouseDoubleClick(final MouseEvent event) { final Control content = fHistoryPane.getContent(); if (content != null && content.getBounds().contains(event.x, event.y)) return; final Control control = fHistoryPane.getParent().getParent(); if (control instanceof Splitter) ((Splitter) control).setMaximizedControl(fHistoryPane.getParent()); } }; addMouseListener(listener); fHistoryPane.getTopLeft().addMouseListener(listener); fSplitterControl.setWeights(new int[] { 65, 35 }); createBottomButtonBar(this); Dialog.applyDialogFont(this); }