package com.onaro.util.jfc.grouping; import com.onaro.commons.swing.table.TableModel2; import com.onaro.util.jfc.tables.ColumnAdapter; public abstract class GroupingTableColumnAdapter extends ColumnAdapter { private final GroupingTable table; public GroupingTableColumnAdapter(TableModel2 tableModel, GroupingTable table) { super(tableModel); if (table == null) throw new IllegalArgumentException("table"); //$NON-NLS-1$ this.table = table; } @Override public boolean isVisible(int columnIndex) { int modelIndex = getModelIndex(columnIndex); return table.isColumnVisible(modelIndex); } @Override protected void setVisibleImpl(int columnIndex, boolean visible) { int modelIndex = getModelIndex(columnIndex); table.setColumnVisible(modelIndex, visible); } protected int getModelIndex(int columnIndex) { //shift 1 because of the grouping column return columnIndex + 1; } }