List of usage examples for org.eclipse.jface.viewers TreeViewer TreeViewer
public TreeViewer(Composite parent, int style)
From source file:Snippet048TreeViewerTabWithCheckboxFor3_3.java
License:Open Source License
public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) { final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION); v.getTree().setLinesVisible(true);/*from ww w.ja v a 2s . c o m*/ v.getTree().setHeaderVisible(true); final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v, new FocusCellOwnerDrawHighlighter(v)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && (event.keyCode == SWT.CR || event.character == ' ')) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(v, mgr, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); final TextCellEditor textCellEditor = new TextCellEditor(v.getTree()); final CheckboxCellEditor checkboxCellEditor = new CheckboxCellEditor(v.getTree()); TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 1"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 1 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return false; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 2"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return "Column 2 => " + element.toString(); } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return textCellEditor; } protected Object getValue(Object element) { return ((MyModel) element).counter + ""; } protected void setValue(Object element, Object value) { ((MyModel) element).counter = Integer.parseInt(value.toString()); v.update(element, null); } }); column = new TreeViewerColumn(v, SWT.NONE); column.getColumn().setWidth(200); column.getColumn().setMoveable(true); column.getColumn().setText("Column 3"); column.setLabelProvider(new ColumnLabelProvider() { public String getText(Object element) { return ((MyModel) element).bool + ""; } }); column.setEditingSupport(new EditingSupport(v) { protected boolean canEdit(Object element) { return true; } protected CellEditor getCellEditor(Object element) { return checkboxCellEditor; } protected Object getValue(Object element) { return new Boolean(((MyModel) element).bool); } protected void setValue(Object element, Object value) { ((MyModel) element).bool = ((Boolean) value).booleanValue(); v.update(element, null); } }); v.setContentProvider(new MyContentProvider()); v.setInput(createModel()); v.getControl().addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent e) { if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS) && mgr.getFocusCell().getColumnIndex() == 2) { ColumnViewerEditor editor = v.getColumnViewerEditor(); ViewerCell cell = mgr.getFocusCell(); try { Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent", new Class[] { int.class, ViewerRow.class, TraverseEvent.class }); m.setAccessible(true); m.invoke(editor, new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e }); } catch (SecurityException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NoSuchMethodException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalArgumentException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:Snippet015CustomTooltipsForTree.java
License:Open Source License
/** * @param args// w w w . j a va 2 s . c o m */ public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION); v.getTree().setLinesVisible(true); v.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(v); v.setContentProvider(new MyContentProvider()); CellLabelProvider labelProvider = new CellLabelProvider() { /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipText(java.lang.Object) */ public String getToolTipText(Object element) { return "Tooltip (" + element + ")"; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipShift(java.lang.Object) */ public Point getToolTipShift(Object object) { return new Point(5, 5); } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipDisplayDelayTime(java.lang.Object) */ public int getToolTipDisplayDelayTime(Object object) { return 1000; } /* (non-Javadoc) * @see org.eclipse.jface.viewers.ViewerLabelProvider#getTooltipTimeDisplayed(java.lang.Object) */ public int getToolTipTimeDisplayed(Object object) { return 50000; } public void update(ViewerCell cell) { cell.setText(cell.getElement().toString()); } }; v.setLabelProvider(labelProvider); v.setInput(""); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:ac.soton.eventb.classdiagrams.diagram.part.ClassdiagramsElementChooserDialog.java
License:Open Source License
/** * @generated/*from ww w . ja v a 2 s .c o m*/ */ private void createModelBrowser(Composite composite) { myTreeViewer = new TreeViewer(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 300; layoutData.widthHint = 300; myTreeViewer.getTree().setLayoutData(layoutData); myTreeViewer.setContentProvider(new ModelElementsTreeContentProvider()); myTreeViewer.setLabelProvider(new ModelElementsTreeLabelProvider()); myTreeViewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); myTreeViewer.addFilter(new ModelFilesFilter()); myTreeViewer.addSelectionChangedListener(new OkButtonEnabler()); }
From source file:ac.soton.eventb.classdiagrams.diagram.part.ModelElementSelectionPage.java
License:Open Source License
/** * @generated//from w ww .j a v a 2s.c o m */ public void createControl(Composite parent) { initializeDialogUnits(parent); Composite plate = new Composite(parent, SWT.NONE); plate.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(); layout.marginWidth = 0; plate.setLayout(layout); setControl(plate); Label label = new Label(plate, SWT.NONE); label.setText(getSelectionTitle()); label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); modelViewer = new TreeViewer(plate, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 300; layoutData.widthHint = 300; modelViewer.getTree().setLayoutData(layoutData); modelViewer.setContentProvider(new AdapterFactoryContentProvider( ClassdiagramsDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory())); modelViewer.setLabelProvider(new AdapterFactoryLabelProvider( ClassdiagramsDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory())); if (selectedModelElement != null) { modelViewer.setInput(selectedModelElement.eResource()); modelViewer.setSelection(new StructuredSelection(selectedModelElement)); } modelViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ModelElementSelectionPage.this.updateSelection((IStructuredSelection) event.getSelection()); } }); setPageComplete(validatePage()); }
From source file:ac.soton.fmusim.components.diagram.part.ModelElementSelectionPage.java
License:Open Source License
/** * @generated// w ww .ja va 2 s . c om */ public void createControl(Composite parent) { initializeDialogUnits(parent); Composite plate = new Composite(parent, SWT.NONE); plate.setLayoutData(new GridData(GridData.FILL_BOTH)); GridLayout layout = new GridLayout(); layout.marginWidth = 0; plate.setLayout(layout); setControl(plate); Label label = new Label(plate, SWT.NONE); label.setText(getSelectionTitle()); label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); modelViewer = new TreeViewer(plate, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); GridData layoutData = new GridData(GridData.FILL_BOTH); layoutData.heightHint = 300; layoutData.widthHint = 300; modelViewer.getTree().setLayoutData(layoutData); modelViewer.setContentProvider(new AdapterFactoryContentProvider( ComponentsDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory())); modelViewer.setLabelProvider(new AdapterFactoryLabelProvider( ComponentsDiagramEditorPlugin.getInstance().getItemProvidersAdapterFactory())); if (selectedModelElement != null) { modelViewer.setInput(selectedModelElement.eResource()); modelViewer.setSelection(new StructuredSelection(selectedModelElement)); } modelViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { ModelElementSelectionPage.this.updateSelection((IStructuredSelection) event.getSelection()); } }); setPageComplete(validatePage()); }
From source file:alma.acs.eventbrowser.parts.ChannelTreePart.java
License:Open Source License
/** * See http://www.vogella.com/articles/EclipseJFaceTree/article.html */// w w w. jav a 2s. c o m @PostConstruct public void postConstruct(Composite parent, final IEclipseContext context, EMenuService menuService, IEventBroker eventBroker) { try { eventModel = EventModel.getInstance(); } catch (Throwable thr) { thr.printStackTrace(); IStatus someStatus = statusReporter.newStatus(IStatus.ERROR, "Connection with NCs failed.", thr); statusReporter.report(someStatus, StatusReporter.SHOW); throw new RuntimeException(thr); } // eventModel.getLogger().info("ChannelTreePart got EventModel instance."); statusLineWriter = new StatusLineWriter(eventBroker); viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); viewer.setContentProvider(new ChannelTreeContentProvider()); viewer.setLabelProvider(new ChannelTreeLabelProvider()); // Expand the tree. '2' means to show only the visible top-level nodes. viewer.setAutoExpandLevel(2); viewer.setComparator(new ServiceViewerComparator()); // Provide the root node to the ContentProvider viewer.setInput(eventModel.getNotifyServicesRoot()); // Expand with doubleclick viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { IStructuredSelection thisSelection = (IStructuredSelection) event.getSelection(); Object selectedNode = thisSelection.getFirstElement(); viewer.setExpandedState(selectedNode, !viewer.getExpandedState(selectedNode)); } }); // Attach a selection listener to our tree that will post selections to the ESelectionService viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); selectionService .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray()); } }); // TODO: Take care of help system. Here's the E3 code: // // Create the help context id for the viewer's control // PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), "alma.acs.eventbrowser.viewer"); hookContextMenu(menuService); // TODO: this could be used by handlers etc, currently it's not context.set(ChannelTreePart.class, this); }
From source file:at.bitandart.zoubek.mervin.patchset.history.PatchSetHistoryView.java
License:Open Source License
@PostConstruct public void postConstruct(Composite parent, EModelService modelService, MPart part) { syncMenuAndToolbarItemState(modelService, part); initializeColors();/*from w ww .ja v a 2 s . c o m*/ highlightStyler = new HighlightStyler(display); mainPanel = new Composite(parent, SWT.NONE); mainPanel.setLayout(new GridLayout()); // progress information panel progressPanel = new ProgressPanel(mainPanel, SWT.BORDER); progressPanel.setBackground(progressBackgroundColor); progressPanel.setForeground(progressForegroundColor); progressPanel.setVisible(false); progressPanel.setLayout(new GridLayout()); GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false); gridData.exclude = true; progressPanel.setLayoutData(gridData); // initialize tree viewer historyTreeViewer = new TreeViewer(mainPanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL); historyTreeViewer.setComparator(new ViewerComparator()); historyTreeViewer.setContentProvider(new PatchSetHistoryContentProvider()); historyTreeViewer.addSelectionChangedListener(new HighlightSelectionListener(this)); Tree histroryTree = historyTreeViewer.getTree(); histroryTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); histroryTree.setLinesVisible(false); histroryTree.setHeaderVisible(true); histroryTree.addMouseTrackListener(new HighlightHoveredTreeItemMouseTracker(this)); // set up all columns of the tree labelColumn = new TreeViewerColumn(historyTreeViewer, SWT.NONE); labelColumn.getColumn().setResizable(true); labelColumn.getColumn().setMoveable(true); labelColumn.getColumn().setText("Diff"); labelColumn.getColumn().setWidth(400); DiffNameColumnLabelProvider labelColumnLabelProvider = new DiffNameColumnLabelProvider(); labelColumn.setLabelProvider(labelColumnLabelProvider); labelColumn.getColumn().addSelectionListener( new ThreeWayObjectTreeViewerComparator(historyTreeViewer, labelColumn, labelColumnLabelProvider)); viewInitialized = true; // refresh the viewer highlights if highlighting is requested highlightService.addHighlightServiceListener(new IReviewHighlightServiceListener() { @Override public void elementRemoved(ModelReview review, Object element) { historyTreeViewer.refresh(); } @Override public void elementAdded(ModelReview review, Object element) { historyTreeViewer.refresh(); } }); }
From source file:at.bitandart.zoubek.mervin.review.DiagramDiffDebugView.java
License:Open Source License
private void createViewModelTab(FormToolkit toolkit, CTabFolder tabFolder) { CTabItem tabItem = new CTabItem(tabFolder, SWT.NULL); tabItem.setText("View Model"); Composite body = toolkit.createComposite(tabFolder); body.setLayout(new GridLayout()); tabItem.setControl(body);//from w w w . j a va 2 s . c o m tabFolder.setSelection(tabItem); modelTreeViewer = new TreeViewer(body, SWT.VIRTUAL); modelTreeViewer.setUseHashlookup(true); Tree modelTree = modelTreeViewer.getTree(); modelTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); modelTreeViewer.setContentProvider(new EmfAndReflectionContentProvider(modelTreeViewer)); modelTreeViewer.setLabelProvider(new EmfAndReflectionCellLabelProvider()); Menu contextMenu = new Menu(modelTree); MenuItem refreshItem = new MenuItem(contextMenu, SWT.NULL); refreshItem.setText("refresh"); refreshItem.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { modelTreeViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); modelTree.setMenu(contextMenu); }
From source file:at.bitandart.zoubek.mervin.review.DiagramDiffDebugView.java
License:Open Source License
private void createEditPartTab(FormToolkit toolkit, CTabFolder tabFolder) { CTabItem tabItem = new CTabItem(tabFolder, SWT.NULL); tabItem.setText("Edit Parts"); Composite body = toolkit.createComposite(tabFolder); body.setLayout(new GridLayout()); tabItem.setControl(body);// w w w .ja v a2 s . c om editPartTreeViewer = new TreeViewer(body, SWT.VIRTUAL); editPartTreeViewer.setUseHashlookup(true); Tree editPartTree = editPartTreeViewer.getTree(); editPartTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); editPartTreeViewer.setContentProvider(new EmfAndReflectionContentProvider(editPartTreeViewer)); editPartTreeViewer.setLabelProvider(new EmfAndReflectionCellLabelProvider()); Menu contextMenu = new Menu(editPartTree); MenuItem refreshItem = new MenuItem(contextMenu, SWT.NULL); refreshItem.setText("refresh"); refreshItem.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { editPartTreeViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); editPartTree.setMenu(contextMenu); }
From source file:at.bitandart.zoubek.mervin.review.DiagramDiffDebugView.java
License:Open Source License
private void createFigureTab(FormToolkit toolkit, CTabFolder tabFolder) { CTabItem tabItem = new CTabItem(tabFolder, SWT.NULL); tabItem.setText("Figures"); Composite body = toolkit.createComposite(tabFolder); body.setLayout(new GridLayout()); tabItem.setControl(body);//from www.ja va 2 s .co m figureTreeViewer = new TreeViewer(body, SWT.VIRTUAL); figureTreeViewer.setUseHashlookup(true); Tree figureTree = figureTreeViewer.getTree(); figureTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); figureTreeViewer.setContentProvider(new EmfAndReflectionContentProvider(figureTreeViewer)); figureTreeViewer.setLabelProvider(new EmfAndReflectionCellLabelProvider()); Menu contextMenu = new Menu(figureTree); MenuItem refreshItem = new MenuItem(contextMenu, SWT.NULL); refreshItem.setText("refresh"); refreshItem.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { figureTreeViewer.refresh(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); figureTree.setMenu(contextMenu); }