Package org.eclipse.draw2d

# Class ButtonModel

java.lang.Object
org.eclipse.draw2d.ButtonModel

Direct Known Subclasses:
  `ToggleModel`

public class ButtonModel extends Object
A model for buttons containing several properties, including enabled, pressed, selected, rollover enabled and mouseover.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`actionName`
The name of the action associated with this button.
`protected static final int`
`ARMED_FLAG`
Flag for armed button state
`static final String`
`ARMED_PROPERTY`
Armed property
`static final int`
`DEFAULT_FIRING_BEHAVIOR`
Action performed events are not fired until the mouse button is released.
`protected static final int`
`ENABLED_FLAG`
Flag for enablement button state
`static final String`
`ENABLED_PROPERTY`
Enabled property
`protected org.eclipse.draw2d.ButtonStateTransitionListener`
`firingBehavior`
Listens to button state transitions and fires action performed events based on the desired behavior (`DEFAULT_FIRING_BEHAVIOR` or `REPEAT_FIRING_BEHAVIOR`).
`protected ButtonGroup`
`group`
The ButtonGroup this button belongs to (if any).
`protected static final int`
`MAX_FLAG`
Flag that can be used by subclasses to define more states
`protected static final int`
`MOUSEOVER_FLAG`
Flag for mouseOver state
`static final String`
`MOUSEOVER_PROPERTY`
Mouseover property
`protected static final int`
`PRESSED_FLAG`
Flag for pressed button state
`static final String`
`PRESSED_PROPERTY`
Pressed property
`static final int`
`REPEAT_FIRING_BEHAVIOR`
Action performed events fire repeatedly until the mouse button is released.
`protected static final int`
`ROLLOVER_ENABLED_FLAG`
Flag for rollover enablement button state
`static final String`
`ROLLOVER_ENABLED_PROPERTY`
Rollover Enabled property
`protected static final int`
`SELECTED_FLAG`
Flag for selected button state
`static final String`
`SELECTED_PROPERTY`
Selected property

## Constructor Summary

Constructors
Constructor
Description
`ButtonModel()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addActionListener(ActionListener listener)`
Registers the given listener as an ActionListener.
`void`
`addChangeListener(ChangeListener listener)`
Registers the given listener as a ChangeListener.
`void`
`addStateTransitionListener(org.eclipse.draw2d.ButtonStateTransitionListener listener)`
Registers the given listener as a ButtonStateTransitionListener.
`protected void`
`fireActionPerformed()`
Notifies any ActionListeners on this ButtonModel that an action has been performed.
`protected void`
`fireCanceled()`
Notifies any listening ButtonStateTransitionListener that the pressed state of this button has been cancelled.
`protected void`
`firePressed()`
Notifies any listening ButtonStateTransitionListener that this button has been pressed.
`protected void`
`fireReleased()`
Notifies any listening ButtonStateTransitionListener that this button has been released.
`protected void`
`fireResume()`
Notifies any listening ButtonStateTransitionListeners that this button has resumed activity.
`protected void`
`fireStateChanged(String property)`
Notifies any listening ChangeListeners that this button's state has changed.
`protected void`
`fireSuspend()`
Notifies any listening ButtonStateTransitionListeners that this button has suspended activity.
`ButtonGroup`
`getGroup()`
Returns the group to which this model belongs.
`Object`
`getUserData()`
Returns an object representing user data.
`protected void`
`installFiringBehavior()`
Sets the firing behavior for this button.
`boolean`
`isArmed()`
Returns `true` if this button is armed.
`boolean`
`isEnabled()`
Returns `true` if this button is enabled.
`boolean`
`isMouseOver()`
Returns `true` if the mouse is over this button.
`boolean`
`isPressed()`
Returns `true` if this button is pressed.
`boolean`
`isSelected()`
Returns the selection state of this model.
`void`
`removeActionListener(ActionListener listener)`
Removes the given ActionListener.
`void`
`removeChangeListener(ChangeListener listener)`
Removes the given ChangeListener.
`void`
`removeStateTransitionListener(org.eclipse.draw2d.ButtonStateTransitionListener listener)`
Removes the given ButtonStateTransitionListener.
`void`
`setArmed(boolean value)`
Sets this button to be armed.
`void`
`setEnabled(boolean value)`
Sets this button to be enabled.
`void`
`setFiringBehavior(int type)`
Sets the firing behavior for this button.
`void`
`setGroup(ButtonGroup bg)`
Sets the ButtonGroup to which this model belongs to.
`void`
`setMouseOver(boolean value)`
Sets the mouseover property of this button.
`void`
`setPressed(boolean value)`
Sets the pressed property of this button.
`void`
`setSelected(boolean value)`
Sets this button to be selected.
`void`
`setUserData(Object data)`
Sets user data.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### ENABLED_PROPERTY

