bibliothek.gui.dock.action.actions
Class SimpleSelectableAction

java.lang.Object
  extended by bibliothek.gui.dock.action.actions.AbstractStandardDockAction
      extended by bibliothek.gui.dock.action.actions.SimpleDockAction
          extended by bibliothek.gui.dock.action.actions.SimpleDropDownItemAction
              extended by bibliothek.gui.dock.action.actions.SimpleSelectableAction
All Implemented Interfaces:
DockAction, DropDownItemAction, SelectableDockAction, StandardDockAction, StandardDropDownItemAction
Direct Known Subclasses:
SimpleSelectableAction.Check, SimpleSelectableAction.Radio

public abstract class SimpleSelectableAction
extends SimpleDropDownItemAction
implements SelectableDockAction

A DockAction that has a state selected. That state has always the same value for every Dockable using this action.

Author:
Benjamin Sigg

Nested Class Summary
static class SimpleSelectableAction.Check
          A SimpleSelectableAction that is visualized as a ActionType.CHECK.
static class SimpleSelectableAction.Radio
          A SimpleSelectableAction that is visualized as a ActionType.RADIO.
 
Constructor Summary
SimpleSelectableAction(ActionType<SelectableDockAction> type)
          Creates a new action.
 
Method Summary
 void addSelectableListener(SelectableDockActionListener listener)
          Adds a listener to this action.
<V> V
createView(ViewTarget<V> target, ActionViewConverter converter, Dockable dockable)
          Creates a view for this action, for the platform target and with help of converter.
protected  void fireSelectedChanged()
          Fires an event to all observers of type SelectableDockActionListener.
protected  javax.swing.Icon firstNonNull(javax.swing.Icon... icons)
          Gets the first element of icons that is not null.
 javax.swing.Icon getDisabledIcon(Dockable dockable)
          Gets the Icon of this DockAction, when this DockAction is shown together with dockable and is not enabled.
 javax.swing.Icon getDisabledSelectedIcon()
          Gets the icon that is shown, when this action is selected but not enabled.
 javax.swing.Icon getIcon(Dockable dockable)
          Gets the Icon of this DockAction, when this DockAction is shown together with dockable.
 javax.swing.Icon getSelectedIcon()
          Gets the icon that is shown when this action is selected.
 boolean isSelected()
          Gets the selected-state of this action.
 boolean isSelected(Dockable dockable)
          Tells whether this DockAction is selected or not (in respect to the given dockable).
 void removeSelectableListener(SelectableDockActionListener listener)
          Removes a listener from this action.
 void setDisabledSelectedIcon(javax.swing.Icon disabledSelectedIcon)
          Sets the icon that will be shown when this action is selected but not enabled.
 void setSelected(boolean selected)
          Sets the state of this action.
 void setSelected(Dockable dockable, boolean selected)
          Sets the selected state for dockable.
 void setSelectedIcon(javax.swing.Icon selectedIcon)
          Sets the icon that will be shown, when this action is selected.
 
Methods inherited from class bibliothek.gui.dock.action.actions.SimpleDropDownItemAction
isDropDownSelectable, isDropDownSelectable, isDropDownTriggerable, isDropDownTriggerableNotSelected, isDropDownTriggerableSelected, setDropDownSelectable, setDropDownTriggerableNotSelected, setDropDownTriggerableSelected
 
Methods inherited from class bibliothek.gui.dock.action.actions.SimpleDockAction
bound, getAccelerator, getDisabledIcon, getDockableRepresentation, getDockableRepresentation, getIcon, getText, getText, getTooltip, getTooltipText, getTooltipText, isEnabled, isEnabled, setAccelerator, setDisabledIcon, setDockableRepresentation, setEnabled, setIcon, setText, setTooltip, trigger, unbound
 
Methods inherited from class bibliothek.gui.dock.action.actions.AbstractStandardDockAction
addDockActionListener, bind, fireActionDisabledIconChanged, fireActionEnabledChanged, fireActionIconChanged, fireActionRepresentativeChanged, fireActionTextChanged, fireActionTooltipTextChanged, getBoundDockables, isBound, removeDockActionListener, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bibliothek.gui.dock.action.dropdown.DropDownItemAction
isDropDownSelectable, isDropDownTriggerable
 

Constructor Detail

SimpleSelectableAction

public SimpleSelectableAction(ActionType<SelectableDockAction> type)
Creates a new action.

Parameters:
type - how this action is to be visualized
Method Detail

createView

