package com.limegroup.gnutella.gui.search; import com.limegroup.gnutella.gui.tables.DataLineModel; import com.limegroup.gnutella.gui.tables.DefaultColumnPreferenceHandler; import com.limegroup.gnutella.gui.tables.LimeJTable; import com.limegroup.gnutella.gui.tables.LimeTableColumn; /** * Column preference handler for Search columns. * * Extends DefaultColumnPreferenceHandler to store/read data in memory * instead of to/from disk. */ final class SearchColumnPreferenceHandler extends DefaultColumnPreferenceHandler { SearchColumnPreferenceHandler(LimeJTable table) { super(table); } protected void setVisibility(LimeTableColumn col, boolean vis) { ((SearchColumn)col).setCurrentVisibility(vis); } protected void setOrder(LimeTableColumn col, int order) { ((SearchColumn)col).setCurrentOrder(order); } protected void setWidth(LimeTableColumn col, int width) { ((SearchColumn)col).setCurrentWidth(width); } protected boolean getVisibility(LimeTableColumn col) { return ((SearchColumn)col).getCurrentVisibility(); } protected int getOrder(LimeTableColumn col) { return ((SearchColumn)col).getCurrentOrder(); } protected int getWidth(LimeTableColumn col) { return ((SearchColumn)col).getCurrentWidth(); } protected boolean isDefaultWidth(LimeTableColumn col) { return ((SearchColumn)col).getCurrentWidth() == col.getDefaultWidth(); } protected boolean isDefaultOrder(LimeTableColumn col) { return ((SearchColumn)col).getCurrentOrder() == col.getDefaultOrder(); } protected boolean isDefaultVisibility(LimeTableColumn col) { return ((SearchColumn)col).getCurrentOrder() == col.getDefaultOrder(); } protected void save() { DataLineModel dlm = (DataLineModel)table.getModel(); for(int i = 0; i < dlm.getColumnCount(); i++) { LimeTableColumn ltc = dlm.getTableColumn(i); super.setVisibility(ltc, getVisibility(ltc)); super.setOrder(ltc, getOrder(ltc)); super.setWidth(ltc, getWidth(ltc)); } super.save(); } }