public static final String ENABLED_PROPERTY
Enabled property

See Also:
  - Constant Field Values

### PRESSED_PROPERTY

public static final String PRESSED_PROPERTY
Pressed property

See Also:
  - Constant Field Values

### SELECTED_PROPERTY

public static final String SELECTED_PROPERTY
Selected property

See Also:
  - Constant Field Values

### ROLLOVER_ENABLED_PROPERTY

public static final String ROLLOVER_ENABLED_PROPERTY
Rollover Enabled property

See Also:
  - Constant Field Values

### MOUSEOVER_PROPERTY

public static final String MOUSEOVER_PROPERTY
Mouseover property

See Also:
  - Constant Field Values

### ARMED_PROPERTY

public static final String ARMED_PROPERTY
Armed property

See Also:
  - Constant Field Values

### ARMED_FLAG

protected static final int ARMED_FLAG
Flag for armed button state

See Also:
  - Constant Field Values

### PRESSED_FLAG

protected static final int PRESSED_FLAG
Flag for pressed button state

See Also:
  - Constant Field Values

### MOUSEOVER_FLAG

protected static final int MOUSEOVER_FLAG
Flag for mouseOver state

See Also:
  - Constant Field Values

### SELECTED_FLAG

protected static final int SELECTED_FLAG
Flag for selected button state

See Also:
  - Constant Field Values

### ENABLED_FLAG

protected static final int ENABLED_FLAG
Flag for enablement button state

See Also:
  - Constant Field Values

### ROLLOVER_ENABLED_FLAG

protected static final int ROLLOVER_ENABLED_FLAG
Flag for rollover enablement button state

See Also:
  - Constant Field Values

### MAX_FLAG

protected static final int MAX_FLAG
Flag that can be used by subclasses to define more states

See Also:
  - Constant Field Values

### DEFAULT_FIRING_BEHAVIOR

public static final int DEFAULT_FIRING_BEHAVIOR
Action performed events are not fired until the mouse button is released.

See Also:
  - Constant Field Values

### REPEAT_FIRING_BEHAVIOR

public static final int REPEAT_FIRING_BEHAVIOR
Action performed events fire repeatedly until the mouse button is released.

See Also:
  - Constant Field Values

### actionName

protected String actionName
The name of the action associated with this button.

### group

protected ButtonGroup group
The ButtonGroup this button belongs to (if any).

### firingBehavior

protected org.eclipse.draw2d.ButtonStateTransitionListener firingBehavior
Listens to button state transitions and fires action performed events based on the desired behavior (`DEFAULT_FIRING_BEHAVIOR` or `REPEAT_FIRING_BEHAVIOR`).

## Constructor Details

### ButtonModel

public ButtonModel()

## Method Details

### addActionListener

public void addActionListener(ActionListener listener)
Registers the given listener as an ActionListener.

Parameters:
  `listener` - The ActionListener to add
Since:
  2.0

### addChangeListener

public void addChangeListener(ChangeListener listener)
Registers the given listener as a ChangeListener.

Parameters:
  `listener` - The ChangeListener to add
Since:
  2.0

### addStateTransitionListener

public void addStateTransitionListener(org.eclipse.draw2d.ButtonStateTransitionListener listener)
Registers the given listener as a ButtonStateTransitionListener.

Parameters:
  `listener` - The ButtonStateTransitionListener to add
Since:
  2.0

### fireActionPerformed

protected void fireActionPerformed()
Notifies any ActionListeners on this ButtonModel that an action has been performed.

Since:
  2.0

### fireCanceled

protected void fireCanceled()
Notifies any listening ButtonStateTransitionListener that the pressed state of this button has been cancelled.

