/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
package de.cismet.lookupoptions;
import org.jdom.Element;
import javax.swing.JPanel;
import de.cismet.lookupoptions.options.DefaultOptionsCategory;
import de.cismet.tools.configuration.NoWriteError;
/**
* The base-class for Options Panels.
*
* @author jruiz
* @version $Revision$, $Date$
*/
public abstract class AbstractOptionsPanel extends JPanel implements OptionsPanelController {
//~ Instance fields --------------------------------------------------------
private Class<? extends AbstractOptionsCategory> categoryClass;
private String name;
//~ Constructors -----------------------------------------------------------
/**
* constructor.
*
* @param name DOCUMENT ME!
*/
public AbstractOptionsPanel(final String name) {
this(name, DefaultOptionsCategory.class);
}
/**
* constructor if the category is null, then it is set to CATEGORY_GENERAL.
*
* @param name DOCUMENT ME!
* @param categoryClass DOCUMENT ME!
*/
public AbstractOptionsPanel(final String name, final Class<? extends AbstractOptionsCategory> categoryClass) {
if (name == null) {
this.name = "";
} else {
this.name = name;
}
this.categoryClass = categoryClass;
}
//~ Methods ----------------------------------------------------------------
/**
* DOCUMENT ME!
*
* @return the category of the lookup panel
*/
@Override
public Class<? extends OptionsCategory> getCategoryClass() {
return categoryClass;
}
/**
* DOCUMENT ME!
*
* @return the name of the lookup panel
*/
@Override
public String getName() {
return name;
}
/**
* DOCUMENT ME!
*
* @return Integer.MAX_Value by default
*/
@Override
public int getOrder() {
return Integer.MAX_VALUE;
}
/**
* DOCUMENT ME!
*
* @return no tooltip by default
*/
@Override
public String getTooltip() {
return null;
}
/**
* DOCUMENT ME!
*
* @return no help by default
*/
@Override
public String getHelp() {
return null;
}
/**
* DOCUMENT ME!
*
* @return the panel
*/
@Override
public JPanel getPanel() {
return this;
}
/**
* DOCUMENT ME!
*
* @param o DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
@Override
public int compareTo(final OptionsPanelController o) {
final int orderCompare = new Integer(getOrder()).compareTo(o.getOrder());
if (orderCompare == 0) {
return getName().compareTo(o.getName());
} else {
return orderCompare;
}
}
@Override
public boolean isChanged() {
return false;
}
@Override
public void cancel() {
update();
}
@Override
public void applyChanges() {
}
@Override
public void update() {
}
@Override
public void configure(final Element parent) {
}
@Override
public Element getConfiguration() throws NoWriteError {
return null;
}
@Override
public void masterConfigure(final Element parent) {
}
@Override
public boolean isEnabled() {
return true;
}
}