List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.cdt.cpp.ui.internal.editor.contentoutliner.CppContentOutlinePage.java
License:Open Source License
private void hackRedraw() { TreeViewer treeViewer = getTreeViewer(); Tree tree = treeViewer.getTree(); TreeItem[] items = tree.getItems();//ww w. j a va 2 s . c o m ArrayList newItems = _elementRoot.getAssociated(_elementRoot.getDataStore().getContentsRelation()); if (newItems.size() > 0) { for (int i = 0; i < items.length; i++) { TreeItem item = items[i]; Object data = item.getData(); DataElement oldElement = (DataElement) data; if (newItems.size() > i) { DataElement newElement = (DataElement) newItems.get(i); if (oldElement != newElement) { item.setData(newElement); DataElementLabelProvider provider = (DataElementLabelProvider) treeViewer .getLabelProvider(); // need to really do an update though to register properly item.setText(provider.getText(newElement)); item.setImage(provider.getImage(newElement)); treeViewer.refresh(newElement); } } else { if (oldElement.isDeleted()) { treeViewer.remove(oldElement); } } } for (int j = items.length; j < newItems.size(); j++) { DataElement newElement = (DataElement) newItems.get(j); TreeItem item = new TreeItem(tree, SWT.NONE); item.setData(newElement); DataElementLabelProvider provider = (DataElementLabelProvider) treeViewer.getLabelProvider(); // need to really do an update though to register properly item.setText(provider.getText(newElement)); item.setImage(provider.getImage(newElement)); treeViewer.refresh(newElement); } } }
From source file:org.eclipse.cdt.internal.ui.cview.CView.java
License:Open Source License
/** * Initializes and registers the context menu. *//*from ww w . java2 s. c o m*/ protected void initContextMenu() { MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { CView.this.fillContextMenu(manager); } }); TreeViewer viewer = getViewer(); Menu menu = menuMgr.createContextMenu(viewer.getTree()); viewer.getTree().setMenu(menu); getSite().registerContextMenu(menuMgr, viewer); }
From source file:org.eclipse.cdt.internal.ui.cview.CViewRenameAction.java
License:Open Source License
/** * Create a ResourceNavigatorRenameAction and use the tree of the supplied viewer * for editing./*from w w w . j a v a 2 s .c o m*/ * @param shell Shell * @param treeViewer TreeViewer * @deprecated */ @Deprecated public CViewRenameAction(Shell shell, TreeViewer treeViewer) { super(shell, treeViewer.getTree()); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ICHelpContextIds.RENAME_ACTION); this.viewer = treeViewer; }
From source file:org.eclipse.cdt.internal.ui.cview.CViewRenameAction.java
License:Open Source License
/** * Create a ResourceNavigatorRenameAction and use the tree of the supplied viewer * for editing./* www. java2 s . co m*/ * @param shellProvider a provider for a shell * @param treeViewer TreeViewer */ public CViewRenameAction(IShellProvider shellProvider, TreeViewer treeViewer) { super(shellProvider, treeViewer.getTree()); PlatformUI.getWorkbench().getHelpSystem().setHelp(this, ICHelpContextIds.RENAME_ACTION); this.viewer = treeViewer; }
From source file:org.eclipse.cdt.internal.ui.text.COutlineInformationControl.java
License:Open Source License
/** * {@inheritDoc}/*from w w w .j a v a 2s .c o m*/ */ @Override protected TreeViewer createTreeViewer(Composite parent, int treeStyle) { TreeViewer treeViewer = new ProblemTreeViewer(parent, treeStyle); final Tree tree = treeViewer.getTree(); tree.setLayoutData(new GridData(GridData.FILL_BOTH)); fOutlineContentProvider = new CContentOutlinerProvider(treeViewer); treeViewer.setContentProvider(fOutlineContentProvider); fSortingAction = new LexicalSortingAction(treeViewer, ".isChecked"); //$NON-NLS-1$ treeViewer.addFilter(new NamePatternFilter()); long textFlags = TEXT_FLAGS; if (PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.OUTLINE_GROUP_MEMBERS)) textFlags = textFlags | CElementLabels.M_SIMPLE_NAME | CElementLabels.F_SIMPLE_NAME; treeViewer.setLabelProvider( new DecoratingCLabelProvider(new AppearanceAwareLabelProvider(textFlags, IMAGE_FLAGS), true)); treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS); return treeViewer; }
From source file:org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigsController.java
License:Open Source License
/** * Assigns the tree viewer that I control. * //from w w w . j a v a 2s . c o m * @param tree * my tree viewer */ void setTreeViewer(final TreeViewer tree) { if (this.tree != null) { this.tree.removeSelectionChangedListener(this); } this.tree = tree; if (this.tree != null) { this.tree.addSelectionChangedListener(this); this.tree.setInput(workspace.getWorkingSets()); if (!workspace.getWorkingSets().isEmpty()) { tree.getTree().getDisplay().asyncExec(new Runnable() { @Override public void run() { Object initialSelection; ITreeContentProvider content = (ITreeContentProvider) tree.getContentProvider(); if ((initialWorkingSet != null) && Arrays.asList(content.getElements(tree.getInput())) .contains(initialWorkingSet)) { initialSelection = initialWorkingSet; } else { // we have a most-recently-used working set. Just // take the first in tree order initialSelection = tree.getTree().getItem(0).getData(); } Object[] children = content.getChildren(initialSelection); IStructuredSelection sel; if ((children == null) || (children.length == 0)) { // Shouldn't happen: there should at least be the // read-only config. // Can only select the initial working set sel = new StructuredSelection(initialSelection); } else { Object[] toSort = new Object[children.length]; System.arraycopy(children, 0, toSort, 0, children.length); tree.getComparator().sort(tree, toSort); sel = new StructuredSelection(toSort[0]); } // make the selection tree.setSelection(sel, true); } }); } } }
From source file:org.eclipse.cdt.internal.ui.workingsets.WorkingSetConfigurationBlock.java
License:Open Source License
/** * Creates the "working set configurations" pane in the upper part of the sash form. * /*from ww w. j ava 2 s. c om*/ * @param parent * the parent composite * @param layoutFactory * a layout-factory to use to lay out the composite in a grid, possibly pre-configured. Its use * is optional * * @return the working set configurations pane */ protected Composite createWorkingSetConfigsArea(Composite parent, GridLayoutFactory layoutFactory) { Composite result = new Composite(parent, SWT.NONE); layoutFactory.numColumns(2).applyTo(result); GridDataFactory layoutDataFactory = GridDataFactory.fillDefaults(); Label label = new Label(result, SWT.NONE); label.setText(WorkingSetMessages.WSConfigDialog_wsTree_label); layoutDataFactory.span(2, 1).applyTo(label); controller = new WorkingSetConfigsController(workspace, initialSelection); TreeViewer tree = new TreeViewer(result); layoutDataFactory.span(1, 1).align(SWT.FILL, SWT.FILL).grab(true, true).hint(250, SWT.DEFAULT) .applyTo(tree.getControl()); tree.setContentProvider(new WSConfigsContentProvider()); tree.setLabelProvider(new WSConfigsLabelProvider(tree)); controller.setTreeViewer(tree); tree.setComparator(new ViewerComparator() { @Override public int category(Object element) { if (element instanceof IWorkingSetConfiguration.ISnapshot) { IWorkingSetConfiguration.ISnapshot config = (IWorkingSetConfiguration.ISnapshot) element; if (config.isReadOnly()) { return 0; } } return 1; } }); tree.getTree().getAccessible().addAccessibleListener(new AccessibleAdapter() { @Override public void getName(AccessibleEvent e) { e.result = WorkingSetMessages.WSConfigDialog_wsTree_accessible_name; } }); Composite buttons = new Composite(result, SWT.NONE); layoutDataFactory.grab(false, false).hint(SWT.DEFAULT, SWT.DEFAULT).applyTo(buttons); layoutFactory.numColumns(1).extendedMargins(0, 0, 0, 0).applyTo(buttons); Button button = new Button(buttons, SWT.PUSH); layoutDataFactory.align(SWT.FILL, SWT.BEGINNING).applyTo(button); button.setText(WorkingSetMessages.WSConfigDialog_add_label); controller.setAddButton(button); button = new Button(buttons, SWT.PUSH); layoutDataFactory.applyTo(button); button.setText(WorkingSetMessages.WSConfigDialog_remove_label); controller.setRemoveButton(button); button = new Button(buttons, SWT.PUSH); layoutDataFactory.applyTo(button); button.setText(WorkingSetMessages.WSConfigDialog_rename_label); controller.setRenameButton(button); button = new Button(buttons, SWT.PUSH); layoutDataFactory.applyTo(button); button.setText(WorkingSetMessages.WSConfigDialog_activate_label); controller.setActivateButton(button); button = new Button(buttons, SWT.PUSH); layoutDataFactory.applyTo(button); button.setText(WorkingSetMessages.WSConfigDialog_build_label); controller.setBuildButton(button); return result; }
From source file:org.eclipse.cdt.launch.internal.ui.MultiLaunchConfigurationSelectionDialog.java
License:Open Source License
@Override public void selectionChanged(SelectionChangedEvent event) { // This listener gets called for a selection change in the launch // configuration viewer embedded in the dialog. Problem is, there are // numerous viewers--one for each platform debug ILaunchGroup (run, // debug, profile). These viewers are stacked, so only one is ever // visible to the user. During initialization, we get a selection change // notification for every viewer. We need to ignore all but the one that // matters--the visible one. Tree topTree = null;//from w w w .j a va 2 s . c o m final Control topControl = fStackComposite.getTopControl(); if (topControl instanceof FilteredTree) { final TreeViewer viewer = ((FilteredTree) topControl).getViewer(); if (viewer != null) { topTree = viewer.getTree(); } } if (topTree == null) { return; } boolean selectionIsForVisibleViewer = false; final Object src = event.getSource(); if (src instanceof Viewer) { final Control viewerControl = ((Viewer) src).getControl(); if (viewerControl == topTree) { selectionIsForVisibleViewer = true; } } if (!selectionIsForVisibleViewer) { return; } fSelection = event.getSelection(); validate(); }
From source file:org.eclipse.cdt.ui.tests.callhierarchy.CallHierarchyAcrossProjectsTest.java
License:Open Source License
public void testMethodsInMultipleFiles() throws Exception { StringBuilder[] content = getContentsForTest(3); String header = content[0].toString(); String source1 = content[1].toString(); String source2 = content[2].toString(); IFile headerFile = createFile(fCProject.getProject(), "testMethods.h", header); IFile sourceFile1 = createFile(fCProject.getProject(), "testMethods1.cpp", source1); IFile sourceFile2 = createFile(fCProject2.getProject(), "testMethods2.cpp", source2); CEditor editor = openEditor(sourceFile1); waitUntilFileIsIndexed(fIndex, sourceFile2); editor.selectAndReveal(source1.indexOf("method3"), 2); openCallHierarchy(editor);// w w w . ja va2 s . c o m TreeViewer tv = getCHTreeViewer(); checkTreeNode(tv.getTree(), 0, "MyClass::method3() : void"); TreeItem item = checkTreeNode(tv.getTree(), 0, 0, "MyClass::method2() : void"); checkTreeNode(tv.getTree(), 0, 1, null); tv.setExpandedState(item.getData(), true); TreeItem nextItem = checkTreeNode(item, 0, "MyClass::method1() : void"); checkTreeNode(item, 1, null); item = nextItem; tv.setExpandedState(item.getData(), true); checkTreeNode(item, 0, null); }
From source file:org.eclipse.cdt.ui.tests.callhierarchy.CallHierarchyAcrossProjectsTest.java
License:Open Source License
public void testMultipleImplsForMethod() throws Exception { StringBuilder[] content = getContentsForTest(3); String header = content[0].toString(); String source1 = content[1].toString(); String source2 = content[2].toString(); IFile headerFile = createFile(getProject(), "testMethods.h", header); IFile sourceFile1 = createFile(fCProject2.getProject(), "testMethods1.cpp", source1); IFile sourceFile2 = createFile(getProject(), "testMethods2.cpp", source2); CEditor editor = openEditor(sourceFile1); waitUntilFileIsIndexed(fIndex, sourceFile1); waitUntilFileIsIndexed(fIndex, sourceFile2); editor.selectAndReveal(source1.indexOf("method3"), 2); openCallHierarchy(editor);/* w ww . j a v a2s . com*/ TreeViewer tv = getCHTreeViewer(); checkTreeNode(tv.getTree(), 0, "MyClass::method3() : void"); TreeItem item0 = checkTreeNode(tv.getTree(), 0, 0, "MyClass::method1() : void"); TreeItem item1 = checkTreeNode(tv.getTree(), 0, 1, "MyClass::method2() : void"); checkTreeNode(tv.getTree(), 0, 2, null); // method 1 tv.setExpandedState(item0.getData(), true); checkTreeNode(item0, 0, null); // method 2 tv.setExpandedState(item1.getData(), true); TreeItem nextItem = checkTreeNode(item1, 0, "MyClass::method1() : void"); checkTreeNode(item1, 1, null); item1 = nextItem; tv.setExpandedState(item1.getData(), true); checkTreeNode(item1, 0, null); }