List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:com.piece_framework.makegood.ui.views.ResultView.java
License:Open Source License
/** * @since 2.5.0//from ww w . jav a 2 s . c om */ private TreeViewer createTestResultsTreeViewer(Tree resultTree) { TreeViewer treeViewer = new TreeViewer(resultTree); treeViewer.setContentProvider(new ResultTreeContentProvider()); treeViewer.setLabelProvider(new ResultTreeLabelProvider()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { failureTrace.clearText(); if (!(event.getSelection() instanceof IStructuredSelection)) return; IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object element = selection.getFirstElement(); if (!(element instanceof TestCaseResult)) return; TestCaseResult testCase = (TestCaseResult) element; if (!testCase.isFixed()) return; if (!testCase.hasFailures() && !testCase.hasErrors()) return; failureTrace.setText(testCase.getFailureTrace()); } }); treeViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (element == null) return; if (element instanceof Result) { try { editorOpener.open((Result) element); } catch (PartInitException e) { Activator.getDefault().getLog() .log(new Status(IStatus.WARNING, Activator.PLUGIN_ID, e.getMessage(), e)); } } } }); return treeViewer; }
From source file:com.python.pydev.refactoring.refactorer.search.copied.FileSearchPage.java
License:Open Source License
@Override protected void configureTreeViewer(TreeViewer viewer) { viewer.setUseHashlookup(true);/*from w w w . ja v a2 s. c om*/ FileLabelProvider innerLabelProvider = new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL); viewer.setLabelProvider(innerLabelProvider); viewer.setContentProvider(new FileTreeContentProvider(this, viewer)); viewer.setComparator(new DecoratorIgnoringViewerSorter(innerLabelProvider)); fContentProvider = (IFileSearchContentProvider) viewer.getContentProvider(); addDragAdapters(viewer); }
From source file:com.questoid.sqlitebrowser.view.SqliteBrowserView.java
License:Open Source License
private void createSchemaGui(final TabFolder tabFolder, final SchemaTree schemaTreeModel) { final TabItem dbStructureTabItem = new TabItem(tabFolder, SWT.NULL); dbStructureTabItem.setText("Database Structure"); final Tree tree = new Tree(tabFolder, SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL); tree.setHeaderVisible(true);/* w w w.j ava 2s . c o m*/ tree.setLinesVisible(true); tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // create the jface wrapper final TreeViewer treeViewer = new TreeViewer(tree); final String[] schemaColumnNames = new String[] { "Name", "Object", "Type", "Schema" }; final int[] schemaColumnWidths = new int[] { 200, 100, 150, 800 }; final int[] schemaColumnAlignments = new int[] { SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT }; for (int i = 0; i < schemaColumnNames.length; i++) { final TreeColumn treeColumn = new TreeColumn(tree, schemaColumnAlignments[i]); treeColumn.setText(schemaColumnNames[i]); treeColumn.pack(); treeColumn.setWidth(schemaColumnWidths[i]); } final SchemaContentProvider schemaContentProvider = new SchemaContentProvider(); treeViewer.setContentProvider(schemaContentProvider); treeViewer.setLabelProvider(new SchemaLabelProvider()); treeViewer.setInput(schemaTreeModel.getRoot()); // Add table viewer to database structure tab item dbStructureTabItem.setControl(tree); }
From source file:com.redhat.ceylon.eclipse.code.outline.CeylonOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(contentProvider); if (labelProvider != null) { viewer.setLabelProvider(labelProvider); }// w w w . j a v a2s . c om viewer.addSelectionChangedListener(this); CeylonOutlineNode rootNode = modelBuilder.buildTree(parseController.getRootNode()); viewer.setAutoExpandLevel(4); viewer.setInput(rootNode); viewer.setComparer(new IElementComparer() { @Override public int hashCode(Object element) { return element.hashCode(); } @Override public boolean equals(Object a, Object b) { return a.equals(b); } }); IPageSite site = getSite(); IToolBarManager toolBarManager = site.getActionBars().getToolBarManager(); toolBarManager.add(new ExpandAllAction()); toolBarManager.add(new CollapseAllAction(viewer)); toolBarManager.add(new LexicalSortingAction()); toolBarManager.add(new HideNonSharedAction()); MenuManager mm = new MenuManager(); JavaPlugin.createStandardGroups(mm); /*mm.add(new GroupMarker("find")); mm.add(new Separator()); mm.add(new GroupMarker("refactor")); mm.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));*/ site.registerContextMenu(OUTLINE_POPUP_MENU_ID, mm, getTreeViewer()); site.setSelectionProvider(getTreeViewer()); viewer.getControl().setMenu(mm.createContextMenu(viewer.getControl())); }
From source file:com.redhat.ceylon.eclipse.code.outline.OutlinePopup.java
License:Open Source License
@Override protected TreeViewer createTreeViewer(Composite parent, int style) { Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI)); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight() * 12; tree.setLayoutData(gd);//from ww w . ja v a 2 s . com final TreeViewer treeViewer = new OutlineTreeViewer(tree); lexicalSortingAction = new LexicalSortingAction(treeViewer); outlineContentProvider = new CeylonOutlineContentProvider(); labelProvider = new CeylonLabelProvider(); treeViewer.setLabelProvider(labelProvider); treeViewer.addFilter(new NamePatternFilter()); // fSortByDefiningTypeAction= new SortByDefiningTypeAction(treeViewer); // fShowOnlyMainTypeAction= new ShowOnlyMainTypeAction(treeViewer); treeViewer.setContentProvider(outlineContentProvider); outlineSorter = new OutlineSorter(); treeViewer.setSorter(outlineSorter); treeViewer.setAutoExpandLevel(ALL_LEVELS); //treeViewer.getTree().addKeyListener(getKeyAdapter()); return treeViewer; }
From source file:com.reprezen.swagedit.core.editor.outline.JsonContentOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new OutlineContentProvider()); viewer.setLabelProvider(new OutlineStyledLabelProvider()); viewer.addSelectionChangedListener(this); viewer.setAutoExpandLevel(2);/* w w w . java2s . c om*/ viewer.setUseHashlookup(true); if (currentInput != null) { setInput(currentInput); } }
From source file:com.reprezen.swagedit.core.editor.outline.QuickOutline.java
License:Open Source License
protected TreeViewer createTreeViewer(Composite parent) { final Tree tree = new Tree(parent, SWT.SINGLE); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = tree.getItemHeight(); tree.setLayoutData(gd);/*w ww . ja va 2 s .c o m*/ final TreeViewer treeViewer = new TreeViewer(tree); treeViewer.setContentProvider(new OutlineContentProvider()); treeViewer.setLabelProvider(new OutlineStyledLabelProvider()); treeViewer.addFilter(new NamePatternFilter()); // Using ALL_LEVELS will cause editor to hang on large specs treeViewer.setAutoExpandLevel(2); treeViewer.setUseHashlookup(true); tree.addKeyListener(new KeyListener() { @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent e) { if (isInvocationEvent(e)) { e.doit = false; handleMultiView(); } else if (e.keyCode == SWT.CR) { handleSelection(); QuickOutline.this.close(); } } }); tree.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { super.mouseDown(e); } public void mouseUp(MouseEvent e) { if (tree.getSelectionCount() < 1) { return; } if (e.button != 1) { return; } if (tree.equals(e.getSource())) { Object o = tree.getItem(new Point(e.x, e.y)); TreeItem selection = tree.getSelection()[0]; if (selection.equals(o)) { handleSelection(); } } } }); tree.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { // do nothing } public void widgetDefaultSelected(SelectionEvent e) { handleSelection(); } }); return treeViewer; }
From source file:com.runwaysdk.manager.view.RelationshipTabBuilder.java
License:Open Source License
public void build(final IRelationshipStrategy command) { for (MdRelationshipDAOIF mdRelationship : command.getMdRelationships(mdBusiness)) { final String type = mdRelationship.definesType(); // Prepare Tree context menu: Edit relationship action // Create the CTabItem and the Tree Widget CTabItem item = new CTabItem(tabFolder, SWT.NONE); item.setText(mdRelationship.getDisplayLabel(Localizer.getLocale()) + " " + command.getTabPostfix()); item.setShowClose(false);/* w ww . j a va 2 s . c o m*/ final TreeViewer viewer = new TreeViewer(tabFolder); viewer.setContentProvider(new RelationshipContentProvider(mdRelationship.definesType(), command)); viewer.setLabelProvider(new KeyLabelProvider()); viewer.setInput(input); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { new EditAction(Localizer.getMessage("EDIT"), viewer, module).run(); } }); // Add the Context menu to the Tree Widget MenuManager manager = new MenuManager(); viewer.getControl().setMenu(manager.createContextMenu(viewer.getControl())); manager.add(new EditRelationshipAction(Localizer.getMessage("EDIT_RELATIONSHIP"), viewer, command, type, module)); manager.add(new EditAction(Localizer.getMessage("EDIT"), viewer, module)); manager.add(new NewRelationshipCommand(Localizer.getMessage("ADD"), viewer, command, mdRelationship, module)); item.setControl(viewer.getControl()); } }
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./*from w w w.jav a 2 s . c o m*/ * * @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.safi.workshop.sqlexplorer.preview.XmlPreviewer.java
License:Open Source License
public void createControls(Composite parent, final Object data) throws ExplorerException { Element rootElem = getXml(data); if (rootElem == null) return;/*from ww w. j a v a 2 s . c o m*/ final Object[] root = new Object[] { rootElem }; TreeViewer tree = new TreeViewer(parent, SWT.SINGLE); tree.setContentProvider(new ITreeContentProvider() { public void dispose() { } /** * Called to get the top level items */ public Object[] getChildren(Object parentElement) { return root; } /** * Called to get the item's children */ public Object[] getElements(Object inputElement) { Element elem = (Element) inputElement; return elem.elements().toArray(); } public boolean hasChildren(Object element) { Element elem = (Element) element; List<Element> list = elem.elements(); return list != null && list.size() > 0; } public Object getParent(Object element) { Element elem = (Element) element; return elem.getParent(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // Nothing } }); tree.setLabelProvider(new LabelProvider() { @Override public String getText(Object obj) { Element elem = (Element) obj; StringBuffer result = new StringBuffer(); result.append('<'); result.append(elem.getName()); for (Object o : elem.attributes()) { Attribute attr = (Attribute) o; result.append(' ').append(attr.getName()).append('=').append('\"').append(attr.getValue()) .append('\"'); } if (!elem.hasContent()) result.append('/'); result.append('>'); return result.toString(); } }); tree.expandToLevel(1); }