Since:
  2.0

### firePressed

protected void firePressed()
Notifies any listening ButtonStateTransitionListener that this button has been pressed.

Since:
  2.0

### fireReleased

protected void fireReleased()
Notifies any listening ButtonStateTransitionListener that this button has been released.

Since:
  2.0

### fireResume

protected void fireResume()
Notifies any listening ButtonStateTransitionListeners that this button has resumed activity.

Since:
  2.0

### fireStateChanged

protected void fireStateChanged(String property)
Notifies any listening ChangeListeners that this button's state has changed.

Parameters:
  `property` - The name of the property that changed
Since:
  2.0

### fireSuspend

protected void fireSuspend()
Notifies any listening ButtonStateTransitionListeners that this button has suspended activity.

Since:
  2.0

### getGroup

public ButtonGroup getGroup()
Returns the group to which this model belongs.

Returns:
  The ButtonGroup to which this model belongs
Since:
  2.0

### getUserData

public Object getUserData()
Returns an object representing user data.

Returns:
  User data
Since:
  2.0

### installFiringBehavior

protected void installFiringBehavior()
Sets the firing behavior for this button.

Since:
  2.0

### isArmed

public boolean isArmed()
Returns `true` if this button is armed. If a button is armed, it will fire an ActionPerformed when released.

Returns:
  `true` if this button is armed
Since:
  2.0

### isEnabled

public boolean isEnabled()
Returns `true` if this button is enabled.

Returns:
  `true` if this button is enabled
Since:
  2.0

### isMouseOver

public boolean isMouseOver()
Returns `true` if the mouse is over this button.

Returns:
  `true` if the mouse is over this button
Since:
  2.0

### isPressed

public boolean isPressed()
Returns `true` if this button is pressed.

Returns:
  `true` if this button is pressed
Since:
  2.0

### isSelected

public boolean isSelected()
Returns the selection state of this model. If this model belongs to any group, the group is queried for selection state, else the flags are used.

Returns:
  `true` if this button is selected
Since:
  2.0

### removeActionListener

public void removeActionListener(ActionListener listener)
Removes the given ActionListener.

Parameters:
  `listener` - The ActionListener to remove
Since:
  2.0

### removeChangeListener

public void removeChangeListener(ChangeListener listener)
Removes the given ChangeListener.

Parameters:
  `listener` - The ChangeListener to remove
Since:
  2.0

### removeStateTransitionListener

public void removeStateTransitionListener(org.eclipse.draw2d.ButtonStateTransitionListener listener)
Removes the given ButtonStateTransitionListener.

Parameters:
  `listener` - The ButtonStateTransitionListener to remove
Since:
  2.0

### setArmed

public void setArmed(boolean value)
Sets this button to be armed. If a button is armed, it will fire an ActionPerformed when released.

Parameters:
  `value` - The armed state
Since:
  2.0

### setEnabled

public void setEnabled(boolean value)
Sets this button to be enabled.

Parameters:
  `value` - The enabled state
Since:
  2.0

### setFiringBehavior

public void setFiringBehavior(int type)
Sets the firing behavior for this button. `DEFAULT_FIRING_BEHAVIOR` is the default behavior, where action performed events are not fired until the mouse button is released. `REPEAT_FIRING_BEHAVIOR` causes action performed events to fire repeatedly until the mouse button is released.

Parameters:
  `type` - The firing behavior type
Since:
  2.0

### setGroup

public void setGroup(ButtonGroup bg)
Sets the ButtonGroup to which this model belongs to. Adds this model as a listener to the group.

Parameters:
  `bg` - The group to which this model belongs.
Since:
  2.0

### setMouseOver

public void setMouseOver(boolean value)
Sets the mouseover property of this button.

Parameters:
  `value` - The value the mouseover property will be set to
Since:
  2.0

### setPressed

public void setPressed(boolean value)
Sets the pressed property of this button.

Parameters:
  `value` - The value the pressed property will be set to
Since:
  2.0

### setSelected

public void setSelected(boolean value)
Sets this button to be selected.

Parameters:
  `value` - The value the selected property will be set to
Since:
  2.0

### setUserData

public void setUserData(Object data)
Sets user data.

Parameters:
  `data` - The user data
Since:
  2.0