ref #6786 Fix creating new tree
authorPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 30 Nov 2017 15:33:32 +0000 (16:33 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Thu, 30 Nov 2017 15:33:32 +0000 (16:33 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FeatureTreeSelectionDialog.java

index f032e0e4adf26311a34b168a3ac9ea19b6e699ed..f5be32fabb49a76d78073dd5c08c12d9f84fb333 100644 (file)
@@ -13,6 +13,11 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
+import org.eclipse.jface.dialogs.InputDialog;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.widgets.Shell;
 
 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
@@ -64,32 +69,24 @@ public class FeatureTreeSelectionDialog extends
                }
        }
 
-//     /** {@inheritDoc} */
-//     @Override
-//     protected Control createExtendedContentArea(Composite parent) {
-//             Link link = new Link(parent, SWT.NONE);
-//             link.setText(getNewWizardLinkText());
-//             link.addListener (SWT.Selection, new Listener () {
-//                     @Override
-//            public void handleEvent(Event event) {
-//
-//                         InputDialog input = new InputDialog(getShell(), "New feature tree", "Enter label for new feature tree", null, null);
-//                             int status = input.open();
-//                             if (status == IStatus.OK) {
-//                                 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);
-//                                 setPattern(featureTree);
-//                                 }
-//                             }
-//                     }
-//             });
-//             return link;
-//     }
+       @Override
+    protected SelectionListener getNewWizardButtonSelectionListener(){
+        return new SelectionAdapter() {
+
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                InputDialog dialog = new InputDialog(getShell(), "Feature tree label", "Enter label for feature tree", null, null);
+                if (dialog.open() == Window.OK) {
+                    // User clicked OK; update the label with the input
+                    FeatureTree tree = FeatureTree.NewInstance();
+                    CdmStore.getService(IFeatureTreeService.class).merge(tree,true);
+                    tree.setTitleCache(dialog.getValue());
+                    refresh();
+                    setPattern(tree);
+                  }
+            }
+        };
+    }
 
        /** {@inheritDoc} */
        @Override