List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
From source file:com.microsoft.tfs.client.common.ui.teamexplorer.sections.TeamExplorerReportsSection.java
License:Open Source License
@Override public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style, final TeamExplorerContext context) { final Composite composite = toolkit.createComposite(parent); // Form-style border painting not enabled (0 pixel margins OK) because // no applicable controls in this composite SWTUtil.gridLayout(composite, 1, true, 0, 5); if (context.isConnected()) { treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.NO_SCROLL); treeViewer.setContentProvider(new ReportContentProvider()); treeViewer.setLabelProvider(new ReportLabelProvider()); treeViewer.addDoubleClickListener(new ReportDoubleClickListener(context)); treeViewer.addTreeListener(new SectionTreeViewerListener()); GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true) .applyTo(treeViewer.getControl()); treeViewer.setInput(reports);/* w w w .ja va 2 s. com*/ registerContextMenu(context, treeViewer.getControl(), treeViewer); } else { createDisconnectedContent(toolkit, composite); } composite.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { imageHelper.dispose(); } }); return composite; }
From source file:com.microsoft.tfs.client.common.ui.teamexplorer.sections.TeamExplorerWorkItemsQueriesSection.java
License:Open Source License
@Override public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style, final TeamExplorerContext context) { final Composite composite = toolkit.createComposite(parent); // Form-style border painting not enabled (0 pixel margins OK) because // no applicable controls in this composite SWTUtil.gridLayout(composite, 1, true, 0, 5); if (context.isConnected()) { treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.NO_SCROLL); treeViewer.setContentProvider(new QueryContentProvider()); treeViewer.setLabelProvider(new QueryLabelProvider()); treeViewer.addDoubleClickListener(new QueryDoubleClickListener(context)); treeViewer.addTreeListener(new SectionTreeViewerListener()); if (state == null) { treeViewer.setAutoExpandLevel(2); treeViewer.setInput(queryHierarchy); } else {/* w w w.j av a2 s. c o m*/ treeViewer.setInput(queryHierarchy); restoreState(); } AutomationIDHelper.setWidgetID(treeViewer.getTree(), QUERIES_TREE_ID); GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true) .applyTo(treeViewer.getControl()); registerContextMenu(context, treeViewer.getControl(), treeViewer); } else { createDisconnectedContent(toolkit, composite); } context.getEvents().addListener(TeamExplorerEvents.QUERY_ITEM_UPDATED, queryItemUpdatedListener); context.getEvents().addListener(TeamExplorerEvents.QUERY_ITEM_DELETED, queryItemDeletedListener); context.getEvents().addListener(TeamExplorerEvents.QUERY_FOLDER_CHILDREN_UPDATED, queryFolderContentChangedListener); composite.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { imageHelper.dispose(); context.getEvents().removeListener(TeamExplorerEvents.QUERY_ITEM_UPDATED, queryItemUpdatedListener); context.getEvents().removeListener(TeamExplorerEvents.QUERY_ITEM_DELETED, queryItemDeletedListener); context.getEvents().removeListener(TeamExplorerEvents.QUERY_FOLDER_CHILDREN_UPDATED, queryFolderContentChangedListener); } }); return composite; }
From source file:com.microsoft.tfs.client.common.ui.wit.controls.QueryItemTreeControl.java
License:Open Source License
private void createUI() { setLayout(new FillLayout()); treeViewer = new TreeViewer(this, SWT.BORDER); treeViewer.setContentProvider(new ContentProvider(activeProjectNames)); treeViewer.setLabelProvider(new LabelProvider()); treeViewer.addDoubleClickListener(new DoubleClickListener(treeViewer, queryDoubleClickListeners)); treeViewer.addSelectionChangedListener(new SelectionChangedListener(querySelectionListeners)); addContextMenu();// w w w .jav a 2 s . c om treeViewer.setInput(projects); /* * set the initial selection if applicable */ if (selectedQueryItem != null) { treeViewer.setSelection(new StructuredSelection(selectedQueryItem), true); } }
From source file:com.microsoft.tfs.client.common.ui.wit.controls.WITClassificationControl.java
License:Open Source License
public WITClassificationControl(final Composite parent, final int style, final Project project, final Node.TreeType treeType, final String initialPath) { super(parent, style); this.project = project; this.treeType = treeType; final FillLayout layout = new FillLayout(); setLayout(layout);//from w w w.j a v a 2 s .co m treeViewer = new TreeViewer(this, SWT.NONE); treeViewer.setContentProvider(new WITClassificationControlContentProvider()); treeViewer.setLabelProvider(new WITClassificationControlLabelProvider()); treeViewer.addDoubleClickListener(new TreeViewerDoubleClickListener(treeViewer)); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { selectedObject = ((IStructuredSelection) event.getSelection()).getFirstElement(); } }); treeViewer.setInput(new Object()); Object initialSelection = null; if (initialPath != null && initialPath.trim().length() > 0) { initialSelection = project.resolvePath(initialPath.trim(), treeType); } if (initialSelection == null) { initialSelection = project; } treeViewer.setSelection(new StructuredSelection(initialSelection), true); selectedObject = initialSelection; final Object[] currentExpandedElements = treeViewer.getExpandedElements(); final Object[] newExpandedElements = new Object[currentExpandedElements.length + 1]; System.arraycopy(currentExpandedElements, 0, newExpandedElements, 0, currentExpandedElements.length); newExpandedElements[newExpandedElements.length - 1] = selectedObject; treeViewer.setExpandedElements(newExpandedElements); }
From source file:com.microsoft.tfs.client.common.ui.wit.results.QueryResultsTreeControl.java
License:Open Source License
public QueryResultsTreeControl(final Composite parent, final int style) { super(parent, style); setLayout(new FillLayout()); tableStyles = TREE_STYLES | (OPTIONAL_TREE_STYLES & style); treeViewer = new TreeViewer(this, tableStyles); setupTree(treeViewer.getTree());//from w w w. ja v a 2s . com }
From source file:com.microsoft.tfs.client.eclipse.ui.egit.importwizard.GitImportWizardSelectFoldersPage.java
License:Open Source License
private void createRepositoriesTreeControl(final Composite container) { treeViewer = new TreeViewer(container, TREE_STYLES); treeControl = treeViewer.getTree();/*w ww .ja va2 s . c o m*/ GridDataBuilder.newInstance().fill().grab().hHint(150).applyTo(treeControl); treeControl.setHeaderVisible(false); folderColumn = new TreeColumn(treeControl, SWT.CENTER); folderColumn.setText(Messages.getString("GitImportWizardSelectFoldersPage.FoldersColumnName")); //$NON-NLS-1$ final TreeViewerColumn nameColumnViewer = new TreeViewerColumn(treeViewer, folderColumn); nameColumnViewer.setLabelProvider(new FolderNameLabelProvider()); treeViewer.setUseHashlookup(true); treeViewer.setContentProvider(new FolderTreeContentProvider()); treeViewer.setAutoExpandLevel(2); container.addControlListener(new ControlAdapter() { /** * {@inheritDoc} */ @Override public void controlResized(final ControlEvent e) { // super.controlResized(e); final Rectangle clientArea = container.getClientArea(); final Point preferredSize = treeControl.computeSize(SWT.DEFAULT, SWT.DEFAULT); final Point oldSize = treeControl.getSize(); int newColmnWidth = clientArea.width - 2 * (treeControl.getBorderWidth() + getHorizontalMargin()); if (preferredSize.y > clientArea.height) { // if the vertical scrollbar is required, subtract its width // from the new column width final Point vBarSize = treeControl.getVerticalBar().getSize(); newColmnWidth -= vBarSize.x; } if (oldSize.x > clientArea.width) { // if the table shrinks, make the column // smaller first and then resize the table folderColumn.setWidth(newColmnWidth); treeControl.setSize(clientArea.width, clientArea.height); } else { // if table widens, make the table // bigger first and then resize the columns treeControl.setSize(clientArea.width, clientArea.height); folderColumn.setWidth(newColmnWidth); } } }); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { setPageComplete(isValid()); } }); }
From source file:com.microsoft.tfs.client.eclipse.ui.egit.teamexplorer.TeamExplorerGitRepositoriesSection.java
License:Open Source License
@Override public Composite getSectionContent(final FormToolkit toolkit, final Composite parent, final int style, final TeamExplorerContext context) { final Composite composite = toolkit.createComposite(parent); // Form-style border painting not enabled (0 pixel margins OK) because // no applicable controls in this composite SWTUtil.gridLayout(composite, 1, true, 0, 5); if (context.isConnected()) { treeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.NO_SCROLL); treeViewer.setContentProvider(new GitItemContentProvider()); treeViewer.setLabelProvider(new GitItemLabelProvider()); treeViewer.addDoubleClickListener(new GitItemDoubleClickListener()); treeViewer.setInput(projectRepositories); treeViewer.setExpandedElements(projectRepositories.keySet().toArray()); GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true) .applyTo(treeViewer.getControl()); addMenuItems();/*from www .j ava 2 s . c o m*/ } else { createDisconnectedContent(toolkit, composite); } composite.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(final DisposeEvent e) { imageHelper.dispose(); } }); return composite; }
From source file:com.mindquarry.desktop.client.widget.workspace.WorkspaceUpdateContainerRunnable.java
License:Open Source License
/** * @see com.mindquarry.desktop.client.widget.util.container.UpdateContainerRunnable#createContainerContent() */// ww w . j a v a2s. c o m @Override protected void createContainerContent() { // create workspace/changes browser containerWidget.setViewer( new TreeViewer(containerWidget, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION)); containerWidget.getViewer() .setContentProvider(new ContentProvider((WorkspaceBrowserWidget) containerWidget)); addContextMenu(); containerWidget.getViewer().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { // make sure the "open" button is only enabled when it // makes sense: boolean enableButton = enableOpenButton(); client.enableAction(enableButton, OpenFileAction.class.getName()); } }); containerWidget.getViewer().addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent arg0) { EventBus.send(new OpenSelectedFileEvent(this)); } }); containerWidget.getViewer().setSorter(new ViewerSorter() { public int category(Object element) { File file = (File) element; // sort directories first, rest is sorted naturally if (file.isDirectory()) { return 1; } else { return 2; } } }); // simulate tooltips: Listener treeListener = new HoverForToolTipListener(containerWidget.getViewer()); containerWidget.getViewer().getTree().addListener(SWT.Dispose, treeListener); containerWidget.getViewer().getTree().addListener(SWT.KeyDown, treeListener); containerWidget.getViewer().getTree().addListener(SWT.MouseMove, treeListener); containerWidget.getViewer().getTree().addListener(SWT.MouseHover, treeListener); containerWidget.getViewer().getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); containerWidget.getViewer().getTree().setHeaderVisible(false); containerWidget.getViewer().getTree().setLinesVisible(false); containerWidget.getViewer().getTree().setFont(JFaceResources.getFont(MindClient.TEAM_NAME_FONT_KEY)); containerWidget.getViewer().getTree().addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { if (event.detail == SWT.CHECK) { TreeItem item = (TreeItem) event.item; if (item.getChecked()) { // check all parents TreeItem parent = item.getParentItem(); while (parent != null) { parent.setChecked(true); parent = parent.getParentItem(); } } else { // uncheck all children TreeItem[] children = item.getItems(); uncheckChildren(children); } } } private void uncheckChildren(TreeItem[] children) { for (TreeItem child : children) { child.setChecked(false); uncheckChildren(child.getItems()); } } }); // first column: file/directory name TreeViewerColumn col = new TreeViewerColumn(containerWidget.getViewer(), SWT.LEFT); col.getColumn().setText("Name"); col.getColumn().setResizable(false); col.getColumn().setWidth(500); col.setLabelProvider(new ColumnLabelProvider() { public Image getImage(Object element) { File file = (File) element; WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget; if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) { Status status = widget.changeSets.getStatus(file); return FileIconUtil.getIcon(file, status); } // fallback: simply lookup the local file return FileIconUtil.getIcon(file); } public String getText(Object element) { return ((File) element).getName(); } }); // second column: direction information (up/down/conflict) col = new TreeViewerColumn(containerWidget.getViewer(), SWT.CENTER); col.getColumn().setResizable(false); col.getColumn().setWidth(32); col.setLabelProvider(new ColumnLabelProvider() { public Image getImage(Object element) { File file = (File) element; // lookup the status via the File -> Status maps WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget; ModificationDescription descr = new ModificationDescription(null); if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) { descr = new ModificationDescription(widget.changeSets.getChange(file)); } return descr.getDirectionImage(); } public String getText(Object element) { return ""; } }); // third column: status information (modified, added, ...) col = new TreeViewerColumn(containerWidget.getViewer(), SWT.CENTER); col.getColumn().setResizable(false); col.getColumn().setWidth(32); col.setLabelProvider(new ColumnLabelProvider() { public Image getImage(Object element) { File file = (File) element; // lookup the status via the File -> Status maps WorkspaceBrowserWidget widget = (WorkspaceBrowserWidget) containerWidget; Change change = widget.changeSets.getChange(file); if (change != null && change.getStatus() != null && change.getStatus().getNodeKind() == NodeKind.dir && change.getChangeStatus() == ChangeStatus.MODIFIED) { // "modified" on directory is too confusing return null; } ModificationDescription descr = new ModificationDescription(null); if (widget.changeSets != null && widget.changeSets.getFiles().contains(file)) { descr = new ModificationDescription(widget.changeSets.getChange(file)); } return descr.getStatusImage(); } public String getText(Object element) { return ""; } }); // add auto resizing of tree columns containerWidget.getShell().addListener(SWT.Resize, new Listener() { public void handleEvent(Event event) { if (containerWidget.getViewer() != null) { adjustWidth(); } } }); // set input and trigger refresh containerWidget.getViewer().setInput(((WorkspaceBrowserWidget) containerWidget).workspaceRoot); containerWidget.getViewer().expandAll(); checkAllItem(containerWidget.getViewer().getTree().getItems()); containerWidget.layout(true); // set background color for every second table item containerWidget.getViewer().getTree().addTreeListener(new TreeListener() { public void treeCollapsed(TreeEvent e) { // NOTE: this event is thrown before the actual items // have the expanded value updated! That's why we pass // through the item to handle it differently markRows(containerWidget.getViewer().getTree().getItems(), 0, (TreeItem) e.item); } public void treeExpanded(TreeEvent e) { markRows(containerWidget.getViewer().getTree().getItems(), 0, (TreeItem) e.item); } }); adjustWidth(); markRows(containerWidget.getViewer().getTree().getItems(), 0, null); }
From source file:com.mindquarry.desktop.preferences.dialog.FilteredPreferenceDialog.java
License:Open Source License
/** * Create a new <code>TreeViewer</code>. * /* w w w . j a va 2s. c o m*/ * @param parent the parent <code>Composite</code>. * @return the <code>TreeViewer</code>. * @since 3.0 */ protected TreeViewer createTreeViewer(Composite parent) { final TreeViewer viewer = new TreeViewer(parent, SWT.NONE); addListeners(viewer); viewer.setLabelProvider(new PreferenceLabelProvider()); viewer.setContentProvider(new PreferenceContentProvider()); return viewer; }
From source file:com.minres.scviewer.e4.application.parts.DesignBrowser.java
License:Open Source License
/** * Creates the tree viewer composite.//from ww w . j a v a 2s. c o m * * @param parent the parent */ public void createTreeViewerComposite(Composite parent) { parent.setLayout(new GridLayout(1, false)); treeViewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); treeViewer.setContentProvider(new TxDbContentProvider()); treeViewer.setLabelProvider(new TxDbLabelProvider()); treeViewer.setUseHashlookup(true); treeViewer.setAutoExpandLevel(2); treeViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection instanceof IStructuredSelection) { Object object = ((IStructuredSelection) selection).getFirstElement(); if (object instanceof IHierNode && ((IHierNode) object).getChildNodes().size() != 0) { txTableViewer.setInput(object); updateButtons(); } } } }); }