List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:com.python.pydev.analysis.PyContextActivatorViewCreatedObserver.java
License:Open Source License
public PyContextActivatorViewCreatedObserver() { onControlCreated = new ICallbackListener() { public Object call(Object obj) { if (obj instanceof TreeViewer) { TreeViewer treeViewer = (TreeViewer) obj; obj = treeViewer.getTree(); }/* w w w . j ava 2 s . com*/ if (obj instanceof Control) { Control control = (Control) obj; control.addFocusListener(pyContextObserver); } return null; } }; onControlDisposed = new ICallbackListener() { public Object call(Object obj) { if (obj instanceof TreeViewer) { TreeViewer treeViewer = (TreeViewer) obj; obj = treeViewer.getTree(); } if (obj instanceof Control) { Control control = (Control) obj; if (!control.isDisposed()) { control.removeFocusListener(pyContextObserver); } } return null; } }; }
From source file:com.rcpcompany.uibindings.extests.viewerBindings.ChildCreationSpecificationTest.java
License:Open Source License
@Test public void testTree() { myForm = myView.createFormCreator(myShop); final Tree tree = new Tree(myForm.addComposite(), SWT.SINGLE | SWT.FULL_SELECTION); tree.setLinesVisible(true);/*w ww .j a va 2 s.c om*/ tree.setHeaderVisible(true); final TreeColumn treeColumn = new TreeColumn(tree, SWT.LEAD); treeColumn.setText(""); final IObservableList list = WritableList.withElementType(ShopPackage.Literals.SHOP); list.add(myShop); final IViewerBinding vb = myForm.getContext().addViewer().viewer(tree).model(list); vb.addColumn().model(SpecialBinding.TREE_ITEM).column(treeColumn); myForm.finish(); yield(); /* * Top-level item as parent */ assertNoLog(new Runnable() { @Override public void run() { final List<IChildCreationSpecification> specs = vb.getPossibleChildObjects(myShop, null); assertNotNull(specs); assertEquals(2, specs.size()); IChildCreationSpecification sp; sp = specs.get(0); assertEquals(myShop, sp.getParent()); assertEquals(ShopPackage.Literals.SHOP__CONTACTS, sp.getReference()); assertEquals(ShopPackage.Literals.CONTACT, sp.getChildType()); assertEquals(-1, sp.getIndex()); sp = specs.get(1); assertEquals(myShop, sp.getParent()); assertEquals(ShopPackage.Literals.SHOP__SHOP_ITEMS, sp.getReference()); assertEquals(ShopPackage.Literals.SHOP_ITEM, sp.getChildType()); assertEquals(-1, sp.getIndex()); } }); /* * Top-level item as parent and sibling */ assertNoLog(new Runnable() { @Override public void run() { final List<IChildCreationSpecification> specs = vb.getPossibleChildObjects(myShop, myShopItem2); assertNotNull(specs); assertEquals(1, specs.size()); IChildCreationSpecification sp; sp = specs.get(0); assertEquals(myShop, sp.getParent()); assertEquals(ShopPackage.Literals.SHOP__SHOP_ITEMS, sp.getReference()); assertEquals(ShopPackage.Literals.SHOP_ITEM, sp.getChildType()); assertEquals(1, sp.getIndex()); } }); /* * null as parent */ assertNoLog(new Runnable() { @Override public void run() { final List<IChildCreationSpecification> specs = vb.getPossibleChildObjects(null, null); assertNotNull(specs); assertEquals(0, specs.size()); } }); /* * null as parent and non-null sibling */ assertNoLog(new Runnable() { @Override public void run() { final List<IChildCreationSpecification> specs = vb.getPossibleChildObjects(null, myShopItem2); assertNotNull(specs); assertEquals(1, specs.size()); IChildCreationSpecification sp; sp = specs.get(0); assertEquals(myShop, sp.getParent()); assertEquals(ShopPackage.Literals.SHOP__SHOP_ITEMS, sp.getReference()); assertEquals(ShopPackage.Literals.SHOP_ITEM, sp.getChildType()); assertEquals(1, sp.getIndex()); } }); /* * Child as parent */ assertNoLog(new Runnable() { @Override public void run() { // TODO SVTB final TreeViewer tv = (TreeViewer) vb.getViewer(); assertNotNull(tv); tv.expandAll(); final Tree tree = tv.getTree(); assertNotNull(tree); TreeItem item; item = tree.getItem(0); assertNotNull(item); item = item.getItem(0); assertNotNull(item); final Object data = item.getData(); assertNotNull(data); assertTrue(data instanceof IConstantTreeItem); final IConstantTreeItem i = (IConstantTreeItem) data; final List<IChildCreationSpecification> specs = vb.getPossibleChildObjects(i, null); assertNotNull(specs); assertEquals(1, specs.size()); IChildCreationSpecification sp; sp = specs.get(0); assertEquals(myShop, sp.getParent()); assertEquals(ShopPackage.Literals.SHOP__CONTACTS, sp.getReference()); assertEquals(ShopPackage.Literals.CONTACT, sp.getChildType()); assertEquals(-1, sp.getIndex()); } }); }
From source file:com.redhat.ceylon.eclipse.code.outline.CeylonOutlinePage.java
License:Open Source License
public void update(final CeylonParseController parseController) { TreeViewer treeViewer = getTreeViewer(); if (treeViewer != null && !treeViewer.getTree().isDisposed()) { treeViewer.getTree().getDisplay().asyncExec(new Runnable() { public void run() { TreeViewer treeViewer = getTreeViewer(); if (treeViewer != null && !treeViewer.getTree().isDisposed()) { treeViewer.setInput(modelBuilder.buildTree(parseController.getRootNode())); }//from www . j av a 2 s.c om } }); } }
From source file:com.safi.workshop.sqlexplorer.dbstructure.DBTreeActionGroup.java
License:Open Source License
/** * Construct a new action group for a given database structure outline. * /*ww w. j a v a 2s . c o m*/ * @param treeViewer * TreeViewer used for this outline. */ public DBTreeActionGroup(TreeViewer treeViewer) { _treeViewer = treeViewer; treeViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { runDefault(); } }); }
From source file:com.safi.workshop.sqlexplorer.plugin.views.DatabaseStructureView.java
License:Open Source License
/** * Add a new session to the database structure view. This will create a new tab for the * session./* w ww .jav a2 s . c om*/ * * @param session */ private void addSession(final MetaDataSession session) throws SQLCannotConnectException { if (_allSessions.contains(session)) return; try { session.getMetaData(); session.setAutoCommit(true); } catch (SQLCannotConnectException e) { SQLExplorerPlugin.error(e); throw e; } catch (SQLException e) { SQLExplorerPlugin.error(e); MessageDialog.openError(getSite().getShell(), "Cannot connect", e.getMessage()); } DatabaseNode rootNode = session.getRoot(); if (rootNode == null) return; _allSessions.add(session); if (_filterAction != null) { _filterAction.setEnabled(true); } if (_tabFolder == null || _tabFolder.isDisposed()) { clearParent(); // create tab folder for different sessions _tabFolder = new CTabFolder(_parent, SWT.TOP | SWT.CLOSE); // add listener to keep both views on the same active tab _tabFolder.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // set the selected node in the detail view. DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); synchronizeDetailView(detailView); } }); // Set up a gradient background for the selected tab Display display = getSite().getShell().getDisplay(); _tabFolder.setSelectionBackground( new Color[] { display.getSystemColor(SWT.COLOR_WHITE), new Color(null, 211, 225, 250), new Color(null, 175, 201, 246), IConstants.TAB_BORDER_COLOR }, new int[] { 25, 50, 75 }, true); // Add a listener to handle the close button on each tab _tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() { @Override public void close(CTabFolderEvent event) { CTabItem tabItem = (CTabItem) event.item; TabData tabData = (TabData) tabItem.getData(); _allSessions.remove(tabData.session); event.doit = true; } }); _parent.layout(); _parent.redraw(); } // create tab final CTabItem tabItem = new CTabItem(_tabFolder, SWT.NULL); TabData tabData = new TabData(); tabItem.setData(tabData); tabData.session = session; // set tab text String labelText = session.getUser().getDescription(); tabItem.setText(labelText); // create composite for our outline Composite composite = new Composite(_tabFolder, SWT.NULL); composite.setLayout(new FillLayout()); tabItem.setControl(composite); // create outline final TreeViewer treeViewer = new TreeViewer(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.BORDER); tabData.treeViewer = treeViewer; // add drag support // TODO improve drag support options Transfer[] transfers = new Transfer[] { TableNodeTransfer.getInstance() }; treeViewer.addDragSupport(DND.DROP_COPY, transfers, new DragSourceListener() { public void dragFinished(DragSourceEvent event) { System.out.println("$drag finished"); TableNodeTransfer.getInstance().setSelection(null); } public void dragSetData(DragSourceEvent event) { Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement(); event.data = sel; } public void dragStart(DragSourceEvent event) { event.doit = !treeViewer.getSelection().isEmpty(); if (event.doit) { Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement(); if (!(sel instanceof TableNode)) { event.doit = false; } else { TableNode tn = (TableNode) sel; TableNodeTransfer.getInstance().setSelection(tn); if (!tn.isTable()) event.doit = false; } } } }); // use hash lookup to improve performance treeViewer.setUseHashlookup(true); // add content and label provider treeViewer.setContentProvider(new DBTreeContentProvider()); treeViewer.setLabelProvider(new DBTreeLabelProvider()); // set input session treeViewer.setInput(rootNode); // add selection change listener, so we can update detail view as // required. treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent ev) { // set the selected node in the detail view. DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); synchronizeDetailView(detailView); } }); // bring detail to front on doubleclick of node treeViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { try { // find view DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); if (detailView == null) { getSite().getPage().showView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); } getSite().getPage().bringToTop(detailView); synchronizeDetailView(detailView); } catch (Exception e) { // fail silent } } }); // add expand/collapse listener treeViewer.addTreeListener(new ITreeViewerListener() { public void treeCollapsed(TreeExpansionEvent event) { // refresh the node to change image INode node = (INode) event.getElement(); node.setExpanded(false); TreeViewer viewer = (TreeViewer) event.getSource(); viewer.update(node, null); } public void treeExpanded(TreeExpansionEvent event) { // refresh the node to change image INode node = (INode) event.getElement(); node.setExpanded(true); TreeViewer viewer = (TreeViewer) event.getSource(); viewer.update(node, null); } }); // set new tab as the active one _tabFolder.setSelection(_tabFolder.getItemCount() - 1); // update detail view DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage() .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL); if (detailView != null) { // synchronze detail view with new session synchronizeDetailView(detailView); // bring detail to top of the view stack getSite().getPage().bringToTop(detailView); } // refresh view composite.layout(); _tabFolder.layout(); _tabFolder.redraw(); // bring this view to top of the view stack, above detail if needed.. getSite().getPage().bringToTop(this); // add context menu final DBTreeActionGroup actionGroup = new DBTreeActionGroup(treeViewer); MenuManager menuManager = new MenuManager("DBTreeContextMenu"); menuManager.setRemoveAllWhenShown(true); Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree()); treeViewer.getTree().setMenu(contextMenu); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { actionGroup.fillContextMenu(manager); } }); }
From source file:com.siteview.mde.internal.ui.editor.monitor.FormFilteredTree.java
License:Open Source License
protected TreeViewer doCreateTreeViewer(Composite parent, int style) { TreeViewer viewer = super.doCreateTreeViewer(parent, toolkit.getBorderStyle() | style); toolkit.paintBordersFor(viewer.getTree().getParent()); return viewer; }
From source file:com.siteview.mde.internal.ui.parts.TreeMessageDialog.java
License:Open Source License
protected Control createCustomArea(Composite parent) { TreeViewer viewer = new TreeViewer(parent, SWT.BORDER); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 150;// ww w . j a v a 2 s .co m viewer.getTree().setLayoutData(gd); viewer.setContentProvider(fContentProvider); viewer.setLabelProvider(fLabelProvider); viewer.setInput(fInput); applyDialogFont(viewer.getControl()); return viewer.getControl(); }
From source file:com.synflow.ngDesign.ui.internal.handlers.NewMenuHandler.java
License:Open Source License
@Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchPart part = HandlerUtil.getActivePartChecked(event); IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event); if (ProjectExplorer.VIEW_ID.equals(part.getSite().getId())) { ProjectExplorer explorer = (ProjectExplorer) part.getAdapter(ProjectExplorer.class); INavigatorContentService service = explorer.getNavigatorContentService(); // creates and fills a menu manager MenuManager menuManager = new MenuManager(); ProjectExplorerNewActionProvider provider = new ProjectExplorerNewActionProvider(); ISelection selection = HandlerUtil.getCurrentSelectionChecked(event); provider.setContext(new ActionContext(selection)); provider.init(window, service);//from w w w . j av a 2 s .co m provider.fillContextMenu(menuManager); // create context menu and show it TreeViewer commonViewer = explorer.getCommonViewer(); showMenu(menuManager, commonViewer.getTree()); } return null; }
From source file:com.testify.ecfeed.ui.editor.TestCasesViewer.java
License:Open Source License
@Override protected TreeViewer createTreeViewer(Composite parent, int style) { TreeViewer treeViewer = super.createTreeViewer(parent, style); final Tree tree = treeViewer.getTree(); tree.addListener(SWT.Selection, new Listener() { @Override//from ww w .j a v a 2 s . c o m public void handleEvent(Event event) { if (event.detail == SWT.CHECK) { fExecuteSelectedButton.setEnabled(executionEnabled()); } } }); return treeViewer; }
From source file:com.twinsoft.convertigo.eclipse.property_editors.XmlQNameEditorComposite.java
License:Open Source License
public XmlQNameEditorComposite(final Composite parent, int style, AbstractDialogCellEditor cellEditor) { super(parent, style, cellEditor); try {// ww w . j av a 2s . co m String propertyName = "" + cellEditor.propertyDescriptor.getId(); DatabaseObject dbo = cellEditor.databaseObjectTreeObject.getObject(); Project project = dbo.getProject(); collection = Engine.theApp.schemaManager.getSchemasForProject(project.getName()); currentNamespace = project.getTargetNamespace(); if ("xmlTypeAffectation".equals(propertyName)) { // useComplexType = true; // TODO: add complex type support for input variables useSimpleType = true; } else { useComplexType = "xmlComplexTypeAffectation".equals(propertyName); useSimpleType = "xmlSimpleTypeAffectation".equals(propertyName); } useType = useComplexType || useSimpleType; useRef = "xmlElementRefAffectation".equals(propertyName); } catch (Exception e) { e.printStackTrace(); } this.setLayoutData(new GridData(GridData.FILL_BOTH)); this.setLayout(new GridLayout(1, false)); new Label(this, style).setText("Existing objects"); final TreeViewer treeViewer = new TreeViewer(this); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); treeViewer.setContentProvider(new SchemaViewContentProvider() { @Override protected void filter(XmlSchemaObject xso, List<XmlSchemaObject> children, XmlSchemaObject subObject) { if (xso instanceof XmlSchema) { if ((useSimpleType && subObject instanceof XmlSchemaSimpleType) || useComplexType && subObject instanceof XmlSchemaComplexType || useRef && subObject instanceof XmlSchemaElement) { super.filter(xso, children, subObject); } } else { super.filter(xso, children, subObject); } } @Override public Object[] getChildren(Object object) { Object[] children = super.getChildren(object); for (Object child : children) { if (child instanceof NamedList) { if (useType && "Types".equals(((NamedList) child).getName())) { return new Object[] { child }; } else if (useRef && "Elements".equals(((NamedList) child).getName())) { return new Object[] { child }; } } else { return children; } } return children; } }); treeViewer.setComparer(new IElementComparer() { public int hashCode(Object element) { return element.hashCode(); } public boolean equals(Object a, Object b) { return a == b; } }); DecoratingLabelProvider dlp = new DecoratingLabelProvider(new SchemaViewLabelProvider(), new SchemaViewLabelDecorator()); treeViewer.setLabelProvider(dlp); treeViewer.setInput(collection); treeViewer.expandToLevel(3); new Label(this, SWT.NONE).setText("Namespace"); tNamespace = new Text(this, SWT.NONE); tNamespace.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); tNamespace.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); tNamespace.setEditable(false); new Label(this, SWT.NONE).setText("Local name"); tLocalName = new Text(this, SWT.NONE); tLocalName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); final Button bNone = new Button(this, SWT.NONE); bNone.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); bNone.setText("No " + (useComplexType ? "type" : (useRef ? "element" : "object"))); new Label(this, SWT.NONE).setText("Summary"); lSummary = new Label(this, SWT.WRAP); lSummary.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); lSummary.setText("No change."); lSummary.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { TreePath[] path = ((ITreeSelection) event.getSelection()).getPaths(); XmlSchemaObject object = null; QName qName = null; if (path.length > 0 && path[0].getSegmentCount() > 2 && path[0].getSegment(2) instanceof XmlSchemaType) { object = (XmlSchemaType) path[0].getSegment(2); qName = ((XmlSchemaType) object).getQName(); } if (path.length > 0 && path[0].getSegmentCount() > 2 && path[0].getSegment(2) instanceof XmlSchemaElement) { object = (XmlSchemaElement) path[0].getSegment(2); qName = ((XmlSchemaElement) object).getQName(); } if (object != null) { String obText = (useType ? "type" : (useRef ? "element" : "object")); tLocalName.setText(qName.getLocalPart()); tNamespace.setText(qName.getNamespaceURI()); updateLabel(obText, qName, object); XmlQNameEditorComposite.this.layout(true); } } }); bNone.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { tNamespace.setText(""); tLocalName.setText(""); lSummary.setText("No " + (useType ? "type" : (useRef ? "element" : "object")) + " set."); lSummary.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND)); } }); tLocalName.addVerifyListener(new VerifyListener() { public void verifyText(VerifyEvent e) { if (e.text.contains(" ")) { e.doit = false; } } }); tLocalName.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { String txt = tLocalName.getText(); if (txt.length() == 0) { //bNone.notifyListeners(SWT.Selection, null); // commented to prevent stack over flow } else { tNamespace.setText(currentNamespace); QName qName = new QName(currentNamespace, txt); XmlSchemaType type = collection.getTypeByQName(qName); XmlSchemaElement element = collection.getElementByQName(qName); XmlSchemaObject object = type == null ? element : type; String obText = (useType ? "type" : (useRef ? "element" : "object")); if (object == null) { lSummary.setText("Create the dynamic " + obText + " : \n" + qName.toString()); lSummary.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_MAGENTA)); XmlQNameEditorComposite.this.layout(true); } else { updateLabel(obText, qName, object); } } } }); if (useSimpleType) { tLocalName.setEnabled(false); bNone.setEnabled(false); } XmlQName schemaDefinition = (XmlQName) cellEditor.getValue(); if (schemaDefinition != null) { QName qName = schemaDefinition.getQName(); if (useType) { XmlSchemaType type = collection.getTypeByQName(qName); if (type != null) { treeViewer.setSelection(new StructuredSelection(type), true); } } if (useRef) { XmlSchemaElement element = collection.getElementByQName(qName); if (element != null) { treeViewer.setSelection(new StructuredSelection(element), true); } } } }