about to try some crazy stuff, want to be able to roll back
authorp.ciardelli <p.ciardelli@localhost>
Wed, 10 Oct 2007 12:28:11 +0000 (12:28 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Wed, 10 Oct 2007 12:28:11 +0000 (12:28 +0000)
eclipseprojects/eu.etaxonomy.taxeditor.designproposal1/src/eu/etaxonomy/taxeditor/designproposal1/view/NameEditorView.java

index 881340aeea760c5adae4444d1bc860dd48e2647d..063dab4ccafeba338c7d8a5491537007196f5b5f 100644 (file)
@@ -4,25 +4,39 @@ import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;\r
 \r
 import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.Action;\r
 import org.eclipse.jface.text.Document;\r
 import org.eclipse.jface.text.TextViewer;\r
 import org.eclipse.jface.text.source.SourceViewer;\r
 import org.eclipse.swt.SWT;\r
 import org.eclipse.swt.custom.PopupList;\r
 import org.eclipse.swt.custom.StyledText;\r
+import org.eclipse.swt.events.ControlAdapter;\r
+import org.eclipse.swt.events.ControlEvent;\r
 import org.eclipse.swt.events.KeyEvent;\r
 import org.eclipse.swt.events.KeyListener;\r
 import org.eclipse.swt.events.MouseAdapter;\r
 import org.eclipse.swt.events.MouseEvent;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
 import org.eclipse.swt.events.SelectionEvent;\r
 import org.eclipse.swt.events.SelectionListener;\r
+import org.eclipse.swt.graphics.Point;\r
+import org.eclipse.swt.graphics.Rectangle;\r
 import org.eclipse.swt.layout.GridData;\r
 import org.eclipse.swt.layout.GridLayout;\r
 import org.eclipse.swt.widgets.Button;\r
 import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.CoolBar;\r
+import org.eclipse.swt.widgets.CoolItem;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.swt.widgets.Event;\r
 import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Listener;\r
+import org.eclipse.swt.widgets.Menu;\r
 import org.eclipse.swt.widgets.Shell;\r
 import org.eclipse.swt.widgets.Text;\r
+import org.eclipse.swt.widgets.ToolBar;\r
+import org.eclipse.swt.widgets.ToolItem;\r
 import org.eclipse.ui.IEditorInput;\r
 import org.eclipse.ui.IEditorSite;\r
 import org.eclipse.ui.PartInitException;\r
@@ -31,11 +45,14 @@ import com.swtdesigner.ResourceManager;
 \r
 //import org.eclipse.ui.texteditor.AbstractTextEditor;\r
 \r
+import eu.etaxonomy.cdm.event.ICdmEventListener;\r
+import eu.etaxonomy.cdm.event.ICdmEventListenerRegistration;\r
 import eu.etaxonomy.cdm.model.name.TaxonName;\r
 import eu.etaxonomy.taxeditor.designproposal1.Activator;\r
+import eu.etaxonomy.taxeditor.designproposal1.controller.OpenNameEditorAction;\r
 import eu.etaxonomy.taxeditor.designproposal1.controller.SaveNameAction;\r
 \r
-public class NameEditorView extends EditorPart implements PropertyChangeListener {\r
+public class NameEditorView extends EditorPart implements ICdmEventListener {\r
 \r
        private StyledText styledText;\r
        private TaxonName taxonname;\r
@@ -43,7 +60,7 @@ public class NameEditorView extends EditorPart implements PropertyChangeListener
        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
+       public static final String ID = "eu.etaxonomy.taxeditor.designproposal1.view.nameeditorview"; //$NON-NLS-1$\r
 \r
        /**\r
         * Create contents of the editor part\r
@@ -52,10 +69,40 @@ public class NameEditorView extends EditorPart implements PropertyChangeListener
        @Override\r
        public void createPartControl(Composite parent) {\r
                Composite container = new Composite(parent, SWT.NONE);\r
+               container.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
                final GridLayout gridLayout = new GridLayout();\r
                gridLayout.numColumns = 2;\r
                container.setLayout(gridLayout);\r
 \r
+               final ToolBar toolBar = new ToolBar(container, SWT.NONE);\r
+               toolBar.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
+               toolBar.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));\r
+\r
+               final ToolItem itemAddRelationship = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemAddRelationship.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/add.gif"));\r
+\r
+               final Menu menu = new Menu(toolBar);\r
+               menu.setData("x", null);\r
+               addDropDown(itemAddRelationship, menu);\r
+\r
+               final ToolItem itemMove = new ToolItem(toolBar, SWT.DROP_DOWN);\r
+               itemMove.setSelection(true);\r
+//                     }\r
+//             });\r
+//             newItemToolItem.setText("New item");\r
+               itemMove.setImage(ResourceManager.getPluginImage(Activator.getDefault(), "icons/move.gif"));\r
+               new Label(container, SWT.NONE);\r
+               \r
+//             final Menu menu = new Menu(toolBar);\r
+//             addDropDown(newItemToolItem, menu);\r
+//             );\r
+               \r
+//             Action testAction = new OpenNameEditorAction();\r
+//             testAction.setImageDescriptor(ResourceManager.getPluginImageDescriptor(Activator.getDefault(), "icons/edit_16x16.gif"));\r
+//             testAction.setToolTipText("Add relation");\r
+//             toolBar.add(testAction);\r
+               \r
+\r
                final Label lblGenus = new Label(container, SWT.NONE);\r
                lblGenus.setText("Genus:");\r
 \r
@@ -222,7 +269,7 @@ public class NameEditorView extends EditorPart implements PropertyChangeListener
                \r
                if (input.getAdapter(TaxonName.class) != null) {\r
                        taxonname = (TaxonName) input.getAdapter(TaxonName.class);\r
-                       taxonname.addPropertyChangeListener(this);\r
+                       taxonname.addCdmEventListener(this);\r
                } else {\r
                        \r
                        taxonname = null;\r
@@ -252,5 +299,38 @@ public class NameEditorView extends EditorPart implements PropertyChangeListener
                //      if (evt.getPropertyName().equalsIgnoreCase("genus"))\r
                //              txtGenus.setText ...\r
        }\r
+\r
+       public void onDelete(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onInsert(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onLoad(Object arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+\r
+       public void onUpdate(ICdmEventListenerRegistration arg0) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
        \r
+       private static void addDropDown(final ToolItem item, final Menu menu) {\r
+               item.addListener(SWT.Selection, new Listener() {\r
+                       public void handleEvent(Event event) {\r
+                               if (event.detail == SWT.ARROW) {\r
+                                       Rectangle rect = item.getBounds();\r
+                                       Point pt = new Point(rect.x, rect.y + rect.height);\r
+                                       pt = item.getParent().toDisplay(pt);\r
+                                       menu.setLocation(pt.x, pt.y);\r
+                                       menu.setVisible(true);\r
+                               }\r
+                       }\r
+               });\r
+       }\r
 }\r