import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
import org.eclipse.nebula.widgets.nattable.layer.stack.DefaultBodyLayerStack;
import org.eclipse.nebula.widgets.nattable.painter.cell.CheckBoxPainter;
+import org.eclipse.nebula.widgets.nattable.painter.cell.ImagePainter;
import org.eclipse.nebula.widgets.nattable.selection.RowSelectionModel;
import org.eclipse.nebula.widgets.nattable.selection.RowSelectionProvider;
import org.eclipse.nebula.widgets.nattable.sort.SortHeaderLayer;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.model.ImageResources;
/**
*
private ListDataProvider<CdmBase> bodyDataProvider;
private BulkEditorE4 bulkEditor;
+ private BulkEditorSearchE4 bulkEditorSearch;
public BulkEditorE4Composite(BulkEditorE4 bulkEditor, Composite parent, int style) {
input.getPropertyKeys().forEach(key->columnList.add(key));
- new BulkEditorSearchE4(this, topComposite, SWT.NONE);
+ bulkEditorSearch = new BulkEditorSearchE4(this, topComposite, SWT.NONE);
//layout needed because the search bar is added after @PostConstuct method
topComposite.getParent().layout();
selectionProvider.addSelectionChangedListener(selectionChangedListener);
bottomComposite.layout();
+
}
private void createTable(){
dataLayer.setColumnPercentageSizing(0, true);
dataLayer.setColumnWidthPercentageByPosition(0, 45);
for(int i=1;i<columnList.size();i++){
-// if(bulkEditor.getEditorInput().isBooleanProperty(columnList.get(i))){
-// dataLayer.setColumnWidthByPosition(i, 20);
-// }
-// else{
+ if(bulkEditor.getEditorInput().isCacheProperty(columnList.get(i))){
+ dataLayer.setColumnWidthByPosition(i, 16);
+ }
+ else{
dataLayer.setColumnWidthByPosition(i, 100);
-// }
+ }
}
//column
columnPropertyAccessor,
configRegistry,
columnHeaderDataLayer));
+ columnHeaderDataLayer.setConfigLabelAccumulator(
+ new BulkEditorConfigLabelAccumulatorHeader(colHeaderDataProvider, bulkEditor.getEditorInput()));
//row
DataLayer rowHeaderDataLayer = new DataLayer(rowHeaderDataProvider);
RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(rowHeaderDataLayer,
GridLayer gridLayer = new GridLayer(bodyLayer, sortHeaderLayer,
rowHeaderLayer, cornerLayer, false);//set autoconfigure to false to get rid of the single click editing
natTable = new NatTable(bottomComposite, gridLayer, false);
- natTable.setConfigRegistry(configRegistry);
//full row selection
bodyLayer.getSelectionLayer().setSelectionModel(new RowSelectionModel<CdmBase>(bodyLayer.getSelectionLayer(), bodyDataProvider, new IRowIdAccessor<CdmBase>() {
}
}));
- dataLayer.setConfigLabelAccumulator(new BulkEditorConfigLabelAccumulator(natTable, bodyDataProvider,
- colHeaderDataProvider,
+ dataLayer.setConfigLabelAccumulator(new BulkEditorConfigLabelAccumulator(bodyDataProvider, colHeaderDataProvider,
bulkEditor.getEditorInput()));
+ natTable.setConfigRegistry(configRegistry);
+
//add tooltip to table
- new BulkEditorTooltip(natTable);
+ new BulkEditorTooltip(natTable, colHeaderDataProvider);
}
private void configureTable(){
}
});
- //show boolean values as check boxes
- natTable.addConfiguration(new AbstractRegistryConfiguration() {
- @Override
- public void configureRegistry(IConfigRegistry configRegistry) {
- configRegistry.registerConfigAttribute(
- CellConfigAttributes.CELL_PAINTER,
- new CheckBoxPainter(),
- DisplayMode.NORMAL,
- BulkEditorConfigLabelAccumulator.BOOLEAN_COLUMN);
-
- configRegistry.registerConfigAttribute(
- CellConfigAttributes.DISPLAY_CONVERTER,
- new DefaultBooleanDisplayConverter(),
- DisplayMode.NORMAL,
- BulkEditorConfigLabelAccumulator.BOOLEAN_COLUMN);
- }
- });
-
//+++CONTEXT MENU+++
menuService.registerContextMenu(natTable, "eu.etaxonomy.taxeditor.bulkeditor.popupmenu.bulkeditor"); //$NON-NLS-1$
// get the menu registered by EMenuService
//add default configuration because autoconfigure is set to false in constructor
natTable.addConfiguration(new DefaultNatTableStyleConfiguration());
+
+ //show boolean values as check boxes
+ natTable.addConfiguration(new AbstractRegistryConfiguration() {
+ @Override
+ public void configureRegistry(IConfigRegistry configRegistry) {
+ configRegistry.registerConfigAttribute(
+ CellConfigAttributes.CELL_PAINTER,
+ new CheckBoxPainter(),
+ DisplayMode.NORMAL,
+ BulkEditorConfigLabelAccumulatorHeader.BOOLEAN_COLUMN);
+
+ configRegistry.registerConfigAttribute(
+ CellConfigAttributes.DISPLAY_CONVERTER,
+ new DefaultBooleanDisplayConverter(),
+ DisplayMode.NORMAL,
+ BulkEditorConfigLabelAccumulatorHeader.BOOLEAN_COLUMN);
+ }
+ });
+
+ natTable.addConfiguration(new AbstractRegistryConfiguration() {
+ @Override
+ public void configureRegistry(IConfigRegistry configRegistry) {
+ configRegistry.registerConfigAttribute(
+ CellConfigAttributes.CELL_PAINTER,
+ new ImagePainter(ImageResources.getImage(ImageResources.LOCK_ICON)),
+ DisplayMode.NORMAL,
+ BulkEditorConfigLabelAccumulatorHeader.CACHE_COLUMN);
+ }
+ });
+
+ //register handler for view configuration menu
+ natTable.registerCommandHandler(bulkEditorSearch.getDisplayPersistenceDialogCommandHandler());
+
natTable.configure();
}
}
}
+ NatTable getNatTable() {
+ return natTable;
+ }
+
}