List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.brainwy.liclipsetext.shared_ui.outline.BaseOutlinePage.java
License:Open Source License
public boolean isDisconnectedFromTree() { TreeViewer treeViewer2 = getTreeViewer(); if (treeViewer2 == null) { return true; }//from w w w .j ava 2 s. co m Tree tree = treeViewer2.getTree(); if (tree == null) { return true; } return tree.isDisposed(); }
From source file:org.brainwy.liclipsetext.shared_ui.outline.BaseOutlinePage.java
License:Open Source License
/** * called when model has structural changes, refreshes all items underneath * @param items: items to refresh, or null for the whole tree * tries to preserve the scrolling/*w w w .j a v a 2 s . c om*/ */ public void refreshItems(Object[] items) { try { unlinkAll(); TreeViewer viewer = getTreeViewer(); if (viewer != null) { Tree treeWidget = viewer.getTree(); if (isDisconnectedFromTree()) { return; } ScrollBar bar = treeWidget.getVerticalBar(); int barPosition = 0; if (bar != null) { barPosition = bar.getSelection(); } if (items == null) { if (isDisconnectedFromTree()) { return; } viewer.refresh(); } else { if (isDisconnectedFromTree()) { return; } for (int i = 0; i < items.length; i++) { viewer.refresh(items[i]); } } if (barPosition != 0) { bar.setSelection(Math.min(bar.getMaximum(), barPosition)); } } } catch (Throwable e) { //things may be disposed... Log.log(e); } finally { relinkAll(); } }
From source file:org.brainwy.liclipsetext.shared_ui.outline.BaseOutlinePage.java
License:Open Source License
protected void createActions() { linkWithEditor = new OutlineLinkWithEditorAction(this, imageCache, pluginId); //---- Collapse all Action collapseAll = new Action("Collapse all", IAction.AS_PUSH_BUTTON) { @Override//from www . jav a2 s . co m public void run() { TreeViewer treeViewer2 = getTreeViewer(); Tree tree = treeViewer2.getTree(); tree.setRedraw(false); try { getTreeViewer().collapseAll(); } finally { tree.setRedraw(true); } } }; //---- Expand all Action expandAll = new Action("Expand all", IAction.AS_PUSH_BUTTON) { @Override public void run() { TreeViewer treeViewer2 = getTreeViewer(); Tree tree = treeViewer2.getTree(); tree.setRedraw(false); try { treeViewer2.expandAll(); } finally { tree.setRedraw(true); } } }; collapseAll.setImageDescriptor(imageCache.getDescriptor(UIConstants.COLLAPSE_ALL)); collapseAll.setId("outline.page.collapse"); expandAll.setImageDescriptor(imageCache.getDescriptor(UIConstants.EXPAND_ALL)); expandAll.setId("outline.page.expand"); // Add actions to the toolbar IActionBars actionBars = getSite().getActionBars(); IToolBarManager toolbarManager = actionBars.getToolBarManager(); OutlineSortByNameAction action = new OutlineSortByNameAction(this, imageCache, pluginId); action.setId("outline.page.sort"); toolbarManager.add(action); toolbarManager.add(collapseAll); toolbarManager.add(expandAll); IMenuManager menuManager = actionBars.getMenuManager(); menuManager.add(linkWithEditor); }
From source file:org.brainwy.liclipsetext.shared_ui.outline.BaseOutlinePage.java
License:Open Source License
/** * create the outline view widgets/*from w w w . ja v a2 s. co m*/ */ @Override public void createControl(Composite parent) { super.createControl(parent); // this creates a tree viewer try { createParsedOutline(); // selecting an item in the outline scrolls the document selectionListener = new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (linkWithEditor == null) { return; } try { unlinkAll(); StructuredSelection sel = (StructuredSelection) event.getSelection(); boolean alreadySelected = false; if (sel.size() == 1) { // only sync the editing view if it is a single-selection IParsedItem firstElement = (IParsedItem) sel.getFirstElement(); ErrorDescription errorDesc = firstElement.getErrorDesc(); //select the error if (errorDesc != null && errorDesc.message != null) { int len = errorDesc.errorEnd - errorDesc.errorStart; editorView.setSelection(errorDesc.errorStart, len); alreadySelected = true; } } if (!alreadySelected) { ISimpleNode[] node = getOutlineModel().getSelectionPosition(sel); editorView.revealModelNodes(node); } } finally { relinkAll(); } } }; addSelectionChangedListener(selectionListener); createActions(); //OK, instead of using the default selection engine, we recreate it only to handle mouse //and key events directly, because it seems that sometimes, SWT creates spurious select events //when those shouldn't be created, and there's also a risk of creating loops with the selection, //as when one selection arrives when we're linked, we have to perform a selection and doing that //selection could in turn trigger a new selection, so, we remove that treatment and only start //selections from interactions the user did. //see: Cursor jumps to method definition when an error is detected //https://sourceforge.net/tracker2/?func=detail&aid=2057092&group_id=85796&atid=577329 TreeViewer treeViewer = getTreeViewer(); treeViewer.removeSelectionChangedListener(this); Tree tree = treeViewer.getTree(); tree.addMouseListener(new MouseListener() { @Override public void mouseDoubleClick(MouseEvent e) { tryToMakeSelection(); } @Override public void mouseDown(MouseEvent e) { } @Override public void mouseUp(MouseEvent e) { tryToMakeSelection(); } }); tree.addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent e) { } @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.ARROW_UP || e.keyCode == SWT.ARROW_DOWN) { tryToMakeSelection(); } } }); onControlCreated.call(getTreeViewer()); createdCallbacksForControls = callRecursively(onControlCreated, filter, new ArrayList()); } catch (Throwable e) { Log.log(e); } }
From source file:org.brainwy.liclipsetext.shared_ui.tree.PyFilteredTree.java
License:Open Source License
public static PyFilteredTree create(Composite parent, int treeStyle, PatternFilter filter) { PyFilteredTree ret;/*from www. j ava 2 s . co m*/ try { ret = new PyFilteredTree(parent, treeStyle, filter, true); } catch (Throwable e) { ret = new PyFilteredTree(parent, treeStyle, filter); } final TreeViewer viewer = ret.getViewer(); ret.getFilterControl().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { //The superclass will already do the focus, but we also treat it to select some element //when down is pressed. boolean hasItems = viewer.getTree().getItemCount() > 0; if (hasItems && e.keyCode == SWT.ARROW_DOWN) { Tree tree = viewer.getTree(); updateSelectionIfNothingSelected(tree); return; } } protected void updateSelectionIfNothingSelected(Tree tree) { TreeItem[] sel = tree.getSelection(); if (sel == null || sel.length == 0) { TreeItem[] items = tree.getItems(); if (items != null && items.length > 0) { tree.setSelection(items[0]); } } } }); return ret; }
From source file:org.camunda.bpm.modeler.ui.dialog.importer.ModelProblemsDialog.java
License:Open Source License
private void createProblemsTreeView(Composite parent) { // clipboard to copy and paste from / to final Clipboard clipboard = new Clipboard(parent.getDisplay()); Composite treeColumnComposite = new Composite(parent, SWT.NONE); GridData treeColumnCompositeGridData = new GridData(SWT.FILL, SWT.TOP, true, false); treeColumnCompositeGridData.widthHint = 420; treeColumnCompositeGridData.heightHint = 128; treeColumnComposite.setLayoutData(treeColumnCompositeGridData); TreeColumnLayout treeColumnLayout = new TreeColumnLayout(); treeColumnComposite.setLayout(treeColumnLayout); final TreeViewer treeViewer = new TreeViewer(treeColumnComposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); Tree tree = treeViewer.getTree(); tree.setLinesVisible(true);/*w w w. ja va 2 s . c o m*/ treeViewer.setContentProvider(new ProblemsContentProvider()); treeViewer.setLabelProvider(new ProblemLabelProvider()); Menu menu = new Menu(parent.getShell(), SWT.POP_UP); final MenuItem copyItem = new MenuItem(menu, SWT.PUSH); copyItem.setText("Copy Stacktrace to Clipboard"); String imageName = ISharedImages.IMG_TOOL_COPY; copyItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(imageName)); copyItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { IStructuredSelection selection = (IStructuredSelection) treeViewer.getSelection(); Problem problem = (Problem) selection.getFirstElement(); copyToClipboard(clipboard, problem); } }); treeViewer.getTree().setMenu(menu); List<Problem> problems = populateProblems(); // Expand the tree treeViewer.setAutoExpandLevel(2); // Provide the input to the ContentProvider treeViewer.setInput(problems); }
From source file:org.chromium.debug.ui.liveedit.LiveEditDiffViewer.java
License:Open Source License
private void configureTreeViewer(TreeViewer treeViewer, TreeViewer opposite, Side side) { treeViewer.setContentProvider(new FunctionTreeContentProvider()); treeViewer.setLabelProvider(new LabelProviderImpl(side)); treeViewer.addSelectionChangedListener(new SelectionChangeListener(opposite)); treeViewer.addTreeListener(new TreeListenerImpl(opposite)); treeViewer.getTree().getVerticalBar().addListener(SWT.Selection, new TreeScrollBarListener(opposite)); }
From source file:org.codecover.eclipse.views.controls.RedundancyViewerFactory.java
License:Open Source License
private static void configureViewer(final TreeViewer viewer, final boolean withTestSessionColumn, final Runnable disposeRunnable) { TreeColumnLayout layout = new TreeColumnLayout(); TreeColumn column;//from w ww. j a va 2s. c om viewer.getTree().setRedraw(false); viewer.getTree().getParent().setLayout(layout); // set providers viewer.setContentProvider(new ViewerContentProvider(disposeRunnable)); viewer.setLabelProvider(new ViewerLabelProvider(withTestSessionColumn)); // add columns to viewer viewer.getTree().setHeaderVisible(true); // name column column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.NAME.getIndex(withTestSessionColumn)); column.setText(Columns.NAME.getText()); column.setWidth(120); layout.setColumnData(column, new ColumnWeightData(52, 120)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return Collator.getInstance().compare( this.lblProvider.getColumnText(o1, Columns.NAME.getIndex(withTestSessionColumn)), this.lblProvider.getColumnText(o2, Columns.NAME.getIndex(withTestSessionColumn))); } }; // test session column (optional) if (withTestSessionColumn) { column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.TESTSESSION.getIndex(withTestSessionColumn)); column.setText(Columns.TESTSESSION.getText()); column.setWidth(100); layout.setColumnData(column, new ColumnWeightData(16, 100)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return Collator.getInstance().compare( this.lblProvider.getColumnText(o1, Columns.TESTSESSION.getIndex(withTestSessionColumn)), this.lblProvider.getColumnText(o2, Columns.TESTSESSION.getIndex(withTestSessionColumn))); } }; } // Redundancy columns: column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn)); column.setText(Columns.ST_REDUNDANCY.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { String str1 = this.lblProvider.getColumnText(o1, Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn)); String str2 = this.lblProvider.getColumnText(o2, Columns.ST_REDUNDANCY.getIndex(withTestSessionColumn)); if (str1.compareTo("NaN") == 0) { return 1; } else if (str2.compareTo("NaN") == 0) { return -1; } else { double d1 = Double.parseDouble(str1); double d2 = Double.parseDouble(str2); if (d1 <= d2) { return 1; } else { return -1; } } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn)); column.setText(Columns.BR_REDUNDANCY.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { String str1 = this.lblProvider.getColumnText(o1, Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn)); String str2 = this.lblProvider.getColumnText(o2, Columns.BR_REDUNDANCY.getIndex(withTestSessionColumn)); if (str1.compareTo("NaN") == 0) { return 1; } else if (str2.compareTo("NaN") == 0) { return -1; } else { double d1 = Double.parseDouble(str1); double d2 = Double.parseDouble(str2); if (d1 <= d2) { return 1; } else { return -1; } } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn)); column.setText(Columns.COND_REDUNDANCY.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { String str1 = this.lblProvider.getColumnText(o1, Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn)); String str2 = this.lblProvider.getColumnText(o2, Columns.COND_REDUNDANCY.getIndex(withTestSessionColumn)); if (str1.compareTo("NaN") == 0) { return 1; } else if (str2.compareTo("NaN") == 0) { return -1; } else { double d1 = Double.parseDouble(str1); double d2 = Double.parseDouble(str2); if (d1 <= d2) { return 1; } else { return -1; } } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn)); column.setText(Columns.LOOP_REDUNDANCY.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { String str1 = this.lblProvider.getColumnText(o1, Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn)); String str2 = this.lblProvider.getColumnText(o2, Columns.LOOP_REDUNDANCY.getIndex(withTestSessionColumn)); if (str1.compareTo("NaN") == 0) { return 1; } else if (str2.compareTo("NaN") == 0) { return -1; } else { double d1 = Double.parseDouble(str1); double d2 = Double.parseDouble(str2); if (d1 <= d2) { return 1; } else { return -1; } } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.REDUNDANCY.getIndex(withTestSessionColumn)); column.setText(Columns.REDUNDANCY.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { String str1 = this.lblProvider.getColumnText(o1, Columns.REDUNDANCY.getIndex(withTestSessionColumn)); String str2 = this.lblProvider.getColumnText(o2, Columns.REDUNDANCY.getIndex(withTestSessionColumn)); if (str1.compareTo("NaN") == 0) { return 1; } else if (str2.compareTo("NaN") == 0) { return -1; } else { double d1 = Double.parseDouble(str1); double d2 = Double.parseDouble(str2); if (d1 <= d2) { return 1; } else { return -1; } } } }; // Covered Items columns: column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn)); column.setText(Columns.ST_COVEREDITEMS.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { int a = Integer.parseInt(this.lblProvider.getColumnText(o1, Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn))); int b = Integer.parseInt(this.lblProvider.getColumnText(o2, Columns.ST_COVEREDITEMS.getIndex(withTestSessionColumn))); if (a <= b) { return 1; } else { return -1; } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn)); column.setText(Columns.BR_COVEREDITEMS.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { int a = Integer.parseInt(this.lblProvider.getColumnText(o1, Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn))); int b = Integer.parseInt(this.lblProvider.getColumnText(o2, Columns.BR_COVEREDITEMS.getIndex(withTestSessionColumn))); if (a <= b) { return 1; } else { return -1; } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn)); column.setText(Columns.COND_COVEREDITEMS.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { int a = Integer.parseInt(this.lblProvider.getColumnText(o1, Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn))); int b = Integer.parseInt(this.lblProvider.getColumnText(o2, Columns.COND_COVEREDITEMS.getIndex(withTestSessionColumn))); if (a <= b) { return 1; } else { return -1; } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn)); column.setText(Columns.LOOP_COVEREDITEMS.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { int a = Integer.parseInt(this.lblProvider.getColumnText(o1, Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn))); int b = Integer.parseInt(this.lblProvider.getColumnText(o2, Columns.LOOP_COVEREDITEMS.getIndex(withTestSessionColumn))); if (a <= b) { return 1; } else { return -1; } } }; column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.COVEREDITEMS.getIndex(withTestSessionColumn)); column.setText(Columns.COVEREDITEMS.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { int a = Integer.parseInt( this.lblProvider.getColumnText(o1, Columns.COVEREDITEMS.getIndex(withTestSessionColumn))); int b = Integer.parseInt( this.lblProvider.getColumnText(o2, Columns.COVEREDITEMS.getIndex(withTestSessionColumn))); if (a <= b) { return 1; } else { return -1; } } }; viewer.getTree().setRedraw(true); }
From source file:org.codecover.eclipse.views.controls.TestSessionsViewerFactory.java
License:Open Source License
private static void configureViewer(final TreeViewer viewer, final boolean withTestSessionColumn, final Runnable disposeRunnable) { TreeColumnLayout layout = new TreeColumnLayout(); TreeColumn column;//from www . ja v a 2 s. c om viewer.getTree().setRedraw(false); viewer.getTree().getParent().setLayout(layout); // set providers viewer.setContentProvider(new ViewerContentProvider(disposeRunnable)); viewer.setLabelProvider(new ViewerLabelProvider(withTestSessionColumn)); // add columns to viewer viewer.getTree().setHeaderVisible(true); // name column column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.NAME.getIndex(withTestSessionColumn)); column.setText(Columns.NAME.getText()); column.setWidth(120); layout.setColumnData(column, new ColumnWeightData(52, 120)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return Collator.getInstance().compare( this.lblProvider.getColumnText(o1, Columns.NAME.getIndex(withTestSessionColumn)), this.lblProvider.getColumnText(o2, Columns.NAME.getIndex(withTestSessionColumn))); } }; // test session column (optional) if (withTestSessionColumn) { column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.TESTSESSION.getIndex(withTestSessionColumn)); column.setText(Columns.TESTSESSION.getText()); column.setWidth(100); layout.setColumnData(column, new ColumnWeightData(16, 100)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_NAME }) { private final ITableLabelProvider lblProvider = (ITableLabelProvider) viewer.getLabelProvider(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return Collator.getInstance().compare( this.lblProvider.getColumnText(o1, Columns.TESTSESSION.getIndex(withTestSessionColumn)), this.lblProvider.getColumnText(o2, Columns.TESTSESSION.getIndex(withTestSessionColumn))); } }; } // date column column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.DATE.getIndex(withTestSessionColumn)); column.setText(Columns.DATE.getText()); column.setWidth(80); layout.setColumnData(column, new ColumnWeightData(16, 80)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final DateComparator comparator = new DateComparator(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return this.comparator.compare(viewer, o1, o2); } }; // time column column = new TreeColumn(viewer.getTree(), SWT.LEAD, Columns.TIME.getIndex(withTestSessionColumn)); column.setText(Columns.TIME.getText()); column.setWidth(60); layout.setColumnData(column, new ColumnWeightData(16, 60)); new ViewerSorter(viewer, column, new String[] { UPDATE_PROPERTY_DATE }) { private final DateComparator comparator = new DateComparator(); @Override protected int doCompare(Viewer viewer, Object o1, Object o2) { return this.comparator.compare(viewer, o1, o2); } }; viewer.getTree().setRedraw(true); }
From source file:org.cs3.pdt.analysis.views.AbstractAnalysisView.java
License:Open Source License
protected TreeViewer createResultTreeViewer(Composite parent) { final TreeViewer treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); GridData gridData = new GridData(); gridData.grabExcessHorizontalSpace = true; gridData.horizontalAlignment = GridData.FILL; gridData.grabExcessVerticalSpace = true; gridData.verticalAlignment = GridData.FILL; Tree tree = treeViewer.getTree(); tree.addMouseListener(new MouseListener() { @Override// w ww.j av a 2 s. com public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { } @Override public void mouseDoubleClick(MouseEvent e) { ISelection selection = treeViewer.getSelection(); if (selection instanceof ITreeSelection) { Object o = ((ITreeSelection) selection).getFirstElement(); if (o instanceof IResult) { selectResultInEditor((IResult) o); } } } }); tree.setLayoutData(gridData); tree.setHeaderVisible(true); tree.setLinesVisible(true); resultContentProvider = new ResultTableContentProvider(getResultModel()); treeViewer.setContentProvider(resultContentProvider); treeViewer.setInput(new Object()); resultTreeViewerColumns = new TreeViewerColumn[3]; for (int i = 0; i < resultTreeViewerColumns.length; i++) { resultTreeViewerColumns[i] = new TreeViewerColumn(treeViewer, SWT.NONE); resultTreeViewerColumns[i].getColumn().setMoveable(true); } resultTreeViewerColumns[0].getColumn().setWidth(300); resultTreeViewerColumns[0].getColumn().setText("Description"); resultTreeViewerColumns[0].setLabelProvider(new ResultTableDescriptionColumnLabelProvider()); resultTreeViewerColumns[1].getColumn().setWidth(150); resultTreeViewerColumns[1].getColumn().setText("Resource"); resultTreeViewerColumns[1].setLabelProvider(new ResultTableResourceColumnLabelProvider()); resultTreeViewerColumns[2].getColumn().setWidth(100); resultTreeViewerColumns[2].getColumn().setText("Location"); resultTreeViewerColumns[2].setLabelProvider(new ResultTableLocationColumnLabelProvider()); return treeViewer; }