Class TLcyToolBar
- All Implemented Interfaces:
ILcyActionBar
,ILcyToolBar
- Direct Known Subclasses:
TLcySkinnedToolBar
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 Summary
ConstructorDescriptionCreates a newTLcyToolBar
, ready to be used.TLcyToolBar
(ALcyHelpManager aHelpManager) Creates a newTLcyToolBar
, ready to be used.TLcyToolBar
(JToolBar aToolBar) Creates a newTLcyToolBar
, ready to be used.TLcyToolBar
(JToolBar aToolBar, ALcyHelpManager aHelpManager) Creates a newTLcyToolBar
, ready to be used. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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.Returns the button size.protected Component[]
getChildren
(Container aParent) Returns all children of a given parent, including separators etc.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
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.Methods inherited from class com.luciad.lucy.gui.ALcyActionBar
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.luciad.lucy.gui.ILcyActionBar
addActionBarListener, getActionBarItem, getActionBarItemCount, insertAction, insertAction, insertActiveSettable, insertActiveSettable, insertActiveSettable, removeAction, removeActionBarListener, removeActiveSettable, retrieveDeactivatePossible, retrieveGroupDescriptor, retrieveGroupDescriptor, retrieveHelpIDString, retrieveHelpIDString, retrieveMenuGroupDescriptors, retrieveMenuGroupDescriptors, retrieveMenus, retrieveMenus, setHelpIDString, setHelpIDString
Methods inherited from interface com.luciad.lucy.gui.ILcyToolBar
insertComponent, removeComponent
-
Constructor Details
-
TLcyToolBar
public TLcyToolBar()Creates a newTLcyToolBar
, ready to be used. -
TLcyToolBar
Creates a newTLcyToolBar
, ready to be used.- Parameters:
aToolBar
- The Swing tool bar that is used to represent thisILcyToolBar
. All buttons and components will be added to (a sub-menu of) this tool bar.
-
TLcyToolBar
Creates a newTLcyToolBar
, ready to be used.- Parameters:
aHelpManager
- The help manager.
-
TLcyToolBar
Creates a newTLcyToolBar
, ready to be used.- Parameters:
aToolBar
- The Swing tool bar that is used to represent thisILcyToolBar
. All buttons and components will be added to (a sub-menu of) this tool bar.aHelpManager
- The help manager.
-
-
Method Details
-
getComponent
Description copied from interface: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.
- Specified by:
getComponent
in interfaceILcyActionBar
- Returns:
- the visual component representing this action bar.
-
createItem
protected Component createItem(ILcdAction aAction, TLcyGroupDescriptor aGroupDescriptor, String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors) Description copied from class:ALcyActionBar
Creates a gui widget to represent the given action. E.g. a menu bar could create aJMenuItem
to represent the given action. A toolbar could create aJButton
to represent the given action.- Specified by:
createItem
in classALcyActionBar
- Parameters:
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.- Returns:
- The created gui widget.
-
createItem
protected Component createItem(ILcyActiveSettable aActiveSettable, TLcyGroupDescriptor aGroupDescriptor, String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors, boolean aDeactivatePossible) Description copied from class:ALcyActionBar
Creates a gui widget to represent the given active settable. E.g. a menu bar could create aJCheckBoxMenuItem
to represent the given action or aJRadioButtonMenuItem
whenaDeactivatePossible
is false. A toolbar could create aJToggleButton
to represent the given active settable.- Specified by:
createItem
in classALcyActionBar
- Parameters:
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).- Returns:
- The created gui widget.
-
getItemContainer
Description copied from class:ALcyActionBar
Retrieves the (sub)menu container that contains the actions or active settables at the given (sub)menus. If no such container exists, null is returned. If the aMenus is null or an empty array, it shall not return null but it must return the top level container.- Specified by:
getItemContainer
in classALcyActionBar
- Parameters:
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.- Returns:
- the container that contains the actions or active settables at the given (sub)menus.
-
createItemContainer
protected Container createItemContainer(String[] aMenus, TLcyGroupDescriptor[] aMenuGroupDescriptors) Description copied from class:ALcyActionBar
Creates a new container for the given (sub)menus. The actions and active settables that need to be added to the given (sub)menus will be added to the created container. The created menu must not be inserted into its parent.An example implemention could look like this:
return new JMenu( aMenus[ aMenus.length - 1 ] )
- Specified by:
createItemContainer
in classALcyActionBar
- Parameters:
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.- Returns:
- a new container for the given (sub)menus.
-
insertSeparator
Description copied from class:ALcyActionBar
Inserts a separator at the given index into the given component.Implementation can be left empty, but if and only if implementation of
ALcyActionBar.removeSeparator(int, java.awt.Container)
is left empty as well.- Specified by:
insertSeparator
in classALcyActionBar
- Parameters:
aIndex
- The index of where to insert the separator. -1 means insert it at the end.aContainerSFCT
- The container to insert the separator into.
-
removeSeparator
Description copied from class:ALcyActionBar
Removes the separator at the given index from the given component.Implementation can be left empty, but if and only if implementation of
ALcyActionBar.insertSeparator(int, java.awt.Container)
is left empty as well.- Specified by:
removeSeparator
in classALcyActionBar
- Parameters:
aIndex
- The index where to remove the separator from the given component.aContainerSFCT
- The container to remove the separator from.
-
getChildren
Description copied from class:ALcyActionBar
Returns all children of a given parent, including separators etc.This implementation returns
aParent.getComponents()
, but subclasses using for instanceJMenu
s should be aware that they should return( ( JMenu ) aParent ).getMenuComponents()
when the given parent is aJMenu
.- Overrides:
getChildren
in classALcyActionBar
- Parameters:
aParent
- The parent to retrieve the children from.- Returns:
- An array containing all children of the given parent.
-
getParent
Description copied from class:ALcyActionBar
Returns the parent of a given component.This implementation returns
aComponent.getParent()
, but subclasses using for instanceJPopupMenu
s (these are used for example byJMenu
s) must return( ( JPopupMenu ) aComponent ).getInvoker()
when the given component is aJPopupMenu
.- Overrides:
getParent
in classALcyActionBar
- Parameters:
aComponent
- The component to retrieve the parent for.- Returns:
- The parent of the given component, or null.
-
getButtonSize
Returns the button size.- Returns:
- the button size.
- See Also:
-
setButtonSize
Sets the button size. Must be set before anything is added to this toolbar.- Parameters:
aButtonSize
- The new button size.
-