ref #7439 auto resize columns after search
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 22 Jun 2018 07:41:47 +0000 (09:41 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 22 Jun 2018 09:49:18 +0000 (11:49 +0200)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AbstractBulkEditorInput.java

index 851171aaf9a77102655187cd0c177a2e9522273b..f5e112f327f1a65c75758edd246f7afd6c184b16 100644 (file)
@@ -59,6 +59,7 @@ import org.eclipse.nebula.widgets.nattable.grid.layer.GridLayer;
 import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
 import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
 import org.eclipse.nebula.widgets.nattable.layer.stack.DefaultBodyLayerStack;
+import org.eclipse.nebula.widgets.nattable.resize.command.InitializeAutoResizeColumnsCommand;
 import org.eclipse.nebula.widgets.nattable.selection.RowSelectionModel;
 import org.eclipse.nebula.widgets.nattable.selection.RowSelectionProvider;
 import org.eclipse.nebula.widgets.nattable.sort.SortHeaderLayer;
@@ -69,6 +70,7 @@ import org.eclipse.nebula.widgets.nattable.ui.binding.UiBindingRegistry;
 import org.eclipse.nebula.widgets.nattable.ui.matcher.MouseEventMatcher;
 import org.eclipse.nebula.widgets.nattable.ui.menu.PopupMenuAction;
 import org.eclipse.nebula.widgets.nattable.ui.menu.PopupMenuBuilder;
+import org.eclipse.nebula.widgets.nattable.util.GCFactory;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.Clipboard;
 import org.eclipse.swt.dnd.TextTransfer;
@@ -222,8 +224,14 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
                         configRegistry,
                         columnHeaderDataLayer));
         //row
-        RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(new DataLayer(rowHeaderDataProvider, 50, 20),
+        DataLayer rowHeaderDataLayer = new DataLayer(rowHeaderDataProvider);
+        RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(rowHeaderDataLayer,
                 bodyLayer, bodyLayer.getSelectionLayer());
+        rowHeaderDataLayer.setDefaultRowHeight(20);
+        rowHeaderDataLayer.setColumnWidthByPosition(0, 30);
+        rowHeaderDataLayer.setColumnWidthByPosition(1, 200);
+        rowHeaderDataLayer.setColumnWidthByPosition(2, 100);
+
         //corner
         DefaultCornerDataProvider cornerDataProvider = new DefaultCornerDataProvider(
                 colHeaderDataProvider, rowHeaderDataProvider);
@@ -233,8 +241,6 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
         GridLayer gridLayer = new GridLayer(bodyLayer, sortHeaderLayer,
                 rowHeaderLayer, cornerLayer);
 
-        dataLayer.setColumnPercentageSizing(true);
-
         natTable = new NatTable(bottomComposite, gridLayer, false);
         natTable.setConfigRegistry(configRegistry);
 
@@ -401,10 +407,19 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
 
     @Optional
     @Inject
-    private void setSelectionAfterSearch(@UIEventTopic(WorkbenchEventConstants.BULK_EDITOR_SEARCH_FINISHED)IStructuredSelection selection){
+    private void updateAfterSearch(@UIEventTopic(WorkbenchEventConstants.BULK_EDITOR_SEARCH_FINISHED)IStructuredSelection selection){
         if(selection!=null){
             setSelection(selection);
         }
+        //auto resize columns
+        InitializeAutoResizeColumnsCommand command = new InitializeAutoResizeColumnsCommand(
+                natTable, 2, natTable.getConfigRegistry(), new GCFactory(
+                        natTable));
+        natTable.doCommand(command);
+        command = new InitializeAutoResizeColumnsCommand(
+                natTable, 1, natTable.getConfigRegistry(), new GCFactory(
+                        natTable));
+        natTable.doCommand(command);
     }
 
     public void refresh(){
index 645f8ae2f3c2ef35b3191ed201cb2f5e4723bdc8..65443af934d50d27826d256c18a546e049f8e33c 100644 (file)
@@ -190,9 +190,7 @@ public abstract class AbstractBulkEditorInput<T extends CdmBase> extends CdmEnti
                     monitor.setTaskName(String.format(Messages.AbstractBulkEditorInput_LOADED, loadedCount, totalWork, getName()));
                 } while (!entities.isEmpty());
                    monitor.done();
-                   if(selection!=null){
-                       EventUtility.postAsyncEvent(WorkbenchEventConstants.BULK_EDITOR_SEARCH_FINISHED, selection);
-                   }
+                   EventUtility.postAsyncEvent(WorkbenchEventConstants.BULK_EDITOR_SEARCH_FINISHED, selection);
                });
                searchJob.schedule();
                }