Names loaded from Name Service into navigator, opens name editors when double-clicked...
authorp.ciardelli <p.ciardelli@localhost>
Tue, 2 Oct 2007 14:07:09 +0000 (14:07 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Tue, 2 Oct 2007 14:07:09 +0000 (14:07 +0000)
eclipseprojects/eu.etaxonomy.taxeditor.prototype1/plugin.xml
eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/view/NameEditorView.java
eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/view/NameListView.java

index 581f8ffb2a74ea1395e5870e30d8ae39d312186f..3165142f8d45b2f1ef6959386190bbe0371dc080 100644 (file)
@@ -41,9 +41,9 @@
          point="org.eclipse.ui.editors">\r
       <editor\r
             class="eu.etaxonomy.taxeditor.prototype1.view.NameEditorView"\r
-            icon="icons/alt_window_16.gif"\r
-            id="eu.etaxonomy.mvctest.view.EditorView"\r
-            name="Name Editor">\r
+            icon="icons/edit_16x16.gif"\r
+            id="eu.etaxonomy.taxeditor.prototype1.view.NameEditorView"\r
+            name="New EditorPart">\r
       </editor>\r
    </extension>\r
 \r
index 7ca8e6c71a7fdfe87c28aea2f6f89e19a7c20d0e..d4a7caa8c08fc7f095f3e5147e4fc32ed94608c7 100644 (file)
@@ -2,14 +2,25 @@ package eu.etaxonomy.taxeditor.prototype1.view;
 \r
 import org.eclipse.core.runtime.IProgressMonitor;\r
 import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
 import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Text;\r
 import org.eclipse.ui.IEditorInput;\r
 import org.eclipse.ui.IEditorSite;\r
 import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.part.EditorPart;\r
 \r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+\r
 public class NameEditorView extends EditorPart {\r
 \r
+       private TaxonName taxonname;\r
+\r
+       private Text txtGenus;\r
+       private Text txtSpEpi;\r
+       private Text txtAuthor;\r
        public static final String ID = "eu.etaxonomy.taxeditor.prototype1.view.NameEditorView"; //$NON-NLS-1$\r
 \r
        /**\r
@@ -19,7 +30,47 @@ public class NameEditorView extends EditorPart {
        @Override\r
        public void createPartControl(Composite parent) {\r
                Composite container = new Composite(parent, SWT.NONE);\r
+               final GridLayout gridLayout = new GridLayout();\r
+               gridLayout.numColumns = 2;\r
+               container.setLayout(gridLayout);\r
+\r
+               final Label lblGenus = new Label(container, SWT.NONE);\r
+               lblGenus.setText("Genus:");\r
+\r
+               txtGenus = new Text(container, SWT.BORDER);\r
+               final GridData gd_txtGenus = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               txtGenus.setLayoutData(gd_txtGenus);\r
+\r
+               final Label lblSpEpi = new Label(container, SWT.NONE);\r
+               lblSpEpi.setText("Sp. Epithet:");\r
+\r
+               txtSpEpi = new Text(container, SWT.BORDER);\r
+               final GridData gd_txtSpEpi = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               txtSpEpi.setLayoutData(gd_txtSpEpi);\r
+\r
+               final Label lblAuthor = new Label(container, SWT.NONE);\r
+               lblAuthor.setText("Authorship:");\r
+\r
+               txtAuthor = new Text(container, SWT.BORDER);\r
+               final GridData gd_txtAuthor = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+               txtAuthor.setLayoutData(gd_txtAuthor);\r
                //\r
+               \r
+               populateForm();\r
+       }\r
+\r
+       private void populateForm() {\r
+                               \r
+               if (taxonname.getGenus() != null)\r
+                       txtGenus.setText(taxonname.getGenus());\r
+\r
+               if (taxonname.getSpecificEpithet() != null)\r
+                       txtSpEpi.setText(taxonname.getSpecificEpithet());\r
+\r
+               if (taxonname.getAuthorship() != null)\r
+                       txtAuthor.setText(taxonname.getAuthorship());\r
+               \r
+               this.setPartName(taxonname.getName());\r
        }\r
 \r
        @Override\r
@@ -38,9 +89,20 @@ public class NameEditorView extends EditorPart {
        }\r
 \r
        @Override\r
-       public void init(IEditorSite site, IEditorInput input)\r
-                       throws PartInitException {\r
-               // Initialize the editor part\r
+       public void init(IEditorSite site, IEditorInput input) throws PartInitException {\r
+\r
+               if (!(input instanceof IEditorInput))\r
+                       throw new PartInitException(\r
+                                       "Invalid Input: Must be IFileEditorInput");\r
+               \r
+               if (input.getAdapter(TaxonName.class) != null) {\r
+                       taxonname = (TaxonName) input.getAdapter(TaxonName.class);\r
+               } else {\r
+                       taxonname = null;\r
+               }\r
+               \r
+               setSite(site);\r
+               setInput(input);\r
        }\r
 \r
        @Override\r
@@ -52,5 +114,4 @@ public class NameEditorView extends EditorPart {
        public boolean isSaveAsAllowed() {\r
                return false;\r
        }\r
-\r
 }\r
index 7f46e05d3f041db8607ef1dcb3569d6d613ec3cc..47b12ffb96d6a6262748b85c058c7167fa476730 100644 (file)
@@ -22,6 +22,8 @@ import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Composite;\r
 import org.eclipse.swt.widgets.List;\r
 import org.eclipse.swt.widgets.Tree;\r
+import org.eclipse.ui.IEditorInput;\r
+import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.part.ViewPart;\r
 \r
 import eu.etaxonomy.cdm.api.service.INameService;\r
@@ -30,6 +32,7 @@ import eu.etaxonomy.taxeditor.prototype1.Activator;
 //import eu.etaxonomy.taxeditor.prototype1.controller.OpenNameEditorAction;\r
 //import eu.etaxonomy.taxeditor.prototype1.controller.ShowNameAsLastNameAction;\r
 import eu.etaxonomy.taxeditor.prototype1.controller.OpenNameEditorAction;\r
+import eu.etaxonomy.taxeditor.prototype1.model.NameEditorInput;\r
 \r
 public class NameListView extends ViewPart {\r
 \r
@@ -98,14 +101,22 @@ public class NameListView extends ViewPart {
 \r
                        @Override\r
                        public void doubleClick(DoubleClickEvent event) {                                                               \r
-                               TaxonName tn = null;\r
+                               TaxonName taxonname = null;\r
                                try {\r
-                                       tn = (TaxonName) ((StructuredSelection)event.getSelection()).getFirstElement();\r
+                                       taxonname = (TaxonName) ((StructuredSelection)event.getSelection()).getFirstElement();\r
                                }catch (Exception e){\r
                                        e.printStackTrace();\r
-                                       tn = null;\r
+                                       taxonname = null;\r
+                               }\r
+                //new OpenNameEditorAction(tn).run();\r
+                               IEditorInput input = new NameEditorInput(taxonname);\r
+                try {\r
+                                       getViewSite().getWorkbenchWindow().getActivePage().\r
+                                               openEditor(input, NameEditorView.ID);\r
+                               } catch (PartInitException e) {\r
+                                       // TODO Auto-generated catch block\r
+                                       e.printStackTrace();\r
                                }\r
-                new OpenNameEditorAction(tn).run();\r
                        }\r
                        \r
                });\r