public <V> V createView(ViewTarget<V> target,
                        ActionViewConverter converter,
                        Dockable dockable)
Description copied from interface: DockAction
Creates a view for this action, for the platform target and with help of converter. Clients might use their own code to create a new view, but the preferred way is to call ActionViewConverter.createView(ActionType, DockAction, ViewTarget, Dockable) with an ActionType that fits to this DockAction.

Specified by:
createView in interface DockAction
Type Parameters:
V - the type of view requested
Parameters:
target - The platform on which the view will be used
converter - A set of methods that can be used to create a view
dockable - The Dockable for which the view will be shown. Note that this action may not yet be bound to this action.
Returns:
a new view

addSelectableListener

public void addSelectableListener(SelectableDockActionListener listener)
Description copied from interface: SelectableDockAction
Adds a listener to this action. The listener will be invoked whenever the selected state of a Dockable changes.

Specified by:
addSelectableListener in interface SelectableDockAction
Parameters:
listener - the new listener

removeSelectableListener

public void removeSelectableListener(SelectableDockActionListener listener)
Description copied from interface: SelectableDockAction
Removes a listener from this action.

Specified by:
removeSelectableListener in interface SelectableDockAction
Parameters:
listener - the listener to remove

fireSelectedChanged

protected void fireSelectedChanged()
Fires an event to all observers of type SelectableDockActionListener.


isSelected

public boolean isSelected(Dockable dockable)
Description copied from interface: SelectableDockAction
Tells whether this DockAction is selected or not (in respect to the given dockable).

Specified by:
isSelected in interface SelectableDockAction
Parameters:
dockable - The Dockable for which this action may be selected or not selected
Returns:
true if this DockAction is selcted, false otherwise

setSelected

public void setSelected(Dockable dockable,
                        boolean selected)
Description copied from interface: SelectableDockAction
Sets the selected state for dockable.

Specified by:
setSelected in interface SelectableDockAction
Parameters:
dockable - the affected dockable
selected - the new state

isSelected

public boolean isSelected()
Gets the selected-state of this action.

Returns:
The current state
See Also:
setSelected(boolean)

setSelected

public void setSelected(boolean selected)
Sets the state of this action. The action will notify all listeners about the new state.

Parameters:
selected - the new state

getIcon

public javax.swing.Icon getIcon(Dockable dockable)
Description copied from interface: StandardDockAction
Gets the Icon of this DockAction, when this DockAction is shown together with dockable.

Specified by:
getIcon in interface StandardDockAction
Overrides:
getIcon in class SimpleDockAction
Parameters:
dockable - The Dockable for which the action-icon should be chosen.
Returns:
The icon to show for this action when the action is associated with dockable, or null.

firstNonNull

protected javax.swing.Icon firstNonNull(javax.swing.Icon... icons)
Gets the first element of icons that is not null.

Parameters:
icons - a list of icons
Returns:
the first non-null icon

getSelectedIcon

public javax.swing.Icon getSelectedIcon()
Gets the icon that is shown when this action is selected.

Returns:
The selected-icon, may be null
See Also:
setSelectedIcon(Icon), isSelected()

setSelectedIcon

public void setSelectedIcon(javax.swing.Icon selectedIcon)
Sets the icon that will be shown, when this action is selected.

Parameters:
selectedIcon - The icon, can be null
See Also:
setSelected(boolean)

getDisabledSelectedIcon

public javax.swing.Icon getDisabledSelectedIcon()
Gets the icon that is shown, when this action is selected but not enabled.

Returns:
The icon, may be null
See Also:
setDisabledSelectedIcon(Icon), SimpleDockAction.isEnabled(), isSelected()

getDisabledIcon

public javax.swing.Icon getDisabledIcon(Dockable dockable)
Description copied from interface: StandardDockAction
Gets the Icon of this DockAction, when this DockAction is shown together with dockable and is not enabled.

Specified by:
getDisabledIcon in interface StandardDockAction
Overrides:
getDisabledIcon in class SimpleDockAction
Parameters:
dockable - The Dockable for which the action-icon should be chosen.
Returns:
The icon to show for this action when the action is associated with dockable, or null.

setDisabledSelectedIcon

public void setDisabledSelectedIcon(javax.swing.Icon disabledSelectedIcon)
Sets the icon that will be shown when this action is selected but not enabled.

Parameters:
disabledSelectedIcon - The icon, null is allowed
See Also:
setSelected(boolean), SimpleDockAction.setEnabled(boolean)