Class ButtonGroup

java.lang.Object
org.eclipse.draw2d.ButtonGroup

public class ButtonGroup extends Object
A ButtonGroup holds a group of Clickable's models and provides unique selection in them. There is capability to add a default selection. Models who want to belong to the group should just add themselves to this group. By doing so they listen to this group for changes.

Setting of the default selection results in its being selected any time setSelected(ButtonModel, boolean) is called. If no default selection is set, the last entry selected is not allowed to deselect.

  • Constructor Details

    • ButtonGroup

      public ButtonGroup()
      Constructs a ButtonGroup with no default selection.
      Since:
      2.0
  • Method Details

    • add

      public void add(ButtonModel model)
      Adds the passed ButtonModel to the ButtonGroup.
      Parameters:
      model - ButtonModel to be added to this group
      Since:
      2.0
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      Adds the passed listener. ButtonGroups use PropertyChangeListeners to react to selection changes in the ButtonGroup.
      Parameters:
      listener - Listener to be added to this group
      Since:
      2.0
    • firePropertyChange

      protected void firePropertyChange(Object oldValue, Object newValue)
      Fires a PropertyChangeEvent to all PropertyChangeListeners added to this ButtonGroup.
      Parameters:
      oldValue - Old selection value
      newValue - New selection value
      Since:
      2.0
    • getDefault

      public ButtonModel getDefault()
      Returns the ButtonModel which is selected by default for this ButtonGroup.
      Returns:
      The default ButtonModel
      Since:
      2.0
    • getElements

      public List<ButtonModel> getElements()
      Returns a List which contains all of the ButtonModels added to this ButtonGroup.
      Returns:
      The List of ButtonModels in this ButtonGroup
      Since:
      2.0
    • getSelected

      public ButtonModel getSelected()
      Returns the ButtonModel for the currently selected button.
      Returns:
      The ButtonModel for the currently selected button
      Since:
      2.0
    • isSelected

      public boolean isSelected(ButtonModel model)
      Determines if the given ButtonModel is selected or not.
      Parameters:
      model - Model being tested for selected status
      Returns:
      Selection state of the given model
      Since:
      2.0
    • remove

      public void remove(ButtonModel model)
      Removes the given ButtonModel from this ButtonGroup.
      Parameters:
      model - ButtonModel being removed
      Since:
      2.0
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Removes the passed PropertyChangeListener from this ButtonGroup.
      Parameters:
      listener - PropertyChangeListener to be removed
      Since:
      2.0
    • selectNewModel

      protected void selectNewModel(ButtonModel model)
      Sets the passed ButtonModel to be the currently selected ButtonModel of this ButtonGroup. Fires a property change.
      Parameters:
      model - ButtonModel to be selected
      Since:
      2.0
    • setDefault

      public void setDefault(ButtonModel model)
      Sets the default selection of this ButtonGroup. Does nothing if it is not present in the group. Sets selection to the passed ButtonModel.
      Parameters:
      model - ButtonModel which is to be the default selection.
      Since:
      2.0
    • setSelected

      public void setSelected(ButtonModel model)
      Sets the button with the given ButtonModel to be selected.
      Parameters:
      model - The ButtonModel to be selected
      Since:
      2.0
    • setSelected

      public void setSelected(ButtonModel model, boolean value)
      Sets model to the passed state.

      If value is

      • true:
        • The passed ButtonModel will own selection.
      • false:
        • If the passed model owns selection, it will lose selection, and selection will be given to the default ButonModel. If no default ButtonModel was set, selection will remain as it was, as one ButtonModel must own selection at all times.
        • If the passed model does not own selection, then selection will remain as it was.
      Parameters:
      model - The model to be affected
      value - The selected state
      Since:
      2.0