public class TLcyToolBar extends ALcyActionBar implements ILcyToolBar
ALcyActionBar
that also implements
ILcyToolBar
. Creates JButton
s,
JToggleButton
to represent the ILcdAction
s or
ILcyActiveSettable
s. Uses default toolbar separators.Uses the short description of the actions or active settables as a tooltip. The small icon is used on the buttons.
Constructor and Description |
---|
TLcyToolBar()
Creates a new
TLcyToolBar , ready to be used. |
TLcyToolBar(ALcyHelpManager aHelpManager)
Creates a new
TLcyToolBar , ready to be used. |
TLcyToolBar(JToolBar aToolBar)
Creates a new
TLcyToolBar , ready to be used. |
TLcyToolBar(JToolBar aToolBar,
ALcyHelpManager aHelpManager)
Creates a new
TLcyToolBar , ready to be used. |
Modifier and Type | Method and Description |
---|---|
protected Component |
createItem(ILcdAction aAction,
TLcyGroupDescriptor aGroupDescriptor,
String[] aMenus,
TLcyGroupDescriptor[] aMenuGroupDescriptors)
Creates a gui widget to represent the given action.
|
protected Component |
createItem(ILcyActiveSettable aActiveSettable,
TLcyGroupDescriptor aGroupDescriptor,
String[] aMenus,
TLcyGroupDescriptor[] aMenuGroupDescriptors,
boolean aDeactivatePossible)
Creates a gui widget to represent the given active settable.
|
protected Container |
createItemContainer(String[] aMenus,
TLcyGroupDescriptor[] aMenuGroupDescriptors)
Creates a new container for the given (sub)menus.
|
Dimension |
getButtonSize()
Returns the button size.
|
protected Component[] |
getChildren(Container aParent)
Returns all children of a given parent, including separators etc.
|
JToolBar |
getComponent()
Returns the visual component representing this action bar, so that it can be
added to the application UI.
|
protected Container |
getItemContainer(String[] aMenus,
TLcyGroupDescriptor[] aMenuGroupDescriptors)
Retrieves the (sub)menu container that contains the actions or active
settables at the given (sub)menus.
|
protected Container |
getParent(Component aComponent)
Returns the parent of a given component.
|
protected void |
insertSeparator(int aIndex,
Container aContainerSFCT)
Inserts a separator at the given index into the given component.
|
protected void |
removeSeparator(int aIndex,
Container aContainerSFCT)
Removes the separator at the given index from the given component.
|
void |
setButtonSize(Dimension aButtonSize)
Sets the button size.
|
addActionBarListener, getActionBarItem, getActionBarItemComparator, getActionBarItemCount, getGroupDescriptorComparator, getHelpManager, getProperties, insertAction, insertAction, insertActiveSettable, insertActiveSettable, insertActiveSettable, insertChildInParent, insertComponent, isAutoHide, removeAction, removeActionBarListener, removeActiveSettable, removeChildFromParent, removeComponent, retrieveDeactivatePossible, retrieveGroupDescriptor, retrieveGroupDescriptor, retrieveHelpIDString, retrieveHelpIDString, retrieveMenuGroupDescriptors, retrieveMenuGroupDescriptors, retrieveMenus, retrieveMenus, setActionBarItemComparator, setAutoHide, setGroupDescriptorComparator, setHelpIDString, setHelpIDString, setHelpManager, setProperties
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
insertComponent, removeComponent
addActionBarListener, getActionBarItem, getActionBarItemCount, insertAction, insertAction, insertActiveSettable, insertActiveSettable, insertActiveSettable, removeAction, removeActionBarListener, removeActiveSettable, retrieveDeactivatePossible, retrieveGroupDescriptor, retrieveGroupDescriptor, retrieveHelpIDString, retrieveHelpIDString, retrieveMenuGroupDescriptors, retrieveMenuGroupDescriptors, retrieveMenus, retrieveMenus, setHelpIDString, setHelpIDString
public TLcyToolBar()
TLcyToolBar
, ready to be used.public TLcyToolBar(JToolBar aToolBar)
TLcyToolBar
, ready to be used.aToolBar
- The Swing tool bar that is used to represent this ILcyToolBar
. All buttons
and components will be added to (a sub-menu of) this tool bar.public TLcyToolBar(ALcyHelpManager aHelpManager)
TLcyToolBar
, ready to be used.aHelpManager
- The help manager.public TLcyToolBar(JToolBar aToolBar, ALcyHelpManager aHelpManager)
TLcyToolBar
, ready to be used.aToolBar
- The Swing tool bar that is used to represent this ILcyToolBar
. All buttons
and components will be added to (a sub-menu of) this tool bar.aHelpManager
- The help manager.public JToolBar getComponent()
ILcyActionBar
Returns the visual component representing this action bar, so that it can be added to the application UI.
Components should not be added to it or removed from it directly using Swing. Use the various insert methods instead.
getComponent
in interface ILcyActionBar
protected Component createItem(ILcdAction aAction, TLcyGroupDescriptor aGroupDescriptor, String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors)
ALcyActionBar
JMenuItem
to represent the given action. A toolbar
could create a JButton
to represent the given action.createItem
in class ALcyActionBar
aAction
- The action to create a gui widget for.aGroupDescriptor
- The group descriptor, for information only.aMenus
- The menus, for information only.aMenuGroupDescriptors
- The menu group descriptors, for information only.protected Component createItem(ILcyActiveSettable aActiveSettable, TLcyGroupDescriptor aGroupDescriptor, String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors, boolean aDeactivatePossible)
ALcyActionBar
JCheckBoxMenuItem
to represent the given
action or a JRadioButtonMenuItem
when
aDeactivatePossible
is false. A toolbar could create a
JToggleButton
to represent the given active settable.createItem
in class ALcyActionBar
aActiveSettable
- The active settable to create a gui widget for.aGroupDescriptor
- The group descriptor, for information only.aMenus
- The menus, for information only.aMenuGroupDescriptors
- The menu group descriptors, for information only.aDeactivatePossible
- True means the active settable can be
deactivated using the created gui widget (e.g. a checkbox), false means it
cannot be deactivated by the created gui widget, probably only by another
widget (e.g. radio button).protected Container getItemContainer(String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors)
ALcyActionBar
getItemContainer
in class ALcyActionBar
aMenus
- The (sub)menus to retrieve the container for. If null or an
empty array, the top level container should be returned.aMenuGroupDescriptors
- The menu group descriptors, just for
information. Could be null, or the length of the array can possibly
mismatch the length of the menus.protected Container createItemContainer(String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors)
ALcyActionBar
An example implemention could look like this:
return new JMenu( aMenus[ aMenus.length - 1 ] )
createItemContainer
in class ALcyActionBar
aMenus
- The (sub)menus to create the menu item container for. Is
never null and length of array is at least 1.aMenuGroupDescriptors
- The menu group descriptors for the menus.
Could be null, or the length of the array can possibly mismatch the
length of the menus.protected void insertSeparator(int aIndex, Container aContainerSFCT)
ALcyActionBar
Implementation can be left empty, but if and only if implementation of
ALcyActionBar.removeSeparator(int, java.awt.Container)
is left empty as well.
insertSeparator
in class ALcyActionBar
aIndex
- The index of where to insert the separator. -1 means insert it at the end.aContainerSFCT
- The container to insert the separator into.protected void removeSeparator(int aIndex, Container aContainerSFCT)
ALcyActionBar
Implementation can be left empty, but if and only if implementation of
ALcyActionBar.insertSeparator(int, java.awt.Container)
is left empty as well.
removeSeparator
in class ALcyActionBar
aIndex
- The index where to remove the separator from the given component.aContainerSFCT
- The container to remove the separator from.protected Component[] getChildren(Container aParent)
ALcyActionBar
This implementation returns
aParent.getComponents()
, but subclasses using for instance
JMenu
s should be aware that they should return ( ( JMenu
) aParent ).getMenuComponents()
when the given parent is a
JMenu
.
getChildren
in class ALcyActionBar
aParent
- The parent to retrieve the children from.protected Container getParent(Component aComponent)
ALcyActionBar
This implementation returns
aComponent.getParent()
, but subclasses using for instance
JPopupMenu
s (these are used for example by
JMenu
s) must return ( ( JPopupMenu ) aComponent
).getInvoker()
when the given component is a
JPopupMenu
.
getParent
in class ALcyActionBar
aComponent
- The component to retrieve the parent for.public Dimension getButtonSize()
setButtonSize(java.awt.Dimension)
public void setButtonSize(Dimension aButtonSize)
aButtonSize
- The new button size.