List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider
@Override public void setContentProvider(IContentProvider provider)
TreeViewer
. From source file:net.sf.eclipsensis.dialogs.FileSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite parent2 = (Composite) super.createDialogArea(parent); Composite composite = new Composite(parent2, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); GridLayout layout = new GridLayout(1, true); composite.setLayout(layout);//from www . j a va 2 s.c o m SashForm form = new SashForm(composite, SWT.HORIZONTAL); form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); form.setLayout(layout); composite = new Composite(form, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); Label l = new Label(composite, SWT.NONE); l.setText(EclipseNSISPlugin.getResourceString("fileselection.parent.folder.label")); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Tree tree = new Tree(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.widthHint = VIEWER_WIDTH; gridData.heightHint = VIEWER_HEIGHT; tree.setLayoutData(gridData); final TreeViewer tv = new TreeViewer(tree); tv.setContentProvider(new ContainerContentProvider()); tv.setLabelProvider(WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider()); tv.setSorter(new ViewerSorter()); composite = new Composite(form, SWT.None); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); layout = new GridLayout(1, true); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); l = new Label(composite, SWT.NONE); l.setText(EclipseNSISPlugin.getResourceString("fileselection.file.label")); //$NON-NLS-1$ l.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); Table table = new Table(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); gridData = new GridData(SWT.FILL, SWT.FILL, true, true); gridData.widthHint = VIEWER_WIDTH; gridData.heightHint = VIEWER_HEIGHT; table.setLayoutData(gridData); table.setLinesVisible(false); final TableViewer tv2 = new TableViewer(table); tv2.setContentProvider(new FilesContentProvider()); tv2.setLabelProvider(new FilesLabelProvider()); tv2.setSorter(new ViewerSorter()); if (mFilter != null) { tv2.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return mFilter.select(element); } }); } tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); tv2.setInput(selection.getFirstElement()); // allow null } }); tv.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object item = ((IStructuredSelection) selection).getFirstElement(); if (tv.getExpandedState(item)) { tv.collapseToLevel(item, 1); } else { tv.expandToLevel(item, 1); } } } }); tv2.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (selection != null && !selection.isEmpty()) { mFile = (IFile) selection.getFirstElement(); } else { mFile = null; } Button button = getButton(IDialogConstants.OK_ID); if (button != null) { button.setEnabled(selection != null && !selection.isEmpty()); } } }); tv2.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { if (mFile != null) { setReturnCode(Window.OK); close(); } } }); tv.setInput(ResourcesPlugin.getWorkspace()); if (mContainer != null) { tv.setSelection(new StructuredSelection(mContainer)); if (mFile != null) { tv2.setSelection(new StructuredSelection(mFile)); } else { tv2.setSelection(new StructuredSelection()); } } return parent2; }
From source file:net.sf.eclipsensis.editor.outline.NSISContentOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); if (mEditor != null) { NSISOutlineContentResources.getInstance().connect(this); NSISOutlineContentProvider contentProvider = mEditor.getOutlineContentProvider(); if (contentProvider != null) { TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(contentProvider); viewer.setLabelProvider(new NSISOutlineLabelProvider(mEditor)); viewer.addSelectionChangedListener(mEditor); if (mInput != null) { viewer.setInput(mInput); viewer.expandAll();//w w w. j a va 2 s. c o m } Point sel = mEditor.getSelectedRange(); NSISOutlineElement element = contentProvider.findElement(sel.x, sel.y); if (element != null) { setSelection(new StructuredSelection(element)); } } } makeActions(); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), INSISConstants.PLUGIN_CONTEXT_PREFIX + "nsis_outline_context"); //$NON-NLS-1$ }
From source file:net.sf.eclipsensis.wizard.settings.dialogs.NSISContentBrowserDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); NSISWizardDialogUtil.createLabel(composite, "wizard.select.shortcut.message", true, null, false); //$NON-NLS-1$ ViewerFilter vf = new ViewerFilter() { private HashSet<String> mFilterTypes = new HashSet<String>(Arrays.asList(new String[] { NSISInstaller.TYPE, NSISSectionGroup.TYPE, NSISSection.TYPE, NSISInstallDirectory.TYPE, NSISInstallFile.TYPE, NSISInstallFiles.TYPE, NSISInstallFiles.FileItem.FILEITEM_TYPE })); @Override/*from w w w . j a v a 2s. c o m*/ public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof INSISInstallElement) { return mFilterTypes.contains(((INSISInstallElement) element).getType()); } return false; } }; final Tree tree = new Tree(composite, SWT.BORDER); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); tree.setLayoutData(gd); final TreeViewer tv = new TreeViewer(tree); tv.setLabelProvider(new NSISInstallElementLabelProvider()); tv.setContentProvider(new NSISInstallElementTreeContentProvider(mSettings)); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { getButton(IDialogConstants.OK_ID).setEnabled(setElement(event.getSelection())); } }); tree.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (setElement(tv.getSelection())) { buttonPressed(IDialogConstants.OK_ID); } } }); tv.setAutoExpandLevel(2); tv.addFilter(vf); tv.setInput(mSettings); return composite; }
From source file:net.sf.sveditor.ui.search.SVSearchResultsPage.java
License:Open Source License
@Override protected void configureTreeViewer(TreeViewer viewer) { fTreeContentProvider = new SVSearchTreeContentProvider(this, viewer); viewer.setLabelProvider(new SVSearchTreeLabelProvider()); viewer.setContentProvider(fTreeContentProvider); }
From source file:net.sf.sveditor.ui.wizards.DocGenSelectPkgsWizardPage.java
License:Open Source License
private void createLeftTable(Composite parent) { fLeftList = new FilteredTree(parent, SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true); fLeftList.setLayoutData(new GridData(GridData.FILL_BOTH)); TreeViewer viewer = fLeftList.getViewer(); viewer.setContentProvider(new ITreeContentProvider() { Object fInput;//from w w w . ja va2 s .c o m public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { fInput = newInput; } public void dispose() { } public boolean hasChildren(Object element) { return false; } public Object getParent(Object element) { return null; } public Object[] getElements(Object inputElement) { if (fInput instanceof Collection<?>) { return ((Collection<?>) fInput).toArray(); } else { return new Object[0]; } } public Object[] getChildren(Object parentElement) { return null; } }); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof SVDBDeclCacheItem) { return ((SVDBDeclCacheItem) element).getName(); } else { return "<unexpected-item-type>"; } } @Override public Image getImage(Object element) { if (element instanceof SVDBDeclCacheItem) { return SVDBIconUtils.getIcon(((SVDBDeclCacheItem) element).getType()); } return super.getImage(element); } }); }
From source file:net.sf.sveditor.ui.wizards.DocGenSelectPkgsWizardPage.java
License:Open Source License
private void createRightTable(Composite parent) { fRightList = new FilteredTree(parent, SWT.H_SCROLL | SWT.V_SCROLL, new PatternFilter(), true); fRightList.setLayoutData(new GridData(GridData.FILL_BOTH)); TreeViewer viewer = fRightList.getViewer(); viewer.setContentProvider(new ITreeContentProvider() { Object fInput;//from w w w . j av a 2 s. c o m public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { fInput = newInput; } public void dispose() { } public boolean hasChildren(Object element) { return false; } public Object getParent(Object element) { return null; } public Object[] getElements(Object inputElement) { if (fInput instanceof Collection<?>) { return ((Collection<?>) fInput).toArray(); } else { return new Object[0]; } } public Object[] getChildren(Object parentElement) { return null; } }); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof SVDBDeclCacheItem) { return ((SVDBDeclCacheItem) element).getName(); } else { return "<unexpected-item-type>"; } } @Override public Image getImage(Object element) { if (element instanceof SVDBDeclCacheItem) { return SVDBIconUtils.getIcon(((SVDBDeclCacheItem) element).getType()); } return super.getImage(element); } }); }
From source file:net.sf.wdte.js.ui.internal.outline.JSOutlinePage.java
License:Open Source License
public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new WorkbenchContentProvider()); viewer.setLabelProvider(new WorkbenchLabelProvider()); // TODO Make sorting optional viewer.setSorter(new JSNameSorter()); }
From source file:net.sf.wdte.ui.views.outline.ModelBasedOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setContentProvider(new ContentProvider()); }
From source file:net.sourceforge.sqlexplorer.oracle.actions.explain.ExplainExecution.java
License:Open Source License
private void displayResults(final ExplainNode node, final Query query) { getEditor().getSite().getShell().getDisplay().asyncExec(new Runnable() { public void run() { CTabItem resultsTab = allocateResultsTab(query); try { Composite composite = resultsTab.getParent(); GridLayout gLayout = new GridLayout(); gLayout.numColumns = 2;/* www. j av a2s . co m*/ gLayout.marginLeft = 0; gLayout.horizontalSpacing = 0; gLayout.verticalSpacing = 0; gLayout.marginWidth = 0; gLayout.marginHeight = 0; composite.setLayout(gLayout); composite.setData("parenttab", resultsTab.getParent()); Composite pp = new Composite(composite, SWT.NULL); pp.setLayout(new FillLayout()); pp.setLayoutData(new GridData(GridData.FILL_BOTH)); TreeViewer tv = new TreeViewer(pp, SWT.BORDER | SWT.FULL_SELECTION); Tree table = tv.getTree(); table.setLinesVisible(true); table.setHeaderVisible(true); TreeColumn tc = new TreeColumn(table, SWT.NULL); tc.setText(""); tc = new TreeColumn(table, SWT.NULL); tc.setText("Cost"); tc = new TreeColumn(table, SWT.NULL); tc.setText("Cardinality"); TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(6, 150, true)); tableLayout.addColumnData(new ColumnWeightData(1, 50, true)); tableLayout.addColumnData(new ColumnWeightData(1, 50, true)); table.setLayout(tableLayout); tv.setContentProvider(new ITreeContentProvider() { public void dispose() { } public Object[] getChildren(Object parentElement) { return ((ExplainNode) parentElement).getChildren(); } public Object[] getElements(Object inputElement) { ExplainNode nd = ((ExplainNode) inputElement); return nd.getChildren(); } public Object getParent(Object element) { return ((ExplainNode) element).getParent(); } public boolean hasChildren(Object element) { if (((ExplainNode) element).getChildren().length > 0) return true; return false; } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); tv.setLabelProvider(new TreeLabelProvider() { }); tv.setInput(node); tv.refresh(); tv.expandAll(); // make columns full size for (int i = 0; i < table.getColumnCount(); i++) { table.getColumn(i).pack(); } /* final Composite parent = composite; table.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { switch (e.keyCode) { case SWT.F5: // refresh SQL Results try { Object o = parent.getData("parenttab"); if (o != null) { AbstractSQLExecution sqlExec = (AbstractSQLExecution) ((TabItem) o).getData(); if (sqlExec != null) { sqlExec.startExecution(); } } } catch (Exception e1) { SQLExplorerPlugin.error("Error refreshing", e1); } break; } } });*/ // add context menu to table & cursor final ExplainPlanActionGroup actionGroup = new ExplainPlanActionGroup(tv, node.getChildren()[0]); MenuManager menuManager = new MenuManager("ExplainPlanContextMenu"); menuManager.setRemoveAllWhenShown(true); Menu contextMenu = menuManager.createContextMenu(table); tv.getControl().setMenu(contextMenu); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { actionGroup.fillContextMenu(manager); } }); composite.layout(); composite.redraw(); } catch (Exception e) { // add message if (resultsTab != null) { Composite composite = resultsTab.getParent(); String message = e.getMessage(); Label errorLabel = new Label(composite, SWT.FILL); errorLabel.setText(message); errorLabel.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); } SQLExplorerPlugin.error("Error creating explain tab", e); } }; }); }
From source file:net.sourceforge.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. j a va2s .co 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); } }); // if (sessionSelectionMap.containsKey(tabData.session)) { // tabData.treeViewer.setSelection(sessionSelectionMap.get(tabData.session)); // sessionSelectionMap.remove(tabData.session); // _allSessions.remove(tabData.session); // } }