ca.sqlpower.architect.swingui.olap.action
Class CreateUsageAction<P1 extends OLAPPane<?,?>,P2 extends OLAPPane<?,?>>

java.lang.Object
  extended by javax.swing.AbstractAction
      extended by ca.sqlpower.architect.swingui.action.AbstractArchitectAction
          extended by ca.sqlpower.architect.swingui.olap.action.CreateUsageAction<P1,P2>
All Implemented Interfaces:
SelectionListener, PlayPen.CancelableListener, java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action
Direct Known Subclasses:
CreateCubeUsageAction, CreateDimensionUsageAction

public abstract class CreateUsageAction<P1 extends OLAPPane<?,?>,P2 extends OLAPPane<?,?>>
extends AbstractArchitectAction
implements java.awt.event.ActionListener, SelectionListener, PlayPen.CancelableListener

Abstract action that makes it easy to implement new *usage-creating actions.

See Also:
Serialized Form

Field Summary
protected  boolean active
          Controls the state of the usage creation process
 
Fields inherited from class ca.sqlpower.architect.swingui.action.AbstractArchitectAction
frame, playpen, session
 
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
CreateUsageAction(ArchitectSwingSession session, PlayPen pp, java.lang.Class<P1> pane1Class, java.lang.Class<P2> pane2Class, java.lang.String name, javax.swing.Icon icon)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void cancel()
           
protected abstract  void createUsage(P1 pane1, P2 pane2)
          Creates the usage this action is supposed to create, and attaches it to the appropriate place(s) in the business model as well as adding it and attaching it to the playpen.
 void itemDeselected(SelectionEvent e)
          Called whenever an item is deselected.
 void itemSelected(SelectionEvent e)
          Called whenever an item is selected.
 
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

active

protected boolean active
Controls the state of the usage creation process

Constructor Detail

CreateUsageAction

public CreateUsageAction(ArchitectSwingSession session,
                         PlayPen pp,
                         java.lang.Class<P1> pane1Class,
                         java.lang.Class<P2> pane2Class,
                         java.lang.String name,
                         javax.swing.Icon icon)
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

itemDeselected

public void itemDeselected(SelectionEvent e)
Description copied from interface: SelectionListener
Called whenever an item is deselected. The deselected item is the event's source.

Specified by:
itemDeselected in interface SelectionListener

itemSelected

public void itemSelected(SelectionEvent e)
Description copied from interface: SelectionListener
Called whenever an item is selected. The selected item is the event's source.

Specified by:
itemSelected in interface SelectionListener

createUsage

protected abstract void createUsage(P1 pane1,
                                    P2 pane2)
Creates the usage this action is supposed to create, and attaches it to the appropriate place(s) in the business model as well as adding it and attaching it to the playpen.

Parameters:
pane1 - The pane of type P1 that the user clicked
pane2 - The pane of type P2 that the user clicked

cancel

public void cancel()
Specified by:
cancel in interface PlayPen.CancelableListener


Copyright © 2003-2007 SQL Power Group Inc. www.sqlpower.ca