ref #7095 Add remove description button
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 27 Mar 2018 13:49:42 +0000 (15:49 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 27 Mar 2018 13:49:42 +0000 (15:49 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/CharacterMatrix.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.java

index 0f4064c188d37d911973c7186bf9812f3bef252a..18cb1fdcc8e399e5e0e9adfcf47f3a9b38b32be4 100644 (file)
@@ -196,6 +196,8 @@ public class CharacterMatrix extends Composite {
 
     private ConfigRegistry configRegistry;
 
+    private DefaultBodyLayerStack bodyLayer;
+
 
     public CharacterMatrix(Composite parent, CharacterMatrixPart part) {
         super(parent, SWT.NONE);
@@ -384,7 +386,7 @@ public class CharacterMatrix extends Composite {
          * Add description button
          */
         Button btnAddDescription = new Button(buttonPanel, SWT.PUSH);
-        btnAddDescription.setImage(ImageResources.getImage(ImageResources.ADD_ICON));
+        btnAddDescription.setImage(ImageResources.getImage(ImageResources.ADD_ICON_GREEN));
         btnAddDescription.addSelectionListener(new SelectionAdapter() {
             @Override
             public void widgetSelected(SelectionEvent e) {
@@ -406,6 +408,25 @@ public class CharacterMatrix extends Composite {
                 }
             }
         });
+        /**
+         * Remove description button
+         */
+        Button btnRemoveDescription = new Button(buttonPanel, SWT.PUSH);
+        btnRemoveDescription.setImage(ImageResources.getImage(ImageResources.ACTIVE_DELETE_ICON));
+        btnRemoveDescription.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                int[] fullySelectedRowPositions = bodyLayer.getSelectionLayer().getFullySelectedRowPositions();
+                for (int i : fullySelectedRowPositions) {
+                    Object rowObject = bodyDataProvider.getRowObject(i);
+                    if(rowObject instanceof RowWrapper){
+                        CharacterMatrix.this.descriptions.remove(rowObject);
+                        workingSet.removeDescription(((RowWrapper) rowObject).getSpecimenDescription());
+                        setDirty();
+                    }
+                }
+            }
+        });
     }
 
     private void applyStyles(){
@@ -584,8 +605,8 @@ public class CharacterMatrix extends Composite {
         GlazedListTreeData treeData = new GlazedListTreeData<>(treeList);
         ITreeRowModel treeRowModel = new GlazedListTreeRowModel<>(treeData);
 
-        final DefaultBodyLayerStack bodyLayer = new DefaultBodyLayerStack(
-                bodyDataLayer);
+        bodyLayer = new DefaultBodyLayerStack(
+                eventLayer);
         viewportLayer = bodyLayer.getViewportLayer();
         final SelectionLayer selectionLayer = bodyLayer.getSelectionLayer();
         freezeLayer = new FreezeLayer(selectionLayer);
index 37c0f03d78fd620ef20b0797b5f4bbcad9b56898..b21864681b32bf5e6fa173bdb8b68aaa4551c044 100644 (file)
@@ -52,6 +52,8 @@ public class ImageResources {
        ************************************************************************************** */
        /** Constant <code>ADD_ICON="add_icon"</code> */
        public static final String ADD_ICON = "add_icon";
+       public static final String ADD_ICON_GREEN = "add_icon_green";
+       public static final String MIN_ICON = "min_icon";
        public static final String ADD_EDIT = "add_edit";
        /** Constant <code>TRASH_ICON="trash_icon"</code> */
        public static final String TRASH_ICON = "trash_icon";
@@ -269,6 +271,10 @@ public class ImageResources {
        protected void initializeImageRegistry(ImageRegistry registry) {
                registerImage(registry, ADD_ICON,
                                "add_no_bg.gif");
+               registerImage(registry, ADD_ICON_GREEN,
+                       "add.gif");
+               registerImage(registry, MIN_ICON,
+                       "min.gif");
                registerImage(registry, ADD_EDIT,
                        "add_edit.gif");
                registerImage(registry, TRASH_ICON,