/* * */ package ext.egantt.actions.table; import ext.egantt.actions.DrawingTool; import ext.egantt.swing.GanttTable; import java.awt.Graphics; import java.awt.event.*; import javax.swing.AbstractAction; import javax.swing.JTable; // Referenced classes of package ext.egantt.actions.table: // AbstractDrawingAction public class ClickDrawingToolAdapter implements DrawingTool { protected class LocalMouseListener extends MouseAdapter { public void mouseClicked(MouseEvent e) { if(!(e.getComponent() instanceof JTable)) return; if(action instanceof AbstractDrawingAction) ((AbstractDrawingAction)action).actionPerformed((JTable)e.getComponent(), e.getPoint(), new ActionEvent(e.getSource(), 1001, actionCommand)); else action.actionPerformed(new ActionEvent(e.getSource(), 1001, actionCommand)); } final ClickDrawingToolAdapter this$0; protected LocalMouseListener() { this$0 = ClickDrawingToolAdapter.this; } } public ClickDrawingToolAdapter(AbstractAction action) { this(action, ext.egantt.actions.table.ClickDrawingToolAdapter.class.getName()); } public ClickDrawingToolAdapter(AbstractAction action, String actionCommand) { listener = new LocalMouseListener(); this.action = action; this.actionCommand = actionCommand; } public void intialize(GanttTable table) { if(this.table != null) terminate(); if(action != null) { this.table = table; table.addMouseListener(listener); } } public void terminate() { if(action != null) table.removeMouseListener(listener); table = null; } public void paintComponent(Graphics g1) { } protected final AbstractAction action; protected final String actionCommand; protected transient GanttTable table; protected LocalMouseListener listener; }