com.ibm.commons.swt.data.controls
Class DCCommandButton

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Button
              extended by com.ibm.commons.swt.controls.custom.CustomButton
                  extended by com.ibm.commons.swt.data.controls.DCCommandButton
All Implemented Interfaces:
ICustomControl, IDataControl, IDataFieldControl, org.eclipse.swt.graphics.Drawable

public class DCCommandButton
extends CustomButton
implements IDataFieldControl

Button that triggers an action. The action will typically update the model associated with the button.


Nested Class Summary
static interface DCCommandButton.Factory
           
 
Field Summary
static int ACTION_ADD
           
static int ACTION_DELETE
           
static int ACTION_DELETEALL
           
static int ACTION_FIRST
           
static int ACTION_INSERT
           
static int ACTION_LAST
           
static int ACTION_NEXT
           
static int ACTION_NULL
           
static int ACTION_PREV
           
static int ACTION_VALIDCURRRENT
           
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
DCCommandButton(org.eclipse.swt.widgets.Composite parent, int style)
          Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control.
DCCommandButton(org.eclipse.swt.widgets.Composite parent, int style, java.lang.String id)
          Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control, and an id property that can be used to programatically identify the control.
 
Method Summary
 boolean executeAction()
          Executes the action associated with the button.
 int getActionType()
          Returns the type of action executed by this button, can be one of the following: DCCommandButton.ACTION_NULL DCCommandButton.ACTION_ADD DCCommandButton.ACTION_INSERT DCCommandButton.ACTION_DELETE DCCommandButton.ACTION_FIRST DCCommandButton.ACTION_PREV DCCommandButton.ACTION_NEXT DCCommandButton.ACTION_LAST DCCommandButton.ACTION_DELETEALL DCCommandButton.ACTION_VALIDCURRRENT
 java.lang.String getAttributeName()
          Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Returns the name of the attribute that the control is associated with, may be null.
 org.eclipse.swt.widgets.Control getControl()
          Returns the control which is bound to the Data, in this case the DCCommandButton control
 DataNode getDataNode()
          Returns the DataNode associated with this control.
 DataNode.Factory getFactory()
          Returns the DataNode.Factory that is associated with this button.
 boolean isCustomActionHandler()
          Returns whether or not this button's action is to be handled outside of the built in action types.
 void setActionType(int actionType)
          Sets the type of action executed by this button, can be one of the following: DCCommandButton.ACTION_NULL DCCommandButton.ACTION_ADD DCCommandButton.ACTION_INSERT DCCommandButton.ACTION_DELETE DCCommandButton.ACTION_FIRST DCCommandButton.ACTION_PREV DCCommandButton.ACTION_NEXT DCCommandButton.ACTION_LAST DCCommandButton.ACTION_DELETEALL DCCommandButton.ACTION_VALIDCURRRENT
 void setAttributeName(java.lang.String attributeName)
          Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Sets the name of the attribute that the control is associated with.
 void setCustomActionHandler(boolean customActionHandler)
          Sets whether or not the implementor would like to provide custom action handling when the button is pressed.
 void setDataNode(DataNode dataNode)
          Sets the DataNode associated with this control.
 void setDataNodeBinding(DataNodeBinding dataNodeBinding)
           
 void setFactory(DataNode.Factory factory)
          Sets the DataNode.Factory that is used in conjunction with the action associated with this button.
 void updateControl()
          Updates the button so that its enabled state can be determined.
 
Methods inherited from class com.ibm.commons.swt.controls.custom.CustomButton
checkSubclass, getId, setId
 
Methods inherited from class org.eclipse.swt.widgets.Button
addSelectionListener, computeSize, getAlignment, getGrayed, getImage, getSelection, getText, removeSelectionListener, setAlignment, setGrayed, setImage, setSelection, setText
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getRegion, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFocus, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ACTION_NULL

public static final int ACTION_NULL
See Also:
Constant Field Values

ACTION_ADD

public static final int ACTION_ADD
See Also:
Constant Field Values

ACTION_INSERT

public static final int ACTION_INSERT
See Also:
Constant Field Values

ACTION_DELETE

