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; } }