@Override public boolean doCommand(DisplayColumnStyleEditorCommand command) { int columnIndexOfClick = command.getNattableLayer().getColumnIndexByPosition(command.columnPosition); LabelStack configLabels = new LabelStack(); this.columnLabelAccumulator.accumulateConfigLabels(configLabels, columnIndexOfClick, 0); configLabels.addLabel(getConfigLabel(columnIndexOfClick)); // Column style Style clickedCellStyle = (Style) this.configRegistry.getConfigAttribute(CELL_STYLE, NORMAL, configLabels.getLabels()); this.dialog = new ColumnStyleEditorDialog(Display.getCurrent().getActiveShell(), clickedCellStyle); this.dialog.open(); if (this.dialog.isCancelPressed()) { return true; } int[] selectedColumns = getSelectedColumnIndeces(); if (selectedColumns.length > 0) { applySelectedStyleToColumns(command, selectedColumns); // fire refresh event this.selectionLayer.fireLayerEvent( new ColumnVisualUpdateEvent( this.selectionLayer, this.selectionLayer.getSelectedColumnPositions())); } else { applySelectedStyle(); // fire refresh event this.selectionLayer.fireLayerEvent(new VisualRefreshEvent(this.selectionLayer)); } return true; }
@Override public void accumulateConfigLabels(LabelStack configLabels, int columnPosition, int rowPosition) { configLabels.getLabels().addAll(this.configLabels); }