|
@@ -9,7 +9,6 @@ package org.eclipselabs.mscript.computation.computationmodel.ui.editor.presentat
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
-
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Collections;
|
|
@@ -28,57 +27,73 @@ import org.eclipse.core.resources.IResourceChangeListener;
|
|
|
import org.eclipse.core.resources.IResourceDelta;
|
|
|
import org.eclipse.core.resources.IResourceDeltaVisitor;
|
|
|
import org.eclipse.core.resources.ResourcesPlugin;
|
|
|
-
|
|
|
import org.eclipse.core.runtime.CoreException;
|
|
|
import org.eclipse.core.runtime.IPath;
|
|
|
import org.eclipse.core.runtime.IProgressMonitor;
|
|
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
|
|
-
|
|
|
+import org.eclipse.emf.common.command.BasicCommandStack;
|
|
|
+import org.eclipse.emf.common.command.Command;
|
|
|
+import org.eclipse.emf.common.command.CommandStack;
|
|
|
+import org.eclipse.emf.common.command.CommandStackListener;
|
|
|
+import org.eclipse.emf.common.notify.AdapterFactory;
|
|
|
+import org.eclipse.emf.common.notify.Notification;
|
|
|
+import org.eclipse.emf.common.ui.MarkerHelper;
|
|
|
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
|
|
|
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
|
|
|
+import org.eclipse.emf.common.util.BasicDiagnostic;
|
|
|
+import org.eclipse.emf.common.util.Diagnostic;
|
|
|
+import org.eclipse.emf.common.util.URI;
|
|
|
+import org.eclipse.emf.ecore.EObject;
|
|
|
+import org.eclipse.emf.ecore.EValidator;
|
|
|
+import org.eclipse.emf.ecore.resource.Resource;
|
|
|
+import org.eclipse.emf.ecore.resource.ResourceSet;
|
|
|
+import org.eclipse.emf.ecore.util.EContentAdapter;
|
|
|
+import org.eclipse.emf.ecore.util.EcoreUtil;
|
|
|
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
|
|
|
+import org.eclipse.emf.edit.domain.EditingDomain;
|
|
|
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
|
|
|
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
|
|
|
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
|
|
|
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
|
|
|
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
|
|
|
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
|
|
|
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
|
|
|
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
|
|
|
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
|
|
|
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
|
|
|
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
|
|
|
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
|
|
|
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
|
|
|
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
|
|
|
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
|
|
|
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
|
|
|
import org.eclipse.jface.action.IMenuListener;
|
|
|
import org.eclipse.jface.action.IMenuManager;
|
|
|
import org.eclipse.jface.action.IStatusLineManager;
|
|
|
import org.eclipse.jface.action.IToolBarManager;
|
|
|
import org.eclipse.jface.action.MenuManager;
|
|
|
import org.eclipse.jface.action.Separator;
|
|
|
-
|
|
|
import org.eclipse.jface.dialogs.MessageDialog;
|
|
|
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
|
|
|
-
|
|
|
-import org.eclipse.jface.viewers.ColumnWeightData;
|
|
|
import org.eclipse.jface.viewers.ISelection;
|
|
|
import org.eclipse.jface.viewers.ISelectionChangedListener;
|
|
|
import org.eclipse.jface.viewers.ISelectionProvider;
|
|
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
|
|
-import org.eclipse.jface.viewers.ListViewer;
|
|
|
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
|
|
import org.eclipse.jface.viewers.StructuredSelection;
|
|
|
import org.eclipse.jface.viewers.StructuredViewer;
|
|
|
-import org.eclipse.jface.viewers.TableLayout;
|
|
|
-import org.eclipse.jface.viewers.TableViewer;
|
|
|
import org.eclipse.jface.viewers.TreeViewer;
|
|
|
import org.eclipse.jface.viewers.Viewer;
|
|
|
-
|
|
|
import org.eclipse.swt.SWT;
|
|
|
-
|
|
|
import org.eclipse.swt.custom.CTabFolder;
|
|
|
-
|
|
|
import org.eclipse.swt.dnd.DND;
|
|
|
import org.eclipse.swt.dnd.Transfer;
|
|
|
-
|
|
|
import org.eclipse.swt.events.ControlAdapter;
|
|
|
import org.eclipse.swt.events.ControlEvent;
|
|
|
-
|
|
|
import org.eclipse.swt.graphics.Point;
|
|
|
-
|
|
|
-import org.eclipse.swt.layout.FillLayout;
|
|
|
-
|
|
|
import org.eclipse.swt.widgets.Composite;
|
|
|
import org.eclipse.swt.widgets.Menu;
|
|
|
-import org.eclipse.swt.widgets.Table;
|
|
|
-import org.eclipse.swt.widgets.TableColumn;
|
|
|
import org.eclipse.swt.widgets.Tree;
|
|
|
-import org.eclipse.swt.widgets.TreeColumn;
|
|
|
-
|
|
|
import org.eclipse.ui.IActionBars;
|
|
|
import org.eclipse.ui.IEditorInput;
|
|
|
import org.eclipse.ui.IEditorPart;
|
|
@@ -86,83 +101,19 @@ import org.eclipse.ui.IEditorSite;
|
|
|
import org.eclipse.ui.IPartListener;
|
|
|
import org.eclipse.ui.IWorkbenchPart;
|
|
|
import org.eclipse.ui.PartInitException;
|
|
|
-
|
|
|
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
|
|
|
import org.eclipse.ui.dialogs.SaveAsDialog;
|
|
|
-
|
|
|
import org.eclipse.ui.ide.IGotoMarker;
|
|
|
-
|
|
|
import org.eclipse.ui.part.FileEditorInput;
|
|
|
import org.eclipse.ui.part.MultiPageEditorPart;
|
|
|
-
|
|
|
import org.eclipse.ui.views.contentoutline.ContentOutline;
|
|
|
import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
|
|
|
import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
|
|
|
-
|
|
|
import org.eclipse.ui.views.properties.IPropertySheetPage;
|
|
|
import org.eclipse.ui.views.properties.PropertySheet;
|
|
|
import org.eclipse.ui.views.properties.PropertySheetPage;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.command.BasicCommandStack;
|
|
|
-import org.eclipse.emf.common.command.Command;
|
|
|
-import org.eclipse.emf.common.command.CommandStack;
|
|
|
-import org.eclipse.emf.common.command.CommandStackListener;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.notify.AdapterFactory;
|
|
|
-import org.eclipse.emf.common.notify.Notification;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.ui.MarkerHelper;
|
|
|
-import org.eclipse.emf.common.ui.ViewerPane;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.ui.viewer.IViewerProvider;
|
|
|
-
|
|
|
-import org.eclipse.emf.common.util.BasicDiagnostic;
|
|
|
-import org.eclipse.emf.common.util.Diagnostic;
|
|
|
-import org.eclipse.emf.common.util.URI;
|
|
|
-
|
|
|
-import org.eclipse.emf.ecore.EObject;
|
|
|
-import org.eclipse.emf.ecore.EValidator;
|
|
|
-
|
|
|
-import org.eclipse.emf.ecore.resource.Resource;
|
|
|
-import org.eclipse.emf.ecore.resource.ResourceSet;
|
|
|
-
|
|
|
-import org.eclipse.emf.ecore.util.EContentAdapter;
|
|
|
-import org.eclipse.emf.ecore.util.EcoreUtil;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
|
|
|
-import org.eclipse.emf.edit.domain.EditingDomain;
|
|
|
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
|
|
|
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
|
|
|
-import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
|
|
|
-import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
|
|
|
-import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
|
|
|
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
|
|
|
-import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
|
|
|
-import org.eclipse.emf.edit.ui.util.EditUIUtil;
|
|
|
-
|
|
|
-import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
|
|
|
-
|
|
|
import org.eclipselabs.mscript.computation.computationmodel.edit.provider.ComputationModelItemProviderAdapterFactory;
|
|
|
-
|
|
|
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
|
|
|
-
|
|
|
import org.eclipselabs.mscript.computation.computationmodel.ui.ComputationModelUIPlugin;
|
|
|
-
|
|
|
import org.eclipselabs.mscript.typesystem.edit.provider.TypeSystemItemProviderAdapterFactory;
|
|
|
|
|
|
|
|
@@ -175,6 +126,9 @@ import org.eclipselabs.mscript.typesystem.edit.provider.TypeSystemItemProviderAd
|
|
|
public class ComputationModelEditor
|
|
|
extends MultiPageEditorPart
|
|
|
implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
|
|
|
+
|
|
|
+ private ComputationModelEditorMainPage mainPage;
|
|
|
+
|
|
|
/**
|
|
|
* This keeps track of the editing domain that is used to track all changes to the model.
|
|
|
* <!-- begin-user-doc -->
|
|
@@ -232,56 +186,6 @@ public class ComputationModelEditor
|
|
|
*/
|
|
|
protected TreeViewer selectionViewer;
|
|
|
|
|
|
- /**
|
|
|
- * This inverts the roll of parent and child in the content provider and show parents as a tree.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected TreeViewer parentViewer;
|
|
|
-
|
|
|
- /**
|
|
|
- * This shows how a tree view works.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected TreeViewer treeViewer;
|
|
|
-
|
|
|
- /**
|
|
|
- * This shows how a list view works.
|
|
|
- * A list viewer doesn't support icons.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected ListViewer listViewer;
|
|
|
-
|
|
|
- /**
|
|
|
- * This shows how a table view works.
|
|
|
- * A table can be used as a list with icons.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected TableViewer tableViewer;
|
|
|
-
|
|
|
- /**
|
|
|
- * This shows how a tree view with columns works.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected TreeViewer treeViewerWithColumns;
|
|
|
-
|
|
|
- /**
|
|
|
- * This keeps track of the active viewer pane, in the book.
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- protected ViewerPane currentViewerPane;
|
|
|
-
|
|
|
/**
|
|
|
* This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer.
|
|
|
* <!-- begin-user-doc -->
|
|
@@ -842,21 +746,6 @@ public class ComputationModelEditor
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * <!-- begin-user-doc -->
|
|
|
- * <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
- */
|
|
|
- public void setCurrentViewerPane(ViewerPane viewerPane) {
|
|
|
- if (currentViewerPane != viewerPane) {
|
|
|
- if (currentViewerPane != null) {
|
|
|
- currentViewerPane.showFocus(false);
|
|
|
- }
|
|
|
- currentViewerPane = viewerPane;
|
|
|
- }
|
|
|
- setCurrentViewer(currentViewerPane.getViewer());
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* This makes sure that one content viewer, either for the current page or the outline view, if it has focus,
|
|
|
* is the current one.
|
|
@@ -998,7 +887,7 @@ public class ComputationModelEditor
|
|
|
* This is the method used by the framework to install your own controls.
|
|
|
* <!-- begin-user-doc -->
|
|
|
* <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
+ * @generated NOT
|
|
|
*/
|
|
|
@Override
|
|
|
public void createPages() {
|
|
@@ -1011,204 +900,24 @@ public class ComputationModelEditor
|
|
|
if (!getEditingDomain().getResourceSet().getResources().isEmpty()) {
|
|
|
// Create a page for the selection tree view.
|
|
|
//
|
|
|
- {
|
|
|
- ViewerPane viewerPane =
|
|
|
- new ViewerPane(getSite().getPage(), ComputationModelEditor.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());
|
|
|
-
|
|
|
- selectionViewer = (TreeViewer)viewerPane.getViewer();
|
|
|
- selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
-
|
|
|
- selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
- selectionViewer.setInput(editingDomain.getResourceSet());
|
|
|
- selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
|
|
|
- viewerPane.setTitle(editingDomain.getResourceSet());
|
|
|
-
|
|
|
- new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
|
|
|
-
|
|
|
- createContextMenuFor(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(), ComputationModelEditor.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());
|
|
|
-
|
|
|
- parentViewer = (TreeViewer)viewerPane.getViewer();
|
|
|
- parentViewer.setAutoExpandLevel(30);
|
|
|
- parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory));
|
|
|
- parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
-
|
|
|
- createContextMenuFor(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(), ComputationModelEditor.this) {
|
|
|
- @Override
|
|
|
- public Viewer createViewer(Composite composite) {
|
|
|
- return new ListViewer(composite);
|
|
|
- }
|
|
|
- @Override
|
|
|
- public void requestActivation() {
|
|
|
- super.requestActivation();
|
|
|
- setCurrentViewerPane(this);
|
|
|
- }
|
|
|
- };
|
|
|
- viewerPane.createControl(getContainer());
|
|
|
- listViewer = (ListViewer)viewerPane.getViewer();
|
|
|
- listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
- listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
-
|
|
|
- createContextMenuFor(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(), ComputationModelEditor.this) {
|
|
|
- @Override
|
|
|
- public Viewer createViewer(Composite composite) {
|
|
|
- return new TreeViewer(composite);
|
|
|
- }
|
|
|
- @Override
|
|
|
- public void requestActivation() {
|
|
|
- super.requestActivation();
|
|
|
- setCurrentViewerPane(this);
|
|
|
- }
|
|
|
- };
|
|
|
- viewerPane.createControl(getContainer());
|
|
|
- treeViewer = (TreeViewer)viewerPane.getViewer();
|
|
|
- treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
- treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
+
|
|
|
+// mainPage = new ComputationModelEditorMainPage();
|
|
|
+
|
|
|
+ Tree tree = new Tree(getContainer(), SWT.MULTI);
|
|
|
+ selectionViewer = new TreeViewer(tree);
|
|
|
+ setCurrentViewer(selectionViewer);
|
|
|
|
|
|
- new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory);
|
|
|
+ selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
+ selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
+ selectionViewer.setInput(editingDomain.getResourceSet());
|
|
|
+ selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);
|
|
|
|
|
|
- createContextMenuFor(treeViewer);
|
|
|
- int pageIndex = addPage(viewerPane.getControl());
|
|
|
- setPageText(pageIndex, getString("_UI_TreePage_label"));
|
|
|
- }
|
|
|
+ new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);
|
|
|
|
|
|
- // This is the page for the table viewer.
|
|
|
- //
|
|
|
- {
|
|
|
- ViewerPane viewerPane =
|
|
|
- new ViewerPane(getSite().getPage(), ComputationModelEditor.this) {
|
|
|
- @Override
|
|
|
- public Viewer createViewer(Composite composite) {
|
|
|
- return new TableViewer(composite);
|
|
|
- }
|
|
|
- @Override
|
|
|
- public void requestActivation() {
|
|
|
- super.requestActivation();
|
|
|
- setCurrentViewerPane(this);
|
|
|
- }
|
|
|
- };
|
|
|
- viewerPane.createControl(getContainer());
|
|
|
- tableViewer = (TableViewer)viewerPane.getViewer();
|
|
|
-
|
|
|
- Table table = 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);
|
|
|
-
|
|
|
- tableViewer.setColumnProperties(new String [] {"a", "b"});
|
|
|
- tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
- tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
-
|
|
|
- createContextMenuFor(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(), ComputationModelEditor.this) {
|
|
|
- @Override
|
|
|
- public Viewer createViewer(Composite composite) {
|
|
|
- return new TreeViewer(composite);
|
|
|
- }
|
|
|
- @Override
|
|
|
- public void requestActivation() {
|
|
|
- super.requestActivation();
|
|
|
- setCurrentViewerPane(this);
|
|
|
- }
|
|
|
- };
|
|
|
- viewerPane.createControl(getContainer());
|
|
|
-
|
|
|
- treeViewerWithColumns = (TreeViewer)viewerPane.getViewer();
|
|
|
-
|
|
|
- Tree tree = 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);
|
|
|
-
|
|
|
- treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"});
|
|
|
- treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
|
|
|
- treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
|
|
|
-
|
|
|
- createContextMenuFor(treeViewerWithColumns);
|
|
|
- int pageIndex = addPage(viewerPane.getControl());
|
|
|
- setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label"));
|
|
|
- }
|
|
|
+ createContextMenuFor(selectionViewer);
|
|
|
+// int pageIndex = addPage(mainPage.createPartControl(this, getContainer()));
|
|
|
+ int pageIndex = addPage(tree);
|
|
|
+ setPageText(pageIndex, getString("_UI_SelectionPage_label"));
|
|
|
|
|
|
getSite().getShell().getDisplay().asyncExec
|
|
|
(new Runnable() {
|
|
@@ -1415,34 +1124,22 @@ public class ComputationModelEditor
|
|
|
* @generated
|
|
|
*/
|
|
|
public void handleContentOutlineSelection(ISelection selection) {
|
|
|
- if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
|
|
|
+ if (selectionViewer != 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 (currentViewerPane.getViewer() == selectionViewer) {
|
|
|
- ArrayList<Object> selectionList = new ArrayList<Object>();
|
|
|
- selectionList.add(selectedElement);
|
|
|
- while (selectedElements.hasNext()) {
|
|
|
- selectionList.add(selectedElements.next());
|
|
|
- }
|
|
|
-
|
|
|
- // Set the selection to the widget.
|
|
|
- //
|
|
|
- selectionViewer.setSelection(new StructuredSelection(selectionList));
|
|
|
- }
|
|
|
- else {
|
|
|
- // Set the input to the widget.
|
|
|
- //
|
|
|
- if (currentViewerPane.getViewer().getInput() != selectedElement) {
|
|
|
- currentViewerPane.getViewer().setInput(selectedElement);
|
|
|
- currentViewerPane.setTitle(selectedElement);
|
|
|
- }
|
|
|
+ ArrayList<Object> selectionList = new ArrayList<Object>();
|
|
|
+ selectionList.add(selectedElement);
|
|
|
+ while (selectedElements.hasNext()) {
|
|
|
+ selectionList.add(selectedElements.next());
|
|
|
}
|
|
|
+
|
|
|
+ // Set the selection to the widget.
|
|
|
+ //
|
|
|
+ selectionViewer.setSelection(new StructuredSelection(selectionList));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1634,12 +1331,7 @@ public class ComputationModelEditor
|
|
|
*/
|
|
|
@Override
|
|
|
public void setFocus() {
|
|
|
- if (currentViewerPane != null) {
|
|
|
- currentViewerPane.setFocus();
|
|
|
- }
|
|
|
- else {
|
|
|
- getControl(getActivePage()).setFocus();
|
|
|
- }
|
|
|
+ getControl(getActivePage()).setFocus();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1782,7 +1474,7 @@ public class ComputationModelEditor
|
|
|
/**
|
|
|
* <!-- begin-user-doc -->
|
|
|
* <!-- end-user-doc -->
|
|
|
- * @generated
|
|
|
+ * @generated NOT
|
|
|
*/
|
|
|
@Override
|
|
|
public void dispose() {
|
|
@@ -1805,6 +1497,10 @@ public class ComputationModelEditor
|
|
|
if (contentOutlinePage != null) {
|
|
|
contentOutlinePage.dispose();
|
|
|
}
|
|
|
+
|
|
|
+ if (mainPage != null) {
|
|
|
+ mainPage.dispose();
|
|
|
+ }
|
|
|
|
|
|
super.dispose();
|
|
|
}
|
|
@@ -1816,6 +1512,6 @@ public class ComputationModelEditor
|
|
|
* @generated
|
|
|
*/
|
|
|
protected boolean showOutlineView() {
|
|
|
- return true;
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|