* text=auto !eol
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/.classpath -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/.project -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/META-INF/MANIFEST.MF -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/Activator.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/Application$1.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/Application.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/ApplicationActionBarAdvisor.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/ApplicationWorkbenchAdvisor.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/ApplicationWorkbenchWindowAdvisor.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/Perspective.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/controller/CreateNameAction.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/controller/OpenNameEditorAction.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/model/ObjectList.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/CreateNameView$1.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/CreateNameView.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/LastNameView$1.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/LastNameView$2.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/LastNameView.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/NameListView$1.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/NameListView$ViewContentProvider.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/NameListView$ViewLabelProvider.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/bin/eu/etaxonomy/taxeditor/prototype1/view/NameListView.class -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/build.properties -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/icons/alt_window_16.gif -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/icons/alt_window_32.gif -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/plugin.xml -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/Activator.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/Application.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/ApplicationActionBarAdvisor.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/ApplicationWorkbenchAdvisor.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/ApplicationWorkbenchWindowAdvisor.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/Perspective.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/controller/CreateNameAction.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/controller/OpenNameEditorAction.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/model/ObjectList.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/view/CreateNameView.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/view/LastNameView.java -text
+eclipseprojects/eu.etaxonomy.taxeditor.prototype1/src/eu/etaxonomy/taxeditor/prototype1/view/NameListView.java -text
eclipseprojects/eu.etaxonomy.taxeditor/.classpath -text
eclipseprojects/eu.etaxonomy.taxeditor/.project -text
eclipseprojects/eu.etaxonomy.taxeditor/META-INF/MANIFEST.MF -text
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+ <classpathentry kind="src" path="src"/>\r
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+ <classpathentry exported="true" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+ <classpathentry kind="output" path="bin"/>\r
+</classpath>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+ <name>eu.etaxonomy.taxeditor.prototype1</name>\r
+ <comment></comment>\r
+ <projects>\r
+ </projects>\r
+ <buildSpec>\r
+ <buildCommand>\r
+ <name>org.eclipse.jdt.core.javabuilder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ <buildCommand>\r
+ <name>org.eclipse.pde.ManifestBuilder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ <buildCommand>\r
+ <name>org.eclipse.pde.SchemaBuilder</name>\r
+ <arguments>\r
+ </arguments>\r
+ </buildCommand>\r
+ </buildSpec>\r
+ <natures>\r
+ <nature>org.eclipse.pde.PluginNature</nature>\r
+ <nature>org.eclipse.jdt.core.javanature</nature>\r
+ </natures>\r
+</projectDescription>\r
--- /dev/null
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Mvctest Plug-in
+Bundle-SymbolicName: eu.etaxonomy.taxeditor.prototype1;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: eu.etaxonomy.taxeditor.prototype1.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.ui.forms,
+ eu.etaxonomy.cdmLibrary
+Eclipse-LazyStart: true
--- /dev/null
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+ META-INF/,\\r
+ .\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+\r
+ <extension\r
+ id="application"\r
+ point="org.eclipse.core.runtime.applications">\r
+ <application>\r
+ <run\r
+ class="eu.etaxonomy.taxeditor.prototype1.Application">\r
+ </run>\r
+ </application>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.ui.perspectives">\r
+ <perspective\r
+ name="Perspective"\r
+ class="eu.etaxonomy.taxeditor.prototype1.Perspective"\r
+ id="eu.etaxonomy.mvctest.perspective">\r
+ </perspective>\r
+ </extension>\r
+ <extension\r
+ point="org.eclipse.ui.views">\r
+ <view\r
+ name="Create Name"\r
+ class="eu.etaxonomy.taxeditor.prototype1.view.CreateNameView"\r
+ id="eu.etaxonomy.mvctest.view">\r
+ </view>\r
+ <view\r
+ class="eu.etaxonomy.taxeditor.prototype1.view.NameListView"\r
+ id="eu.etaxonomy.mvctest.view.NameListView"\r
+ name="Name List View">\r
+ </view>\r
+ <view\r
+ class="eu.etaxonomy.taxeditor.prototype1.view.LastNameView"\r
+ id="eu.etaxonomy.mvctest.view.LastNameView"\r
+ name="Last Name Created">\r
+ </view>\r
+ </extension>\r
+ <extension\r
+ 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
+ </editor>\r
+ </extension>\r
+\r
+</plugin>\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;\r
+\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.ui.plugin.AbstractUIPlugin;\r
+import org.osgi.framework.BundleContext;\r
+\r
+import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
+import eu.etaxonomy.taxeditor.prototype1.model.ObjectList;\r
+\r
+/**\r
+ * The activator class controls the plug-in life cycle\r
+ */\r
+public class Activator extends AbstractUIPlugin {\r
+\r
+ // The plug-in ID\r
+ public static final String PLUGIN_ID = "eu.etaxonomy.mvctest";\r
+\r
+ // The shared instance\r
+ private static Activator plugin;\r
+ \r
+ private CdmApplicationController cdmApp = new CdmApplicationController();\r
+ ; \r
+ \r
+ private ObjectList objectList = new ObjectList();\r
+ \r
+ /**\r
+ * The constructor\r
+ */\r
+ public Activator() {\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)\r
+ */\r
+ public void start(BundleContext context) throws Exception {\r
+ super.start(context);\r
+ plugin = this;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)\r
+ */\r
+ public void stop(BundleContext context) throws Exception {\r
+ plugin = null;\r
+ super.stop(context);\r
+ }\r
+\r
+ /**\r
+ * Returns the shared instance\r
+ *\r
+ * @return the shared instance\r
+ */\r
+ public static Activator getDefault() {\r
+ return plugin;\r
+ }\r
+\r
+ /**\r
+ * Returns an image descriptor for the image file at the given\r
+ * plug-in relative path\r
+ *\r
+ * @param path the path\r
+ * @return the image descriptor\r
+ */\r
+ public static ImageDescriptor getImageDescriptor(String path) {\r
+ return imageDescriptorFromPlugin(PLUGIN_ID, path);\r
+ }\r
+ \r
+ \r
+ /**\r
+ * @return the objectList\r
+ */\r
+ public CdmApplicationController getApplicationController() {\r
+ return this.cdmApp;\r
+ } \r
+ \r
+ \r
+ /**\r
+ * @return the objectList\r
+ */\r
+ public ObjectList getObjectList() {\r
+ return this.objectList;\r
+ } \r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;
+
+import org.eclipse.equinox.app.IApplication;
+import org.eclipse.equinox.app.IApplicationContext;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * This class controls all aspects of the application's execution
+ */
+public class Application implements IApplication {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
+ */
+ public Object start(IApplicationContext context) {
+ Display display = PlatformUI.createDisplay();
+ try {
+ int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
+ if (returnCode == PlatformUI.RETURN_RESTART) {
+ return IApplication.EXIT_RESTART;
+ }
+ return IApplication.EXIT_OK;
+ } finally {
+ display.dispose();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.equinox.app.IApplication#stop()
+ */
+ public void stop() {
+ final IWorkbench workbench = PlatformUI.getWorkbench();
+ if (workbench == null)
+ return;
+ final Display display = workbench.getDisplay();
+ display.syncExec(new Runnable() {
+ public void run() {
+ if (!display.isDisposed())
+ workbench.close();
+ }
+ });
+ }
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;
+
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.actions.ActionFactory;
+import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
+import org.eclipse.ui.application.ActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+
+/**
+ * An action bar advisor is responsible for creating, adding, and disposing of
+ * the actions added to a workbench window. Each window will be populated with
+ * new actions.
+ */
+public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
+
+ // Actions - important to allocate these only in makeActions, and then use
+ // them
+ // in the fill methods. This ensures that the actions aren't recreated
+ // when fillActionBars is called with FILL_PROXY.
+ private IWorkbenchAction exitAction;
+
+ public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
+ super(configurer);
+ }
+
+ protected void makeActions(final IWorkbenchWindow window) {
+ // Creates the actions and registers them.
+ // Registering is needed to ensure that key bindings work.
+ // The corresponding commands keybindings are defined in the plugin.xml
+ // file.
+ // Registering also provides automatic disposal of the actions when
+ // the window is closed.
+
+ exitAction = ActionFactory.QUIT.create(window);
+ register(exitAction);
+ }
+
+ protected void fillMenuBar(IMenuManager menuBar) {
+ MenuManager fileMenu = new MenuManager("&File",
+ IWorkbenchActionConstants.M_FILE);
+ menuBar.add(fileMenu);
+ fileMenu.add(exitAction);
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;
+
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.application.WorkbenchAdvisor;
+import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+
+public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
+
+ private static final String PERSPECTIVE_ID = "eu.etaxonomy.mvctest.perspective";
+
+ public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
+ IWorkbenchWindowConfigurer configurer) {
+ return new ApplicationWorkbenchWindowAdvisor(configurer);
+ }
+
+ public String getInitialWindowPerspectiveId() {
+ return PERSPECTIVE_ID;
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;
+
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.ui.application.ActionBarAdvisor;
+import org.eclipse.ui.application.IActionBarConfigurer;
+import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
+import org.eclipse.ui.application.WorkbenchWindowAdvisor;
+
+//import eu.etaxonomy.taxeditor.prototype1.controller.PopulateNameListViewAction;
+
+public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
+
+ public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
+ super(configurer);
+ }
+
+ public ActionBarAdvisor createActionBarAdvisor(
+ IActionBarConfigurer configurer) {
+ return new ApplicationActionBarAdvisor(configurer);
+ }
+
+ public void preWindowOpen() {
+ IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
+ configurer.setInitialSize(new Point(800, 600));
+ configurer.setShowCoolBar(false);
+ configurer.setShowStatusLine(false);
+ configurer.setTitle("EDIT Taxonomic Editor");
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1;
+
+import org.eclipse.ui.IFolderLayout;
+import org.eclipse.ui.IPageLayout;
+import org.eclipse.ui.IPerspectiveFactory;
+
+import eu.etaxonomy.taxeditor.prototype1.view.LastNameView;
+import eu.etaxonomy.taxeditor.prototype1.view.NameListView;
+
+public class Perspective implements IPerspectiveFactory {
+
+ public static final String ID = "eu.etaxonomy.mvctest.perspective";
+
+ public void createInitialLayout(IPageLayout layout) {
+ String editorArea = layout.getEditorArea();
+ layout.setEditorAreaVisible(true);
+
+ IFolderLayout navigatorFolder = layout.createFolder("Navigator",
+ IPageLayout.LEFT, 0.25f, editorArea);
+ navigatorFolder.addView(NameListView.ID);
+ //navigatorFolder.addView(LastNameView.ID);
+ }
+}
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.controller;\r
+\r
+import org.eclipse.jface.action.Action;\r
+\r
+import eu.etaxonomy.cdm.api.service.INameService;\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.prototype1.Activator;\r
+\r
+public class CreateNameAction extends Action {\r
+\r
+ private TaxonName tn;\r
+ \r
+ public CreateNameAction(String genus, String spEpithet) {\r
+ \r
+ INameService ns = Activator.getDefault().getApplicationController().getNameService();\r
+ this.tn = ns.getNewTaxonName(null);\r
+ tn.setGenus(genus);\r
+ tn.setSpecificEpithet(spEpithet);\r
+ }\r
+ \r
+ /* (non-Javadoc)\r
+ * @see org.eclipse.jface.action.Action#run()\r
+ */\r
+ public void run() {\r
+ //Application.\r
+ Activator.getDefault().getApplicationController().getNameService().saveTaxonName(tn);\r
+ Activator.getDefault().getObjectList().add(tn);\r
+ }\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.controller;\r
+\r
+import org.eclipse.jface.action.Action;\r
+\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+\r
+public class OpenNameEditorAction extends Action {\r
+\r
+ public OpenNameEditorAction(TaxonName tn) {\r
+ // TODO Auto-generated constructor stub\r
+ }\r
+ \r
+ \r
+\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.model;\r
+\r
+import java.beans.PropertyChangeListener;\r
+import java.beans.PropertyChangeSupport;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import eu.etaxonomy.cdm.model.common.VersionableEntity;\r
+\r
+public class ObjectList {\r
+ \r
+ private List objectList = new ArrayList();\r
+ \r
+ protected transient PropertyChangeSupport listeners = new PropertyChangeSupport(this);\r
+ \r
+ \r
+ //public class ObjectList extends PlatformObject { \r
+ \r
+ /**\r
+ * Adds a property-change listener.\r
+ * @param l the listener\r
+ */\r
+ public void addPropertyChangeListener(PropertyChangeListener l){\r
+ if (l == null) {\r
+ throw new IllegalArgumentException();\r
+ }\r
+ this.listeners.addPropertyChangeListener(l);\r
+ }\r
+ \r
+ \r
+ public void removePropertyChangeListener(PropertyChangeListener l){\r
+ this.listeners.removePropertyChangeListener(l);\r
+ }\r
+ \r
+ /**\r
+ * Notifies all listeners to a model-change\r
+ * @param prop the property-id\r
+ * @param old the old-value\r
+ * @param newValue the new value\r
+ */\r
+ protected void firePropertyChange(String prop, Object old, Object newValue){\r
+ if (this.listeners.hasListeners(prop)) {\r
+ this.listeners.firePropertyChange(prop, old, newValue);\r
+ }\r
+ }\r
+\r
+\r
+ /**\r
+ * @param o\r
+ * @return\r
+ * @see java.util.List#add(java.lang.Object)\r
+ */\r
+ public void add(VersionableEntity ve) {\r
+ this.objectList.add(ve);\r
+ // model has changed --> fire\r
+ firePropertyChange("ITEM_ADD", null, ve); //$NON-NLS-1$\r
+ }\r
+ \r
+ \r
+ /**\r
+ * @param o\r
+ * @return\r
+ * @see java.util.List#remove(java.lang.Object)\r
+ */\r
+ public void remove(Object o) {\r
+ this.objectList.remove(o);\r
+// model has changed --> fire\r
+ firePropertyChange("ITEM_REMOVE", o, null); //$NON-NLS-1$\r
+ }\r
+\r
+\r
+ /**\r
+ * @return\r
+ * @see java.util.List#toArray()\r
+ */\r
+ public Object[] toArray() {\r
+ return (Object[]) this.objectList.toArray(new Object[this.objectList.size()]);\r
+ }\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.view;
+
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.ViewPart;
+
+import eu.etaxonomy.taxeditor.prototype1.controller.CreateNameAction;
+
+public class CreateNameView extends ViewPart {
+ private Text txtSpEpithet;
+ private Text txtGenus;
+ public static final String ID = "eu.etaxonomy.mvctest.view";
+
+ /**
+ * This is a callback that will allow us to create the viewer and initialize
+ * it.
+ */
+ public void createPartControl(Composite parent) {
+ final GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 2;
+ parent.setLayout(gridLayout);
+
+ final Label genusLabel = new Label(parent, SWT.NONE);
+ genusLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
+ genusLabel.setText("Genus:");
+
+ txtGenus = new Text(parent, SWT.BORDER);
+ final GridData gd_txtGenus = new GridData(SWT.FILL, SWT.CENTER, true, false);
+ txtGenus.setLayoutData(gd_txtGenus);
+
+ final Label epithetLabel = new Label(parent, SWT.NONE);
+ epithetLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
+ epithetLabel.setText("Epithet:");
+
+ txtSpEpithet = new Text(parent, SWT.BORDER);
+ final GridData gd_txtSpEpithet = new GridData(SWT.FILL, SWT.CENTER, true, false);
+ txtSpEpithet.setLayoutData(gd_txtSpEpithet);
+ new Label(parent, SWT.NONE);
+
+ final Button saveNameButton = new Button(parent, SWT.NONE);
+
+ saveNameButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+ new CreateNameAction(CreateNameView.this.txtGenus.getText(),
+ CreateNameView.this.txtSpEpithet.getText()).run();
+ }
+ });
+
+ final GridData gd_saveNameButton = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
+ saveNameButton.setLayoutData(gd_saveNameButton);
+ saveNameButton.setText("Save Name");
+ initializeToolBar();
+ }
+
+ /**
+ * Passing the focus request to the viewer's control.
+ */
+ public void setFocus() {
+ }
+ private void initializeToolBar() {
+ IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
+ }
+}
\ No newline at end of file
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.view;\r
+\r
+import java.beans.PropertyChangeEvent;\r
+import java.beans.PropertyChangeListener;\r
+\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.IToolBarManager;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.KeyEvent;\r
+import org.eclipse.swt.events.KeyListener;\r
+import org.eclipse.swt.events.VerifyEvent;\r
+import org.eclipse.swt.events.VerifyListener;\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.part.ViewPart;\r
+\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.prototype1.Activator;\r
+\r
+public class LastNameView extends ViewPart implements PropertyChangeListener {\r
+\r
+ private Text txtPlay;\r
+ public static final String ID = "eu.etaxonomy.mvctest.view.LastNameView"; //$NON-NLS-1$\r
+ private Label lblName;\r
+ /**\r
+ * Create contents of the view part\r
+ * @param parent\r
+ */\r
+ @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 theLastNameLabel = new Label(container, SWT.NONE);\r
+ theLastNameLabel.setText("The last name created was: ");\r
+\r
+ lblName = new Label(container, SWT.NONE);\r
+ lblName.setText("none yet");\r
+ lblName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));\r
+\r
+ txtPlay = new Text(container, SWT.BORDER);\r
+ txtPlay.setCapture(true);\r
+ final GridData gd_txtPlay = new GridData(SWT.FILL, SWT.CENTER, true, false);\r
+ txtPlay.setLayoutData(gd_txtPlay);\r
+ txtPlay.addVerifyListener(new VerifyListener() {\r
+ @Override\r
+ public void verifyText(VerifyEvent e) {\r
+ e.doit = Character.isDigit(e.character);\r
+ } \r
+ });\r
+ txtPlay.addKeyListener(new KeyListener() {\r
+\r
+ @Override\r
+ public void keyPressed(KeyEvent e) {\r
+ System.out.println(e.character);\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ @Override\r
+ public void keyReleased(KeyEvent e) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+ });\r
+ \r
+ new Label(container, SWT.NONE);\r
+ //\r
+ createActions();\r
+ initializeToolBar();\r
+ initializeMenu();\r
+\r
+ Activator.getDefault().getObjectList().addPropertyChangeListener(this);\r
+ \r
+ }\r
+\r
+ /**\r
+ * Create the actions\r
+ */\r
+ private void createActions() {\r
+ // Create the actions\r
+ }\r
+\r
+ /**\r
+ * Initialize the toolbar\r
+ */\r
+ private void initializeToolBar() {\r
+ IToolBarManager toolbarManager = getViewSite().getActionBars()\r
+ .getToolBarManager();\r
+ }\r
+\r
+ /**\r
+ * Initialize the menu\r
+ */\r
+ private void initializeMenu() {\r
+ IMenuManager menuManager = getViewSite().getActionBars()\r
+ .getMenuManager();\r
+ }\r
+\r
+ @Override\r
+ public void setFocus() {\r
+ // Set the focus\r
+ }\r
+\r
+ @Override\r
+ public void propertyChange(PropertyChangeEvent evt) {\r
+ if (evt.getPropertyName().equalsIgnoreCase("ITEM_ADD")){\r
+ TaxonName tn = (TaxonName)evt.getNewValue();\r
+ lblName.setText( tn.getName());\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package eu.etaxonomy.taxeditor.prototype1.view;\r
+\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.IToolBarManager;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.DoubleClickEvent;\r
+import org.eclipse.jface.viewers.IDoubleClickListener;\r
+import org.eclipse.jface.viewers.IStructuredContentProvider;\r
+import org.eclipse.jface.viewers.ITableLabelProvider;\r
+import org.eclipse.jface.viewers.IViewerLabelProvider;\r
+import org.eclipse.jface.viewers.LabelProvider;\r
+import org.eclipse.jface.viewers.ListViewer;\r
+import org.eclipse.jface.viewers.StructuredSelection;\r
+import org.eclipse.jface.viewers.TableViewer;\r
+import org.eclipse.jface.viewers.TreeViewer;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.jface.viewers.ViewerLabel;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.graphics.Image;\r
+import org.eclipse.swt.layout.RowData;\r
+import org.eclipse.swt.layout.RowLayout;\r
+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.part.ViewPart;\r
+\r
+import eu.etaxonomy.cdm.api.service.INameService;\r
+import eu.etaxonomy.cdm.model.name.TaxonName;\r
+import eu.etaxonomy.taxeditor.prototype1.Activator;\r
+//import eu.etaxonomy.taxeditor.prototype1.controller.OpenNameEditorAction;\r
+//import eu.etaxonomy.taxeditor.prototype1.controller.ShowNameAsLastNameAction;\r
+import eu.etaxonomy.taxeditor.prototype1.controller.OpenNameEditorAction;\r
+\r
+public class NameListView extends ViewPart {\r
+\r
+ private Tree tree;\r
+ private List list;\r
+ private TableViewer viewer;\r
+ public static final String ID = "eu.etaxonomy.mvctest.view.NameListView"; //$NON-NLS-1$\r
+\r
+ class ViewContentProvider implements IStructuredContentProvider {\r
+\r
+ @Override\r
+ public Object[] getElements(Object inputElement) {\r
+ INameService ns = Activator.getDefault().getApplicationController().getNameService();\r
+// java.util.List<TaxonName> tns = ns.getAllNames();\r
+// for (TaxonName tn : tns)\r
+// System.out.println (tn.getFullName());\r
+ return ns.getAllNames().toArray();\r
+ }\r
+\r
+ @Override\r
+ public void dispose() {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+\r
+ @Override\r
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+ \r
+ }\r
+ \r
+ class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {\r
+\r
+ public Image getColumnImage(Object element, int columnIndex) {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ public String getColumnText(Object element, int columnIndex) {\r
+ return ((TaxonName) element).getName();\r
+ }\r
+\r
+ public void updateLabel(ViewerLabel label, Object element) {\r
+ // TODO Auto-generated method stub\r
+ \r
+ }\r
+ \r
+ }\r
+ \r
+ /**\r
+ * Create contents of the view part\r
+ * @param parent\r
+ */\r
+ @Override\r
+ public void createPartControl(Composite parent) {\r
+ \r
+ viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL\r
+ | SWT.V_SCROLL);\r
+ viewer.setContentProvider(new ViewContentProvider());\r
+ viewer.setLabelProvider(new ViewLabelProvider());\r
+ viewer.setInput(getViewSite());\r
+ \r
+ viewer.addDoubleClickListener(new IDoubleClickListener(){\r
+\r
+ @Override\r
+ public void doubleClick(DoubleClickEvent event) { \r
+ TaxonName tn = null;\r
+ try {\r
+ tn = (TaxonName) ((StructuredSelection)event.getSelection()).getFirstElement();\r
+ }catch (Exception e){\r
+ e.printStackTrace();\r
+ tn = null;\r
+ }\r
+ new OpenNameEditorAction(tn).run();\r
+ }\r
+ \r
+ });\r
+\r
+ createActions();\r
+ initializeToolBar();\r
+ initializeMenu();\r
+ \r
+// MessageDialog.openInformation(this.getSite().getShell(), "Save", "Contact saved.");\r
+ }\r
+\r
+ /**\r
+ * Create the actions\r
+ */\r
+ private void createActions() {\r
+ // Create the actions\r
+ }\r
+\r
+ /**\r
+ * Initialize the toolbar\r
+ */\r
+ private void initializeToolBar() {\r
+ IToolBarManager toolbarManager = getViewSite().getActionBars()\r
+ .getToolBarManager();\r
+ }\r
+\r
+ /**\r
+ * Initialize the menu\r
+ */\r
+ private void initializeMenu() {\r
+ IMenuManager menuManager = getViewSite().getActionBars()\r
+ .getMenuManager();\r
+ }\r
+\r
+ @Override\r
+ public void setFocus() {\r
+ // Set the focus\r
+ }\r
+ \r
+}\r