Math2mat

/home/ythoma/docs/math2mat/svn/wp1/framework/m2mGUI/src/m2m/frontend/dynamicview/MyGraphicalProperty.java

Go to the documentation of this file.
00001 
00018 package m2m.frontend.dynamicview;
00019 
00020 import org.eclipse.gef.EditDomain;
00021 import org.eclipse.gef.GraphicalViewer;
00022 import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
00023 import org.eclipse.swt.events.DisposeEvent;
00024 import org.eclipse.swt.events.DisposeListener;
00025 import org.eclipse.swt.widgets.Composite;
00026 import org.eclipse.ui.IWorkbenchPage;
00027 import org.eclipse.ui.PlatformUI;
00028 import org.eclipse.ui.part.ViewPart;
00029 
00030 import m2m.frontend.dynamicview.editPart.PropertyEditPartFactory;
00031 import m2m.frontend.view.Editor;
00032 
00033 
00034 public class MyGraphicalProperty extends ViewPart
00035 {
00039     public static final String ID = "dynamicview.mygraphicalproperty";
00040     
00041     private ScrollingGraphicalViewer graphicalViewer;
00042 
00043     
00044         /* (non-Javadoc)
00045          * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
00046          */
00047         @Override
00048         public void createPartControl(Composite parent) 
00049         {
00050                 Editor editor = (Editor)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
00051 
00052                 /* Initialisation of the graphicalViewer */
00053         graphicalViewer = new ScrollingGraphicalViewer();
00054                 graphicalViewer.createControl(parent);
00055                 graphicalViewer.setEditDomain(new EditDomain());
00056                 graphicalViewer.setEditPartFactory(new PropertyEditPartFactory());
00057                 graphicalViewer.setContents(editor.getModel().getSchema());
00058                 
00059                 graphicalViewer.getControl().addDisposeListener(new DisposeListener() {
00060                         @Override
00061                         public void widgetDisposed(DisposeEvent event) 
00062                         {                       
00063                                 IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
00064                                 page.hideView(((MyGraphicalEditor)page.findView(MyGraphicalEditor.ID)));
00065                                 if((Editor)page.getActiveEditor() != null)
00066                                         ((Editor)page.getActiveEditor()).setModel(null);
00067                         }
00068                 });
00069         }
00070 
00071 
00072         /* (non-Javadoc)
00073          * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
00074          */
00075         @Override
00076         public void setFocus() {
00077         }
00078         
00079         
00084         public GraphicalViewer getGraphicalViewer ()
00085         {
00086                 return this.graphicalViewer;
00087         }
00088         
00089         
00094         public void setGraphicalViewer(ScrollingGraphicalViewer graphicalViewer) 
00095         {
00096                 this.graphicalViewer = graphicalViewer;
00097         }
00098 }
 All Classes Namespaces Files Functions Variables Enumerations