ref #7095 Adjust context menu based on view state
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 26 Jan 2018 10:14:13 +0000 (11:14 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 26 Jan 2018 10:14:13 +0000 (11:14 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/matrix/CharacterMatrix.java

index d77a024646f2760cc32ff51c3c3d89ec0bb490cd..84497d83cd54dd6bdd7c3b8d20905dfa9804565c 100644 (file)
@@ -107,7 +107,6 @@ import org.eclipse.nebula.widgets.nattable.tree.TreeLayer;
 import org.eclipse.nebula.widgets.nattable.tree.command.TreeCollapseAllCommand;
 import org.eclipse.nebula.widgets.nattable.tree.command.TreeExpandAllCommand;
 import org.eclipse.nebula.widgets.nattable.ui.menu.AbstractHeaderMenuConfiguration;
-import org.eclipse.nebula.widgets.nattable.ui.menu.HeaderMenuConfiguration;
 import org.eclipse.nebula.widgets.nattable.ui.menu.PopupMenuBuilder;
 import org.eclipse.nebula.widgets.nattable.util.GUIHelper;
 import org.eclipse.nebula.widgets.nattable.viewport.ViewportLayer;
@@ -451,8 +450,6 @@ ICdmEntitySessionEnabled{
         columnHeaderStyle.font = GUIHelper.getFont(new FontData("Verdana", 8, SWT.BOLD));
         natTable.addConfiguration(columnHeaderStyle);
 
-        // Add popup menu - build your own popup menu using the PopupMenuBuilder
-        natTable.addConfiguration(new HeaderMenuConfiguration(natTable));
     }
 
     private void toggleTreeFlat(boolean isTree, Button btnToggleFlat, Button btnToggleTree, Button btnCollapseAll, Button btnExpandAll) {
@@ -553,13 +550,27 @@ ICdmEntitySessionEnabled{
         GlazedListTreeData treeData = new GlazedListTreeData<>(treeList);
         ITreeRowModel treeRowModel = new GlazedListTreeRowModel<>(treeData);
 
-        RowReorderLayer rowReorderLayer = new RowReorderLayer(eventLayer);
-        ColumnReorderLayer columnReorderLayer = new ColumnReorderLayer(rowReorderLayer);
-        ColumnHideShowLayer columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
-        RowHideShowLayer rowHideShowLayer = new RowHideShowLayer(columnHideShowLayer);
-        SelectionLayer selectionLayer = new SelectionLayer(rowHideShowLayer);
-        TreeLayer treeLayer = new TreeLayer(selectionLayer, treeRowModel);
-        ViewportLayer viewportLayer = treeView?new ViewportLayer(treeLayer):new ViewportLayer(selectionLayer);
+        ColumnReorderLayer columnReorderLayer;
+        ColumnHideShowLayer columnHideShowLayer;
+        SelectionLayer selectionLayer;
+        TreeLayer treeLayer;
+        ViewportLayer viewportLayer;
+        if(treeView){
+            columnReorderLayer = new ColumnReorderLayer(eventLayer);
+            columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
+            selectionLayer = new SelectionLayer(columnHideShowLayer);
+            treeLayer = new TreeLayer(selectionLayer, treeRowModel);
+            viewportLayer = treeView?new ViewportLayer(treeLayer):new ViewportLayer(selectionLayer);
+        }
+        else{
+            RowReorderLayer rowReorderLayer = new RowReorderLayer(eventLayer);
+            columnReorderLayer = new ColumnReorderLayer(rowReorderLayer);
+            columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
+            RowHideShowLayer rowHideShowLayer = new RowHideShowLayer(columnHideShowLayer);
+            selectionLayer = new SelectionLayer(rowHideShowLayer);
+            treeLayer = new TreeLayer(selectionLayer, treeRowModel);
+            viewportLayer = treeView?new ViewportLayer(treeLayer):new ViewportLayer(selectionLayer);
+        }
 
         // create a standalone FixedSummaryRowLayer
         // since the summary row should be fixed at the top of the body
@@ -643,8 +654,9 @@ ICdmEntitySessionEnabled{
 
         // override the default sort configuration and change the mouse bindings
         // to sort on a single click
-        //currently removed sorting because of using the TreeConfiguration
-        natTable.addConfiguration(new SingleClickSortConfiguration());
+        if(!treeView){
+            natTable.addConfiguration(new SingleClickSortConfiguration());
+        }
 
         // add the header menu configuration for adding the column header menu
         // with hide/show actions
@@ -657,19 +669,6 @@ ICdmEntitySessionEnabled{
                         .withShowAllColumnsMenuItem();
             }
 
-            @Override
-            protected PopupMenuBuilder createRowHeaderMenu(NatTable natTable) {
-                return super.createRowHeaderMenu(natTable)
-                        .withHideRowMenuItem()
-                        .withShowAllRowsMenuItem();
-            }
-
-            @Override
-            protected PopupMenuBuilder createCornerMenu(NatTable natTable) {
-                return super.createCornerMenu(natTable)
-                        .withShowAllColumnsMenuItem()
-                        .withShowAllRowsMenuItem();
-            }
         });
 
         Style cellStyle = new Style();