Class ActionCardCoupler

java.lang.Object
com.globalmentor.beans.BoundPropertyObject
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable

public class ActionCardCoupler extends AbstractCardCoupler
Associates an action control with a card in a card control. When the action is initiated, the first displayed and enabled specified card within the card control will be selected. When any of the the associated cards are selected, if the action implements Selectable the action will be selected. If the card's constraints implement Displayable, the action will be displayed based upon the card constraints' displayed status. If the card's constraints implement Enableable, the action will be enabled based upon the card constraints' enabled status. If a card's constraints implement TaskCardConstraints and the action implements ActionValueControl and represents a TaskState value, the action's contained value will reflect any changes in the card constraints task state. If the action implements SelectActionControl its auto-select status will be turned off when installed. This coupler is only functional when the given card is contained within a CardControl.
Author:
Garret Wilson
  • Field Details

    • ACTION_PROPERTY

      public static final String ACTION_PROPERTY
      The bound property of the action.
  • Constructor Details

    • ActionCardCoupler

      public ActionCardCoupler()
      Default constructor.
    • ActionCardCoupler

      public ActionCardCoupler(ActionControl actionControl, Component... cards)
      Action and cards constructor.
      Parameters:
      actionControl - The new action to connect to the card, or null if the action should not be coupled with a card.
      cards - The new cards to connect, if any.
  • Method Details

    • getAction

      public ActionControl getAction()
      Returns:
      The action to connect to the card, or null if the action is not coupled with a card.
    • setAction

      public void setAction(ActionControl newAction)
      Sets the connected action. This is a bound property.
      Parameters:
      newAction - The new action to connect to the card, or null if the action should not be coupled with a card.
      See Also:
    • updateDisplayed

      protected void updateDisplayed(boolean displayed)
      Updates the current displayed status. This implementation does nothing.

      This implementation updates the action's displayed status. If no action is connected, no action occurs.

      Overrides:
      updateDisplayed in class AbstractCardCoupler
      Parameters:
      displayed - The new displayed status.
    • updateEnabled

      protected void updateEnabled(boolean enabled)
      Updates the current enabled status. This implementation does nothing.

      This implementation updates the action's enabled status. If no action is connected, no action occurs.

      Overrides:
      updateEnabled in class AbstractCardCoupler
      Parameters:
      enabled - The new enabled status.
    • updateTaskState

      protected void updateTaskState(com.globalmentor.model.TaskState taskState)
      Description copied from class: AbstractCardCoupler
      Updates the current task state. This implementation does nothing.
      Overrides:
      updateTaskState in class AbstractCardCoupler
      Parameters:
      taskState - The new task state, or null if there is no task state.
    • updateSelected

      protected void updateSelected(boolean selected)
      Description copied from class: AbstractCardCoupler
      Updates the current selected status. This implementation does nothing.
      Overrides:
      updateSelected in class AbstractCardCoupler
      Parameters:
      selected - The new selected status.