package com.limegroup.gnutella.gui.search;
import javax.swing.Icon;
import com.limegroup.gnutella.gui.GUIMediator;
import com.limegroup.gnutella.gui.tables.LimeTableColumn;
import com.limegroup.gnutella.settings.TablesHandler;
/**
* Extends LimeTableColumn to store current width/order/visibility information.
*
* Necessary for SearchColumnPreferenceHandler, to store data in memory instead
* of disk, since multiple tables are active at once.
*/
final class SearchColumn extends LimeTableColumn {
private int _width;
private int _order;
private boolean _visible;
/**
* Creates a new column.
*/
public SearchColumn(int model, final String id,
int width, boolean vis, Class clazz) {
this(model, id, GUIMediator.getStringResource(id),
width, vis, clazz);
}
/**
* Creates a new column.
*/
public SearchColumn(int model, final String id, final Icon icon,
int width, boolean vis, Class clazz) {
this(model, id, GUIMediator.getStringResource(id), icon,
width, vis, clazz);
}
/**
* Creates a new column.
*/
public SearchColumn(int model, final String id, final String name,
int width, boolean vis, Class clazz) {
this(model, id, name, null, width, vis, clazz);
}
/**
* Creates a new column.
*/
public SearchColumn(int model, final String id, final String name,
Icon icon, int width, boolean vis, Class clazz) {
super(model, id, name, icon, width, vis, clazz);
_visible = TablesHandler.getVisibility(id, vis).getValue();
_order = TablesHandler.getOrder(id, model).getValue();
_width = TablesHandler.getWidth(id, width).getValue();
}
void setCurrentWidth(int width) {
_width = width;
}
void setCurrentOrder(int order) {
_order = order;
}
void setCurrentVisibility(boolean visible) {
_visible = visible;
}
int getCurrentWidth() {
return _width;
}
int getCurrentOrder() {
return _order;
}
boolean getCurrentVisibility() {
return _visible;
}
}