public static final int ACTION_DELETE
See Also:
Constant Field Values

ACTION_FIRST

public static final int ACTION_FIRST
See Also:
Constant Field Values

ACTION_PREV

public static final int ACTION_PREV
See Also:
Constant Field Values

ACTION_NEXT

public static final int ACTION_NEXT
See Also:
Constant Field Values

ACTION_LAST

public static final int ACTION_LAST
See Also:
Constant Field Values

ACTION_DELETEALL

public static final int ACTION_DELETEALL
See Also:
Constant Field Values

ACTION_VALIDCURRRENT

public static final int ACTION_VALIDCURRRENT
See Also:
Constant Field Values
Constructor Detail

DCCommandButton

public DCCommandButton(org.eclipse.swt.widgets.Composite parent,
                       int style)
Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. Style bits are also inherited from superclasses.

Parameters:
parent - a Composite control which will be the parent of the new instance (CANNOT be null).
style - the style of control to construct

DCCommandButton

public DCCommandButton(org.eclipse.swt.widgets.Composite parent,
                       int style,
                       java.lang.String id)
Constructs a new instance of the class given the parent Composite, the style flags which are used to set the look/behavior of the control, and an id property that can be used to programatically identify the control.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. Style bits are also inherited from superclasses.

Parameters:
parent - a Composite control which will be the parent of the new instance (CANNOT be null).
style - the style of control to construct
id - a String which can be used to programatically identify the control
Method Detail

getControl

public org.eclipse.swt.widgets.Control getControl()
Returns the control which is bound to the Data, in this case the DCCommandButton control

Specified by:
getControl in interface IDataControl
Returns:

getDataNode

public DataNode getDataNode()
Returns the DataNode associated with this control. The DataNode is responsible for providing the model through which the control accesses data.

Returns:
com.ibm.commons.iloader.node.DataNode
See Also:
DataNode

setDataNode

public void setDataNode(DataNode dataNode)
Sets the DataNode associated with this control. The DataNode is responsible for providing the model through which the control accesses data.

See Also:
DataNode

setDataNodeBinding

public void setDataNodeBinding(DataNodeBinding dataNodeBinding)
Parameters:
dataNodeBinding -
See Also:
DataNodeBinding

getAttributeName

public java.lang.String getAttributeName()
Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Returns the name of the attribute that the control is associated with, may be null.

Specified by:
getAttributeName in interface IDataFieldControl
Returns:

setAttributeName

public void setAttributeName(java.lang.String attributeName)
Description copied from com.ibm.commons.swt.data.controls.IDataFieldControl
Sets the name of the attribute that the control is associated with.

Specified by:
setAttributeName in interface IDataFieldControl
Parameters:
attributeName -

getActionType

public int getActionType()
Returns the type of action executed by this button, can be one of the following:

Returns:
int

setActionType

public void setActionType(int actionType)
Sets the type of action executed by this button, can be one of the following:

Parameters:
actionType -

isCustomActionHandler

public boolean isCustomActionHandler()
Returns whether or not this button's action is to be handled outside of the built in action types.

Returns:
boolean

setCustomActionHandler

public void setCustomActionHandler(boolean customActionHandler)
Sets whether or not the implementor would like to provide custom action handling when the button is pressed. If true the implementor must provide their own selection handler to handle what happens when the button is pressed.

Parameters:
customActionHandler - - boolean

getFactory

public DataNode.Factory getFactory()
Returns the DataNode.Factory that is associated with this button.

Returns:

setFactory

public void setFactory(DataNode.Factory factory)
Sets the DataNode.Factory that is used in conjunction with the action associated with this button. If this button is of type DCCommandButton.ACTION_ADD the factory will be responsible for creating new instances of the desired object each time the button is pressed.

Parameters:
factory -
See Also:
DataNode.Factory

updateControl

public void updateControl()
Updates the button so that its enabled state can be determined. For instance if the model is read-only and the button type is DCCommandButton.ACTION_ADD then the button should be disabled as it is not possible to modify the underlying model.


executeAction

public boolean executeAction()
Executes the action associated with the button.

Returns:
boolean Returns true if the operation was successful.