List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
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 ww . j a v a2 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 w w w . ja va 2s . co 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); }
From source file:com.sap.dirigible.ide.debug.ui.DebugView.java
License:Open Source License
private void createSessionsTable(final Composite holder) { sessionsTreeViewer = new TreeViewer(holder, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); sessionsTreeViewer.getTree().setHeaderVisible(true); Tree tree = sessionsTreeViewer.getTree(); TreeColumn column = new TreeColumn(tree, SWT.LEFT); column.setText(SESSIONS);/* w w w. j a v a 2s. c om*/ column.setWidth(150); sessionsContentProvider = new SessionsViewContentProvider(); sessionsTreeViewer.setContentProvider(sessionsContentProvider); sessionsTreeViewer.setLabelProvider(new SessionsViewLabelProvider()); sessionsTreeViewer.setInput(getViewSite()); sessionsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection(); String sessionInfo = (String) structuredSelection.getFirstElement(); StringTokenizer tokenizer = new StringTokenizer(sessionInfo, CommonParameters.DEBUG_SEPARATOR); String userId = tokenizer.nextToken(); String sessionId = tokenizer.nextToken(); String executionId = tokenizer.nextToken(); DebugModel debugModel = DebugModelFacade.getInstance().getDebugModel(executionId); DebugModelFacade.setActiveDebugModel(debugModel); refresh(debugModel); waitForMetadata(debugModel); } } }); }
From source file:com.sap.dirigible.ide.debug.ui.DebugView.java
License:Open Source License
private void createVariablesTable(final Composite holder) { variablesTreeViewer = new TreeViewer(holder, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); variablesTreeViewer.getTree().setHeaderVisible(true); Tree tree = variablesTreeViewer.getTree(); TreeColumn column = new TreeColumn(tree, SWT.LEFT); column.setText(VARIABLES);//from w w w . j a v a 2 s. co m column.setWidth(150); column = new TreeColumn(tree, SWT.LEFT); column.setText(VALUES); column.setWidth(595); variablesContentProvider = new VariablesViewContentProvider(); variablesTreeViewer.setContentProvider(variablesContentProvider); variablesTreeViewer.setLabelProvider(new VariablesViewLabelProvider()); variablesTreeViewer.setInput(getViewSite()); }
From source file:com.sap.dirigible.ide.debug.ui.DebugView.java
License:Open Source License
private void createBreakpointsTable(final Composite holder) { breakpointsTreeViewer = new TreeViewer(holder, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); breakpointsTreeViewer.getTree().setHeaderVisible(true); Tree tree = breakpointsTreeViewer.getTree(); TreeColumn column = new TreeColumn(tree, SWT.LEFT); column.setText(FILE);/* w w w . j a v a 2s . com*/ column.setWidth(150); column = new TreeColumn(breakpointsTreeViewer.getTree(), SWT.LEFT); column.setText(ROW); column.setWidth(50); column = new TreeColumn(breakpointsTreeViewer.getTree(), SWT.LEFT); column.setText(SOURCE); column.setWidth(350); breakpointsContentProvider = new BreakpointViewContentProvider(); breakpointsTreeViewer.setContentProvider(breakpointsContentProvider); breakpointsTreeViewer.setLabelProvider(new BreakpointViewLabelProvider()); breakpointsTreeViewer.setInput(getViewSite()); breakpointsTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (!event.getSelection().isEmpty() && event.getSelection() instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) event.getSelection(); BreakpointMetadata breakpointMetadata = (BreakpointMetadata) structuredSelection .getFirstElement(); openEditor(CommonUtils.formatToIDEPath(CommonParameters.SCRIPTING_CONTENT_FOLDER, breakpointMetadata.getFullPath()), breakpointMetadata.getRow()); } } }); }
From source file:com.sap.dirigible.ide.generic.ui.GenericListView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from ww w. j a v a 2 s .c o m*/ */ public void createPartControl(Composite parent) { // PatternFilter filter = new PatternFilter(); // FilteredTree tree = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL // | SWT.V_SCROLL, filter, true); viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTree().setHeaderVisible(true); TreeColumn column = new TreeColumn(viewer.getTree(), SWT.LEFT); column.setText(NAME); column.setWidth(150); column = new TreeColumn(viewer.getTree(), SWT.LEFT); column.setText(LOCATION); column.setWidth(500); viewer.setContentProvider(new GenericListViewContentProvider(this)); viewer.setLabelProvider(new GenericListViewLabelProvider()); viewer.setSorter(new NameSorter()); viewer.setInput(getViewSite()); makeActions(); hookContextMenu(); contributeToActionBars(); }
From source file:com.sap.dirigible.ide.repository.ui.view.ResourceHistoryView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it.//from w ww .ja va2 s . c om */ public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); viewer.setContentProvider(new ViewContentProvider()); viewer.setLabelProvider(new ViewLabelProvider()); viewer.setSorter(new VersionSorter()); Tree tree = viewer.getTree(); tree.setHeaderVisible(true); createTreeHeader(tree); viewer.setInput(getViewSite()); makeActions(); hookDoubleClickAction(); }
From source file:com.sap.dirigible.ide.services.security.manager.views.SecurityManagerView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w ww . ja va 2 s . c om*/ */ public void createPartControl(Composite parent) { // PatternFilter filter = new PatternFilter(); // FilteredTree tree = new FilteredTree(parent, SWT.MULTI | SWT.H_SCROLL // | SWT.V_SCROLL, filter, true); viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTree().setHeaderVisible(true); TreeColumn column = new TreeColumn(viewer.getTree(), SWT.LEFT); column.setText(LOCATION); column.setWidth(300); column = new TreeColumn(viewer.getTree(), SWT.LEFT); column.setText(ROLES); column.setWidth(500); viewer.setContentProvider(new SecurityViewContentProvider(this)); viewer.setLabelProvider(new SecurityViewLabelProvider()); viewer.setSorter(new NameSorter()); viewer.setInput(getViewSite()); makeActions(); hookContextMenu(); contributeToActionBars(); }
From source file:com.sap.dirigible.ide.template.ui.db.wizard.DataStructureTemplateStructurePage.java
License:Open Source License
private void createColumnsField(Composite parent) { final Label label = new Label(parent, SWT.NONE); label.setText(COLUMN_DEFINITIONS);//from www. j a v a 2 s . c om label.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, false, false)); typeViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); typeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); typeViewer.setContentProvider(new DataStructureTemplateStructurePageViewContentProvider()); typeViewer.setLabelProvider(new DataStructureTemplateStructurePageLabelProvider()); Tree tree = typeViewer.getTree(); tree.setHeaderVisible(true); createTreeHeader(tree); columnDefinitions = createColumnDefinitions(); typeViewer.setInput(columnDefinitions); typeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateColumnDefinitions(); checkPageStatus(); } }); updateColumnDefinitions(); checkPageStatus(); }
From source file:com.sap.dirigible.ide.template.ui.ed.view.ExtensionsView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); viewer.setContentProvider(new ExtensionsContentProvider(extensionManager, viewer.getControl().getShell())); viewer.setLabelProvider(new ExtensionsLabelProvider()); viewer.setSorter(new ViewerSorter()); viewer.setInput(getExtensionPoints()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override/*from www .j a v a2 s .c o m*/ public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object firstElement = selection.getFirstElement(); if (firstElement != null) { if (firstElement instanceof ExtensionPointDefinition) { ExtensionPointDefinition extensionPoint = (ExtensionPointDefinition) firstElement; openEditor(CommonUtils.formatToIDEPath(CommonParameters.EXTENSION_CONTENT_FOLDER, extensionPoint.getLocation()) + CommonParameters.EXTENSION_POINT_EXTENSION); } else if (firstElement instanceof ExtensionDefinition) { ExtensionDefinition extension = (ExtensionDefinition) firstElement; openEditor(CommonUtils.formatToIDEPath(CommonParameters.EXTENSION_CONTENT_FOLDER, extension.getLocation()) + CommonParameters.EXTENSION_EXTENSION); } } } }); }