ref #6694 Improve UI and feature tree creation
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Jun 2017 08:59:21 +0000 (10:59 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Jun 2017 08:59:21 +0000 (10:59 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureTreeSelectionDialog.java

index c24c41e2a72313388a0ab53cf4f98463a0132c94..26f4305b26bb538474db6f01a6b5debf45a554eb 100644 (file)
@@ -76,11 +76,9 @@ public class FeatureTreeEditor implements
        private Label label_title;
        private Button button_add;
        private Button button_remove;
-       private Label label_treeInfo;
        private FeatureTree featureTree;
        private Text text_title;
     private Button btnOpenFeatureTree;
-    private Button btnNewFeatureTree;
 
     private ConversationHolder conversation;
     @Inject
@@ -107,7 +105,7 @@ public class FeatureTreeEditor implements
                Composite composite_treeTitle = new Composite(composite, SWT.NULL);
                composite_treeTitle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true,
                                false));
-               composite_treeTitle.setLayout(new GridLayout(4, false));
+               composite_treeTitle.setLayout(new GridLayout(3, false));
 
                label_title = new Label(composite_treeTitle, SWT.NULL);
                label_title.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
@@ -117,11 +115,8 @@ public class FeatureTreeEditor implements
                text_title.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
 
                btnOpenFeatureTree = new Button(composite_treeTitle, SWT.NONE);
+               btnOpenFeatureTree.setToolTipText("Open Tree");
                btnOpenFeatureTree.setImage(ImageResources.getImage(ImageResources.BROWSE_ICON));
-               btnOpenFeatureTree.setText("Open Tree");
-
-               btnNewFeatureTree = new Button(composite_treeTitle, SWT.NONE);
-               btnNewFeatureTree.setText("New Feature Tree");
 
                Composite composite_treeContent = new Composite(composite, SWT.NULL);
                composite_treeContent.setLayoutData(new GridData(SWT.FILL, SWT.FILL,
@@ -141,16 +136,11 @@ public class FeatureTreeEditor implements
                composite_buttons.setLayout(new GridLayout());
 
                button_add = new Button(composite_buttons, SWT.PUSH);
-               button_add.setText("Add");
-               button_add.setToolTipText("Add a feature to this feature treee.");
+               button_add.setToolTipText("Add a feature to this feature tree.");
+               button_add.setImage(ImageResources.getImage(ImageResources.ADD_EDIT));
                button_remove = new Button(composite_buttons, SWT.PUSH);
-               button_remove.setText("Remove");
-               button_remove
-                               .setToolTipText("Remove a feature from this feature tree.");
-
-               label_treeInfo = new Label(composite, SWT.NULL);
-               label_treeInfo
-                               .setText("Order and nesting of feature nodes may be changed through drag and drop.");
+               button_remove.setToolTipText("Remove a feature from this feature tree.");
+               button_remove.setImage(ImageResources.getImage(ImageResources.TRASH_ICON));
 
                init(shell);
        }
@@ -181,7 +171,9 @@ public class FeatureTreeEditor implements
             @Override
             public void widgetSelected(SelectionEvent e) {
                 FeatureTree tree = FeatureTreeSelectionDialog.select(shell, conversation, null);
-                setSelectedTree(tree);
+                if(tree!=null){
+                    setSelectedTree(tree);
+                }
             }
 
             @Override
index aadacafdf79e905404c151d13d84a5206a8c2390..7c0b384181504588ff2f783b79b8b39a34365377 100644 (file)
@@ -52,6 +52,7 @@ public class ImageResources {
        ************************************************************************************** */
        /** Constant <code>ADD_ICON="add_icon"</code> */
        public static final String ADD_ICON = "add_icon";
+       public static final String ADD_EDIT = "add_edit";
        /** Constant <code>TRASH_ICON="trash_icon"</code> */
        public static final String TRASH_ICON = "trash_icon";
        /** Constant <code>BROWSE_ICON="browse_icon"</code> */
@@ -261,6 +262,8 @@ public class ImageResources {
        protected void initializeImageRegistry(ImageRegistry registry) {
                registerImage(registry, ADD_ICON,
                                "add_no_bg.gif");
+               registerImage(registry, ADD_EDIT,
+                       "add_edit.gif");
                registerImage(registry, TRASH_ICON,
                                "trash.gif");
                registerImage(registry, EDIT_ICON,
index 47b10fc3ef42abb401d5d72929bdabe7fa965224..96d531927ce07ea964fa10dd2b75b15fa4c9d84a 100644 (file)
@@ -14,6 +14,7 @@ import java.util.List;
 import java.util.UUID;
 
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
@@ -110,12 +111,17 @@ public class FeatureTreeSelectionDialog extends
                        @Override
             public void handleEvent(Event event) {
 
-                               FeatureTreeEditorWizard wizard = new FeatureTreeEditorWizard();
-                               WizardDialog dialog = new WizardDialog(getShell(), wizard);
-                               int status = dialog.open();
-
+                           InputDialog input = new InputDialog(getShell(), "New feature tree", "Enter label for new feature tree", null, null);
+                               int status = input.open();
                                if (status == IStatus.OK) {
-                                       refresh();
+                                   String label = input.getValue();
+                                   if(label!=null){
+                                       FeatureTree featureTree = FeatureTree.NewInstance();
+                                       featureTree.setTitleCache(label, false);
+                                       CdmStore.getService(IFeatureTreeService.class).save(featureTree);
+                                   UuidAndTitleCache<FeatureTree> uuidAndTitleCache = new UuidAndTitleCache<FeatureTree>(FeatureTree.class, featureTree.getUuid(),featureTree.getId(), featureTree.getTitleCache());
+                                   model.add(uuidAndTitleCache);
+                                   }
                                }
                        }
                });