fix #7412 Allow editing supplemental data for DescriptiveDataSets
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 3 Sep 2018 13:13:57 +0000 (15:13 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 3 Sep 2018 13:13:57 +0000 (15:13 +0200)
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DescriptiveDataSetPerspective.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/DescriptiveDataSetEditor.java

index 53fcc1a9e4cf6e2600bcdf0d266f1dcf05f89379..3d917e63fb076ba1f072dca8d9d737508b4451ca 100644 (file)
@@ -33,6 +33,10 @@ public class DescriptiveDataSetPerspective extends Default {
                layout.addPlaceholder(AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_DESCRIPTIVEDATASET_MATRIX_CHARACTERMATRIXPART, IPageLayout.BOTTOM, 0.25f, layout.getEditorArea());
 
                layout.addView(DETAILS_VIEW, IPageLayout.RIGHT, 0.7f, layout.getEditorArea());
+               IFolderLayout supplementalFolder = layout.createFolder(SUPPLEMENTAL_VIEW+"stack", IPageLayout.BOTTOM, 0.6f, DETAILS_VIEW);
+        supplementalFolder.addView(SUPPLEMENTAL_VIEW);
+        supplementalFolder.addPlaceholder(CONCEPT_VIEW);
+        supplementalFolder.addPlaceholder(REFERENCING_VIEW);
 
                createAdditionalFolder(layout, layout.getEditorArea());
        }
index 704c290dfa44859cd61634a2ba9e34b0ce20355c..ea1567ec14a4b53c6aa0570a48b77dddc1b7668b 100644 (file)
@@ -34,10 +34,13 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
 import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.Transfer;
+import org.eclipse.swt.events.FocusAdapter;
+import org.eclipse.swt.events.FocusEvent;
 import org.eclipse.swt.events.KeyAdapter;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.ModifyEvent;
@@ -64,6 +67,7 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -79,7 +83,7 @@ import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
  *
  */
 public class DescriptiveDataSetEditor implements IE4SavablePart, IConversationEnabled, ICdmEntitySessionEnabled,
-IPartContentHasDetails, IDirtyMarkable {
+IPartContentHasDetails, IPartContentHasSupplementalData, IDirtyMarkable {
 
     private DescriptiveDataSetComposite composite;
 
@@ -209,8 +213,15 @@ IPartContentHasDetails, IDirtyMarkable {
         if(taxonSubtreeFilter!=null){
             composite.getTaxonNodeTree().setInput(taxonSubtreeFilter);
         }
-
         composite.getTxt_label().addModifyListener(labelModifyListener);
+        composite.getTxt_label().addFocusListener(new FocusAdapter() {
+            @Override
+            public void focusGained(FocusEvent e) {
+                super.focusGained(e);
+                selectionService.setSelection(new StructuredSelection(descriptiveDataSet));
+            }
+        });
+        selectionService.setSelection(new StructuredSelection(descriptiveDataSet));
     }
 
     public void addTaxonNode(TaxonNodeDto taxonNodeDto){