package nl.tudelft.simulation.introspection.mapping; import java.awt.Component; import javax.swing.AbstractCellEditor; import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.TableCellEditor; import nl.tudelft.simulation.introspection.gui.ExpandButton; import nl.tudelft.simulation.logger.Logger; /** * Implements the pop-up behaviour of the {see nl.tudelft.simulation.introspection.gui.ExpandButton}. *
* (c) copyright 2002-2014 Delft University of Technology.
* BSD-style license. See DSOL License.
* @author Peter Jacobs.
* @author Alexander Verbraeck.
* @author Niels Lang.
* @since 1.5
*/
public class ExpandButtonEditor extends AbstractCellEditor implements TableCellEditor
{
/** */
private static final long serialVersionUID = 20140831L;
/** the value. */
private JComponent component;
/** {@inheritDoc} */
@Override
public Component getTableCellEditorComponent(final JTable table, final Object value, final boolean isSelected,
final int row, final int column)
{
if (value instanceof ExpandButton)
{
((ExpandButton) value).setMyJTable(table);
}
else
{
Logger.warning(this, "getTableCellEditorComponent", "Expected value to be an ExpandButton, but found: "
+ value);
}
return (Component) value;
}
/** {@inheritDoc} */
@Override
public Object getCellEditorValue()
{
return this.component;
}
}