List of usage examples for org.eclipse.jface.viewers TreeViewer getTree
public Tree getTree()
From source file:org.eclipse.emf.ecoretools.legacy.properties.internal.sections.EAnnotationPropertySection.java
License:Open Source License
private TreeViewer createTreeViewer(Composite parent, GridData layoutData) { TreeViewer treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); treeViewer.getTree().setLayoutData(layoutData); TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer, new FocusCellOwnerDrawHighlighter(treeViewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(treeViewer) { @Override// w w w.j a va 2 s . com protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(treeViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); return treeViewer; }
From source file:org.eclipse.emf.ecoretools.registration.view.RegisteredPackageView.java
License:Open Source License
/** * used by createPartControl Creates the columns in the view * // w w w . j a va2s. c o m * @param treeViewer */ private void createColumns(TreeViewer treeViewer) { TreeColumn column1 = new TreeColumn(treeViewer.getTree(), SWT.LEFT); column1.setText(Messages.RegisteredPackageView_RegisteredURI); column1.setWidth(300); column1.setResizable(true); column1.addSelectionListener(new PackageNsURIColumnSelectionListener(treeViewer)); TreeColumn column2 = new TreeColumn(treeViewer.getTree(), SWT.LEFT); column2.setText(Messages.RegisteredPackageView_PackageName); column2.setWidth(120); column2.setResizable(true); column2.addSelectionListener(new PackageNameColumnSelectionListener(treeViewer)); TreeColumn column3 = new TreeColumn(treeViewer.getTree(), SWT.LEFT); column3.setText(Messages.RegisteredPackageView_Origin); column3.setWidth(350); column3.setResizable(true); }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java
License:Open Source License
/** * Configures the passed tree viewer.//from www . j a va 2 s .c o m * * @param treeViewer the {@link TreeViewer} to configure * @param editorComposite the composite of the editor */ protected void setupTreeViewer(final TreeViewer treeViewer, final ScrolledComposite editorComposite) { treeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return VCategorizableElement.class.isInstance(element) && ((VCategorizableElement) element).isVisible(); } }); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).hint(400, SWT.DEFAULT) .applyTo(treeViewer.getTree()); final List<TreeEditor> editors = new ArrayList<TreeEditor>(); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { @Override public boolean hasChildren(Object object) { final boolean hasChildren = super.hasChildren(object); if (hasChildren) { for (final Object o : getChildren(object)) { for (final ViewerFilter viewerFilter : treeViewer.getFilters()) { if (viewerFilter.select(treeViewer, object, o)) { return true; } } } } return false; } }; final TreeTableLabelProvider treeTableLabelProvider = getTreeLabelProvider(adapterFactory); treeViewer.getTree().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent event) { contentProvider.dispose(); treeTableLabelProvider.dispose(); adapterFactory.dispose(); } }); treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(treeTableLabelProvider); treeViewer.addSelectionChangedListener(new TreeSelectionChangedListener(getViewModelContext(), editorComposite, getCategorizationElement(), treeViewer, editors)); addTreeEditor(treeViewer, getVElement(), editors); }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java
License:Open Source License
/** * Adds the tree editor./*from w ww. j ava 2s . c o m*/ * * @param treeViewer the tree viewer * @param view the view * @param editors the list of tree editors */ protected void addTreeEditor(final TreeViewer treeViewer, EObject view, final List<TreeEditor> editors) { // The text column final Tree tree = treeViewer.getTree(); int maxActions = 0; final Iterator<EObject> viewContents = view.eAllContents(); while (viewContents.hasNext()) { final EObject object = viewContents.next(); if (VAbstractCategorization.class.isInstance(object)) { final VAbstractCategorization abstractCategorization = (VAbstractCategorization) object; if (maxActions < abstractCategorization.getActions().size()) { maxActions = abstractCategorization.getActions().size(); } } } if (maxActions == 0) { return; } final TreeColumn columnText = new TreeColumn(tree, SWT.NONE); columnText.setWidth(300); columnText.setAlignment(SWT.FILL); for (int i = 0; i < maxActions; i++) { // The column final TreeColumn column = new TreeColumn(tree, SWT.NONE); column.setWidth(50); final TreeEditor editor = new TreeEditor(tree); // The editor must have the same size as the cell and must // not be any smaller than 50 pixels. editor.horizontalAlignment = SWT.CENTER; editor.grabHorizontal = true; editor.minimumWidth = 50; editor.setColumn(i + 1); editors.add(editor); } tree.addTreeListener(new TreeListener() { @Override public void treeExpanded(TreeEvent e) { } @Override public void treeCollapsed(TreeEvent e) { cleanUpTreeEditors(editors); } }); }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.AbstractJFaceTreeRenderer.java
License:Open Source License
/** * Adds the buttons.//from w w w . j a va 2 s. c o m * * @param treeViewer the tree viewer * @param treeSelection the tree selection * @param editors the list of tree editors */ protected void addButtons(final TreeViewer treeViewer, TreeSelection treeSelection, List<TreeEditor> editors) { cleanUpTreeEditors(editors); if (treeSelection.getPaths().length == 0) { return; } // Identify the selected row final TreeItem item = treeViewer.getTree().getSelection()[0]; if (item == null) { return; } final VCategorizableElement object = (VCategorizableElement) treeSelection.getFirstElement(); if (object.getECPActions() == null) { return; } for (int i = 0; i < object.getECPActions().size(); i++) { final ECPTreeViewAction action = (ECPTreeViewAction) object.getECPActions().get(i); final TreeEditor editor = editors.get(i); action.init(treeViewer, treeSelection, editor); action.execute(); } }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer.java
License:Open Source License
/** * Configures the passed tree viewer./*from w w w.j a v a 2 s . c o m*/ * * @param treeViewer the {@link TreeViewer} to configure * @param vCategorizationElement the {@link VCategorizationElement} * @param editorComposite the composite of the editor * @param viewModelContext the {@link ViewModelContext} to use */ protected void setupTreeViewer(final TreeViewer treeViewer, final VCategorizationElement vCategorizationElement, final ScrolledComposite editorComposite, final ViewModelContext viewModelContext) { treeViewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { return VCategorizableElement.class.isInstance(element) && ((VCategorizableElement) element).isVisible(); } }); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).hint(400, SWT.DEFAULT) .applyTo(treeViewer.getTree()); final List<TreeEditor> editors = new ArrayList<TreeEditor>(); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { /** * {@inheritDoc} * * @see org.eclipse.emf.ecp.internal.ui.view.emf.AdapterFactoryContentProvider#hasChildren(java.lang.Object) */ @Override public boolean hasChildren(Object object) { final boolean hasChildren = super.hasChildren(object); if (hasChildren) { for (final Object o : getChildren(object)) { for (final ViewerFilter viewerFilter : treeViewer.getFilters()) { if (viewerFilter.select(treeViewer, object, o)) { return true; } } } } return false; } }; final TreeTableLabelProvider treeTableLabelProvider = new TreeTableLabelProvider(adapterFactory); treeViewer.getTree().addDisposeListener(new DisposeListener() { private static final long serialVersionUID = 1L; public void widgetDisposed(DisposeEvent event) { contentProvider.dispose(); treeTableLabelProvider.dispose(); adapterFactory.dispose(); } }); treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(treeTableLabelProvider); treeViewer.addSelectionChangedListener(new TreeSelectionChangedListener(viewModelContext, editorComposite, vCategorizationElement, treeViewer, editors)); addTreeEditor(treeViewer, vCategorizationElement, editors); }
From source file:org.eclipse.emf.ecp.view.spi.categorization.swt.SWTCategorizationElementRenderer.java
License:Open Source License
/** * Adds the tree editor.//from w w w . j a v a 2s .co m * * @param treeViewer the tree viewer * @param view the view * @param editors the list of tree editors */ protected void addTreeEditor(final TreeViewer treeViewer, VCategorizationElement view, final List<TreeEditor> editors) { // The text column final Tree tree = treeViewer.getTree(); final TreeColumn columnText = new TreeColumn(tree, SWT.NONE); columnText.setWidth(300); columnText.setAlignment(SWT.FILL); int maxActions = 0; final Iterator<EObject> viewContents = view.eAllContents(); while (viewContents.hasNext()) { final EObject object = viewContents.next(); if (VAbstractCategorization.class.isInstance(object)) { final VAbstractCategorization abstractCategorization = (VAbstractCategorization) object; if (maxActions < abstractCategorization.getActions().size()) { maxActions = abstractCategorization.getActions().size(); } } } for (int i = 0; i < maxActions; i++) { // The column final TreeColumn column = new TreeColumn(tree, SWT.NONE); column.setWidth(50); final TreeEditor editor = new TreeEditor(tree); // The editor must have the same size as the cell and must // not be any smaller than 50 pixels. editor.horizontalAlignment = SWT.CENTER; editor.grabHorizontal = true; editor.minimumWidth = 50; editor.setColumn(i + 1); editors.add(editor); } tree.addTreeListener(new TreeListener() { private static final long serialVersionUID = -576684848162963651L; public void treeExpanded(TreeEvent e) { } public void treeCollapsed(TreeEvent e) { cleanUpTreeEditors(editors); } }); }
From source file:org.eclipse.emf.ecp.view.treemasterdetail.ui.swt.internal.TreeMasterDetailSWTRenderer.java
License:Open Source License
/** * {@inheritDoc}.//from w w w . j a v a 2s.c o m * * @see org.eclipse.emf.ecp.ui.view.swt.internal.AbstractSWTRenderer#renderModel(org.eclipse.swt.widgets.Composite, * org.eclipse.emf.ecp.view.model.VElement, org.eclipse.emf.ecp.view.context.ViewModelContext) */ @Override protected List<RenderingResultRow<Control>> renderModel(Composite parent, VTreeMasterDetail vElement, ViewModelContext viewContext) throws NoRendererFoundException, NoPropertyDescriptorFoundExeption { final SashForm sash = new SashForm(parent, SWT.HORIZONTAL); GridLayoutFactory.fillDefaults().numColumns(2).equalWidth(false).applyTo(sash); GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(sash); sash.setSashWidth(5); final Composite leftPanel = new Composite(sash, SWT.FILL); leftPanel.setLayout(GridLayoutFactory.fillDefaults().create()); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.FILL).grab(false, true).applyTo(leftPanel); leftPanel.setBackground(parent.getBackground()); final ScrolledComposite rightPanel = new ScrolledComposite(sash, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); rightPanel.setShowFocusedControl(true); rightPanel.setExpandVertical(true); rightPanel.setExpandHorizontal(true); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(rightPanel); rightPanel.setLayout(GridLayoutFactory.fillDefaults().create()); rightPanel.setBackground(parent.getBackground()); sash.setWeights(new int[] { 1, 3 }); final EObject modelElement = viewContext.getDomainModel(); final VView detailView = vElement.getDetailView(); final EditingDomain editingDomain = AdapterFactoryEditingDomain.getEditingDomainFor(modelElement); final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory( ComposedAdapterFactory.Descriptor.Registry.INSTANCE); final AdapterFactoryContentProvider adapterFactoryContentProvider = new AdapterFactoryContentProvider( adapterFactory) { /** * {@inheritDoc} * * @see org.eclipse.emf.ecp.internal.ui.view.emf.AdapterFactoryContentProvider#getElements(java.lang.Object) */ @Override public Object[] getElements(Object object) { return new Object[] { ((RootObject) object).getRoot() }; } }; final AdapterFactoryLabelProvider adapterFactoryLabelProvider = new AdapterFactoryLabelProvider( adapterFactory); final TreeViewer treeViewer = new TreeViewer(leftPanel); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(100, SWT.DEFAULT) .applyTo(treeViewer.getTree()); treeViewer.setContentProvider(adapterFactoryContentProvider); treeViewer.setLabelProvider(adapterFactoryLabelProvider); treeViewer.setInput(new RootObject(modelElement)); // Drag and Drop addDragAndDropSupport(modelElement, treeViewer, editingDomain); // Selection Listener treeViewer.addSelectionChangedListener(new TreeMasterViewSelectionListener(rightPanel, detailView)); fillContextMenu(treeViewer, editingDomain); final RenderingResultRow<Control> createRenderingResultRow = SWTRenderingHelper.INSTANCE .getResultRowFactory().createRenderingResultRow(parent); final List<RenderingResultRow<Control>> renderingList = new ArrayList<RenderingResultRow<Control>>(); renderingList.add(createRenderingResultRow); treeViewer.getTree().addDisposeListener(new DisposeListener() { private static final long serialVersionUID = 1L; public void widgetDisposed(DisposeEvent event) { adapterFactoryContentProvider.dispose(); adapterFactoryLabelProvider.dispose(); adapterFactory.dispose(); } }); return renderingList; }
From source file:org.eclipse.emfforms.spi.swt.treemasterdetail.actions.KeybindedMasterDetailAction.java
License:Open Source License
/** * {@inheritDoc}//from ww w . j av a 2s .co m * * @see org.eclipse.emfforms.spi.swt.treemasterdetail.actions.MasterDetailAction#setTreeViewer(org.eclipse.jface.viewers.TreeViewer) */ @Override public void setTreeViewer(TreeViewer treeviewer) { super.setTreeViewer(treeviewer); if (registeredTreeViewer != null) { registeredTreeViewer.getTree().removeKeyListener(this); registeredTreeViewer.removeSelectionChangedListener(this); } treeviewer.getTree().addKeyListener(this); treeviewer.addSelectionChangedListener(this); registeredTreeViewer = treeviewer; }
From source file:org.eclipse.epf.authoring.ui.forms.ConfigViewPage.java
License:Open Source License
/** * Add view/*from w w w . j a v a 2 s. c o m*/ * * @param obj */ private void addView(ContentCategory obj) { selectedItem = obj; Composite composite = new Composite(tabFolder, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.FILL_BOTH)); TreeViewer treeViewer = new TreeViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); treeViewer.getTree().setLayout(new GridLayout()); treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH)); IFilter configFilter = new ConfigurationViewFilter(config, treeViewer); AdapterFactory adapterFactory = TngAdapterFactory.INSTANCE .getConfigurationView_AdapterFactory(configFilter); AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory) { public Object[] getElements(Object object) { // Get the adapter from the factory. ITreeItemContentProvider itemProvider = (ITreeItemContentProvider) adapterFactory .adapt(selectedItem, ITreeItemContentProvider.class); return itemProvider.getChildren(selectedItem).toArray(); // return itemProvider.getElements(selectedItem).toArray(); } }; treeViewer.setContentProvider(contentProvider); treeViewer.setLabelProvider(new ConfigurationLabelProvider(config, adapterFactory)); try { treeViewer.setInput(config); } catch (Exception ex) { logger.logError("Error creating treeviewer for config", ex); //$NON-NLS-1$ } CTabItem item = new CTabItem(tabFolder, SWT.TOP); item.setText(((ContentCategory) obj).getName()); item.setControl(composite); // make all buttons enabled removeButton.setEnabled(true); makeDefaultButton.setEnabled(true); toolkit.paintBordersFor(composite); tabFolder.setSelection(item); }