List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection
public StructuredSelection(List elements)
List
. From source file:ca.uwaterloo.gp.fmp.presentation.FmpModelWizard.java
License:Open Source License
/** * Do the work after everything is specified. * <!-- begin-user-doc -->//from w w w.j ava 2s .co m * <!-- end-user-doc --> * @generated NOT */ public boolean performFinish() { try { // Remember the file. // final IFile modelFile = getModelFile(); // Do the work within an operation. // WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { protected void execute(IProgressMonitor progressMonitor) { try { // Create a resource set // ResourceSet resourceSet = new ResourceSetImpl(); // Get the URI of the model file. // URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString()); // Create a resource for this file. // Resource resource = resourceSet.createResource(fileURI); // Add the initial model object to the contents. // EObject rootObject = createInitialModel(); if (rootObject != null) { resource.getContents().add(rootObject); } // Save the contents of the resource to the file system. // Map options = new HashMap(); options.put(XMLResource.OPTION_ENCODING, "ASCII"); resource.save(options); } catch (Exception exception) { fmpEditPlugin.INSTANCE.log(exception); } finally { progressMonitor.done(); } } }; getContainer().run(false, false, operation); // Select the new file resource in the current view. // IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = workbenchWindow.getActivePage(); final IWorkbenchPart activePart = page.getActivePart(); if (activePart instanceof ISetSelectionTarget) { final ISelection targetSelection = new StructuredSelection(modelFile); getShell().getDisplay().asyncExec(new Runnable() { public void run() { ((ISetSelectionTarget) activePart).selectReveal(targetSelection); } }); } // Open an editor on the new file. // try { page.openEditor(new FileEditorInput(modelFile), workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); } catch (PartInitException exception) { MessageDialog.openError(workbenchWindow.getShell(), fmpEditPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); return false; } return true; } catch (Exception exception) { fmpEditPlugin.INSTANCE.log(exception); return false; } }
From source file:ca.uwaterloo.gp.fmp.system.drillDown.FmpDrillDownAdapter.java
License:Open Source License
/** * Reverts the input for the tree back to the state when <code>goInto</code> * was last called.//w w w . j a v a 2 s. c om * <p> * A frame is removed from the drill stack. Then that frame is used to reset the * input and expansion state for the child tree. * </p> */ public void goBack() { Object currentInput = fChildTree.getInput(); DrillFrame oFrame = fDrillStack.goBack(); Object input = oFrame.getElement(); fChildTree.setInput(input); expand(oFrame.getExpansion()); // if there was a selection, it should have been preserved, // but if not, select the element that was drilled into if (fChildTree.getSelection().isEmpty()) fChildTree.setSelection(new StructuredSelection(currentInput), true); updateNavigationButtons(); }
From source file:ca.uwaterloo.gp.fmp.system.drillDown.FmpDrillDownAdapter.java
License:Open Source License
/** * Reverts the input for the tree back to the state when the adapter was * created./*www.j av a 2s . co m*/ * <p> * All of the frames are removed from the drill stack. Then the oldest frame is * used to reset the input and expansion state for the child tree. * </p> */ public void goHome() { Object currentInput = fChildTree.getInput(); DrillFrame oFrame = fDrillStack.goHome(); Object input = oFrame.getElement(); fChildTree.setInput(input); expand(oFrame.getExpansion()); // if there was a selection, it should have been preserved, // but if not, select the element that was last drilled into if (fChildTree.getSelection().isEmpty()) fChildTree.setSelection(new StructuredSelection(currentInput), true); updateNavigationButtons(); }
From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionEditor.java
License:Open Source License
/** * This sets the selection into whichever viewer is active. * <!-- begin-user-doc -->//from w w w . j a va 2s .c o m * <!-- end-user-doc --> * @generated */ public void setSelectionToViewer(Collection<?> collection) { final Collection<?> theSelection = collection; // Make sure it's okay. // if (theSelection != null && !theSelection.isEmpty()) { Runnable runnable = new Runnable() { @Override public void run() { // Try to select the items in the current content viewer of the editor. // if (ExtensionEditor.this.currentViewer != null) { ExtensionEditor.this.currentViewer .setSelection(new StructuredSelection(theSelection.toArray()), true); } } }; getSite().getShell().getDisplay().asyncExec(runnable); } }
From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionEditor.java
License:Open Source License
/** * This is the method used by the framework to install your own controls. * <!-- begin-user-doc -->//from w ww. j a va 2s. co m * <!-- end-user-doc --> * @generated */ @Override public void createPages() { // Creates the model from the editor input // createModel(); // Only creates the other pages if there is something that can be edited // if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { // Create a page for the selection tree view. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { Tree tree = new Tree(composite, SWT.MULTI); TreeViewer newTreeViewer = new TreeViewer(tree); return newTreeViewer; } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.selectionViewer = (TreeViewer) viewerPane.getViewer(); this.selectionViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); this.selectionViewer.setInput(this.editingDomain.getResourceSet()); this.selectionViewer.setSelection( new StructuredSelection(this.editingDomain.getResourceSet().getResources().get(0)), true); viewerPane.setTitle(this.editingDomain.getResourceSet()); new AdapterFactoryTreeEditor(this.selectionViewer.getTree(), this.adapterFactory); createContextMenuFor(this.selectionViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_SelectionPage_label")); } // Create a page for the parent tree view. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { Tree tree = new Tree(composite, SWT.MULTI); TreeViewer newTreeViewer = new TreeViewer(tree); return newTreeViewer; } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.parentViewer = (TreeViewer) viewerPane.getViewer(); this.parentViewer.setAutoExpandLevel(30); this.parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(this.adapterFactory)); this.parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.parentViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_ParentPage_label")); } // This is the page for the list viewer // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { return new ListViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.listViewer = (ListViewer) viewerPane.getViewer(); this.listViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.listViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.listViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_ListPage_label")); } // This is the page for the tree viewer // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TreeViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.treeViewer = (TreeViewer) viewerPane.getViewer(); this.treeViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); new AdapterFactoryTreeEditor(this.treeViewer.getTree(), this.adapterFactory); createContextMenuFor(this.treeViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TreePage_label")); } // This is the page for the table viewer. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TableViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.tableViewer = (TableViewer) viewerPane.getViewer(); Table table = this.tableViewer.getTable(); TableLayout layout = new TableLayout(); table.setLayout(layout); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn objectColumn = new TableColumn(table, SWT.NONE); layout.addColumnData(new ColumnWeightData(3, 100, true)); objectColumn.setText(getString("_UI_ObjectColumn_label")); objectColumn.setResizable(true); TableColumn selfColumn = new TableColumn(table, SWT.NONE); layout.addColumnData(new ColumnWeightData(2, 100, true)); selfColumn.setText(getString("_UI_SelfColumn_label")); selfColumn.setResizable(true); this.tableViewer.setColumnProperties(new String[] { "a", "b" }); this.tableViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.tableViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TablePage_label")); } // This is the page for the table tree viewer. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ExtensionEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TreeViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.treeViewerWithColumns = (TreeViewer) viewerPane.getViewer(); Tree tree = this.treeViewerWithColumns.getTree(); tree.setLayoutData(new FillLayout()); tree.setHeaderVisible(true); tree.setLinesVisible(true); TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); objectColumn.setText(getString("_UI_ObjectColumn_label")); objectColumn.setResizable(true); objectColumn.setWidth(250); TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); selfColumn.setText(getString("_UI_SelfColumn_label")); selfColumn.setResizable(true); selfColumn.setWidth(200); this.treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" }); this.treeViewerWithColumns .setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.treeViewerWithColumns); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); } getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { setActivePage(0); } }); } // Ensures that this editor will only display the page's tab // area if there are more than one page // getContainer().addControlListener(new ControlAdapter() { boolean guard = false; @Override public void controlResized(ControlEvent event) { if (!this.guard) { this.guard = true; hideTabs(); this.guard = false; } } }); getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { updateProblemIndication(); } }); }
From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionEditor.java
License:Open Source License
/** * This accesses a cached version of the content outliner. * <!-- begin-user-doc -->//from w ww.ja v a 2s .co m * <!-- end-user-doc --> * @generated */ public IContentOutlinePage getContentOutlinePage() { if (this.contentOutlinePage == null) { // The content outline is just a tree. // class MyContentOutlinePage extends ContentOutlinePage { @Override public void createControl(Composite parent) { super.createControl(parent); ExtensionEditor.this.contentOutlineViewer = getTreeViewer(); ExtensionEditor.this.contentOutlineViewer.addSelectionChangedListener(this); // Set up the tree viewer. // ExtensionEditor.this.contentOutlineViewer.setContentProvider( new AdapterFactoryContentProvider(ExtensionEditor.this.adapterFactory)); ExtensionEditor.this.contentOutlineViewer .setLabelProvider(new AdapterFactoryLabelProvider(ExtensionEditor.this.adapterFactory)); ExtensionEditor.this.contentOutlineViewer .setInput(ExtensionEditor.this.editingDomain.getResourceSet()); // Make sure our popups work. // createContextMenuFor(ExtensionEditor.this.contentOutlineViewer); if (!ExtensionEditor.this.editingDomain.getResourceSet().getResources().isEmpty()) { // Select the root object in the view. // ExtensionEditor.this.contentOutlineViewer.setSelection( new StructuredSelection( ExtensionEditor.this.editingDomain.getResourceSet().getResources().get(0)), true); } } @Override public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) { super.makeContributions(menuManager, toolBarManager, statusLineManager); ExtensionEditor.this.contentOutlineStatusLineManager = statusLineManager; } @Override public void setActionBars(IActionBars actionBars) { super.setActionBars(actionBars); getActionBarContributor().shareGlobalActions(this, actionBars); } } this.contentOutlinePage = new MyContentOutlinePage(); // Listen to selection so that we can handle it is a special way. // this.contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() { // This ensures that we handle selections correctly. // @Override public void selectionChanged(SelectionChangedEvent event) { handleContentOutlineSelection(event.getSelection()); } }); } return this.contentOutlinePage; }
From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionEditor.java
License:Open Source License
/** * This deals with how we want selection in the outliner to affect the other views. * <!-- begin-user-doc -->// w ww . j a v a2s. co m * <!-- end-user-doc --> * @generated */ public void handleContentOutlineSelection(ISelection selection) { if (this.currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { Iterator<?> selectedElements = ((IStructuredSelection) selection).iterator(); if (selectedElements.hasNext()) { // Get the first selected element. // Object selectedElement = selectedElements.next(); // If it's the selection viewer, then we want it to select the same selection as this selection. // if (this.currentViewerPane.getViewer() == this.selectionViewer) { ArrayList<Object> selectionList = new ArrayList<Object>(); selectionList.add(selectedElement); while (selectedElements.hasNext()) { selectionList.add(selectedElements.next()); } // Set the selection to the widget. // this.selectionViewer.setSelection(new StructuredSelection(selectionList)); } else { // Set the input to the widget. // if (this.currentViewerPane.getViewer().getInput() != selectedElement) { this.currentViewerPane.getViewer().setInput(selectedElement); this.currentViewerPane.setTitle(selectedElement); } } } } }
From source file:carisma.modeltype.bpmn2.extension.presentation.ExtensionModelWizard.java
License:Open Source License
/** * Do the work after everything is specified. * <!-- begin-user-doc -->/* ww w. j av a 2 s . c o m*/ * <!-- end-user-doc --> * @generated */ @Override public boolean performFinish() { try { // Remember the file. // final IFile modelFile = getModelFile(); // Do the work within an operation. // WorkspaceModifyOperation operation = new WorkspaceModifyOperation() { @Override protected void execute(IProgressMonitor progressMonitor) { try { // Create a resource set // ResourceSet resourceSet = new ResourceSetImpl(); // Get the URI of the model file. // URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); // Create a resource for this file. // Resource resource = resourceSet.createResource(fileURI); // Add the initial model object to the contents. // EObject rootObject = createInitialModel(); if (rootObject != null) { resource.getContents().add(rootObject); if (ExtensionModelWizard.this.detailsPage.sourceFile != null) { ExtensionModelWizardHelper.addExtensibleObjectsToModel(rootObject, ExtensionModelWizard.this.detailsPage.sourceFile.getLocation().toFile()); } } // Save the contents of the resource to the file system. // Map<Object, Object> options = new HashMap<>(); /** Define Encoding manually */ //options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); options.put(XMLResource.OPTION_ENCODING, "UTF-8"); resource.save(options); } catch (Exception exception) { ExtensionEditorPlugin.INSTANCE.log(exception); } finally { progressMonitor.done(); } } }; getContainer().run(false, false, operation); // Select the new file resource in the current view. // IWorkbenchWindow workbenchWindow = this.workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = workbenchWindow.getActivePage(); final IWorkbenchPart activePart = page.getActivePart(); if (activePart instanceof ISetSelectionTarget) { final ISelection targetSelection = new StructuredSelection(modelFile); getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { ((ISetSelectionTarget) activePart).selectReveal(targetSelection); } }); } // Open an editor on the new file. // try { page.openEditor(new FileEditorInput(modelFile), this.workbench.getEditorRegistry() .getDefaultEditor(modelFile.getFullPath().toString()).getId()); } catch (PartInitException exception) { MessageDialog.openError(workbenchWindow.getShell(), ExtensionEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); return false; } return true; } catch (Exception exception) { ExtensionEditorPlugin.INSTANCE.log(exception); return false; } }
From source file:carisma.ocl.library.presentation.LibraryEditor.java
License:Open Source License
/** * This sets the selection into whichever viewer is active. * <!-- begin-user-doc -->/*from w w w .j a v a 2 s . c o m*/ * <!-- end-user-doc --> * @generated */ public void setSelectionToViewer(Collection<?> collection) { final Collection<?> theSelection = collection; // Make sure it's okay. // if (theSelection != null && !theSelection.isEmpty()) { Runnable runnable = new Runnable() { @Override public void run() { // Try to select the items in the current content viewer of the editor. // if (LibraryEditor.this.currentViewer != null) { LibraryEditor.this.currentViewer .setSelection(new StructuredSelection(theSelection.toArray()), true); } } }; getSite().getShell().getDisplay().asyncExec(runnable); } }
From source file:carisma.ocl.library.presentation.LibraryEditor.java
License:Open Source License
/** * This is the method used by the framework to install your own controls. * <!-- begin-user-doc -->//from w ww . java 2 s. c o m * <!-- end-user-doc --> * @generated */ @Override public void createPages() { // Creates the model from the editor input // createModel(); // Only creates the other pages if there is something that can be edited // if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { // Create a page for the selection tree view. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { Tree tree = new Tree(composite, SWT.MULTI); TreeViewer newTreeViewer = new TreeViewer(tree); return newTreeViewer; } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.selectionViewer = (TreeViewer) viewerPane.getViewer(); this.selectionViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); this.selectionViewer.setInput(this.editingDomain.getResourceSet()); this.selectionViewer.setSelection( new StructuredSelection(this.editingDomain.getResourceSet().getResources().get(0)), true); viewerPane.setTitle(this.editingDomain.getResourceSet()); new AdapterFactoryTreeEditor(this.selectionViewer.getTree(), this.adapterFactory); createContextMenuFor(this.selectionViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_SelectionPage_label")); } // Create a page for the parent tree view. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { Tree tree = new Tree(composite, SWT.MULTI); TreeViewer newTreeViewer = new TreeViewer(tree); return newTreeViewer; } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.parentViewer = (TreeViewer) viewerPane.getViewer(); this.parentViewer.setAutoExpandLevel(30); this.parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(this.adapterFactory)); this.parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.parentViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_ParentPage_label")); } // This is the page for the list viewer // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { return new ListViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.listViewer = (ListViewer) viewerPane.getViewer(); this.listViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.listViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.listViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_ListPage_label")); } // This is the page for the tree viewer // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TreeViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.treeViewer = (TreeViewer) viewerPane.getViewer(); this.treeViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); new AdapterFactoryTreeEditor(this.treeViewer.getTree(), this.adapterFactory); createContextMenuFor(this.treeViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TreePage_label")); } // This is the page for the table viewer. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TableViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.tableViewer = (TableViewer) viewerPane.getViewer(); Table table = this.tableViewer.getTable(); TableLayout layout = new TableLayout(); table.setLayout(layout); table.setHeaderVisible(true); table.setLinesVisible(true); TableColumn objectColumn = new TableColumn(table, SWT.NONE); layout.addColumnData(new ColumnWeightData(3, 100, true)); objectColumn.setText(getString("_UI_ObjectColumn_label")); objectColumn.setResizable(true); TableColumn selfColumn = new TableColumn(table, SWT.NONE); layout.addColumnData(new ColumnWeightData(2, 100, true)); selfColumn.setText(getString("_UI_SelfColumn_label")); selfColumn.setResizable(true); this.tableViewer.setColumnProperties(new String[] { "a", "b" }); this.tableViewer.setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.tableViewer); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TablePage_label")); } // This is the page for the table tree viewer. // { ViewerPane viewerPane = new ViewerPane(getSite().getPage(), LibraryEditor.this) { @Override public Viewer createViewer(Composite composite) { return new TreeViewer(composite); } @Override public void requestActivation() { super.requestActivation(); setCurrentViewerPane(this); } }; viewerPane.createControl(getContainer()); this.treeViewerWithColumns = (TreeViewer) viewerPane.getViewer(); Tree tree = this.treeViewerWithColumns.getTree(); tree.setLayoutData(new FillLayout()); tree.setHeaderVisible(true); tree.setLinesVisible(true); TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); objectColumn.setText(getString("_UI_ObjectColumn_label")); objectColumn.setResizable(true); objectColumn.setWidth(250); TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); selfColumn.setText(getString("_UI_SelfColumn_label")); selfColumn.setResizable(true); selfColumn.setWidth(200); this.treeViewerWithColumns.setColumnProperties(new String[] { "a", "b" }); this.treeViewerWithColumns .setContentProvider(new AdapterFactoryContentProvider(this.adapterFactory)); this.treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(this.adapterFactory)); createContextMenuFor(this.treeViewerWithColumns); int pageIndex = addPage(viewerPane.getControl()); setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); } getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { setActivePage(0); } }); } // Ensures that this editor will only display the page's tab // area if there are more than one page // getContainer().addControlListener(new ControlAdapter() { boolean guard = false; @Override public void controlResized(ControlEvent event) { if (!this.guard) { this.guard = true; hideTabs(); this.guard = false; } } }); getSite().getShell().getDisplay().asyncExec(new Runnable() { @Override public void run() { updateProblemIndication(); } }); }