Package dsto.dfc.swing.commands

Framework for defining and presenting user commands in a UI.

See:
          Description

Interface Summary
Command Defines a command that may be executed by the user.
CommandSource Defines an object (often a UI component) that exports one or more CommandView's.
CommandViewNodeListener Defines the events fired by CommandViewNode's.
CompositeCommand Use when you want a command that 'selects' from a defined set of commands.
CustomMenuProvider Interface for commands that want to provide a custom menu UI.
CustomToolBarProvider Interface for commands that wish to provide a customized toolbar UI.
EnumeratedCommand Defines a command whose behaviour 'selects' from a defined set of enumerated values.
 

Class Summary
AbstractBooleanCommand Base class for commands that can be 'on' or 'off'.
AbstractCommand Base class for commands.
AbstractCompositeCommand The AbstractCompositeCommand should be used when you want to have a list of commands that are in some way linked together.
AbstractEnumeratedCommand Abstract base class for commands that act to select one or more values from an enumerated set (eg zoom levels, open windows, etc).
AbstractMoveCommand Base class for commands that move items up/down within their host.
AbstractMutableCommand Base class for commands that have changeable properties.
AbstractSelectionBasedCommand Base class for commands that are affected by changes in a SelectionEventSource (eg become disabled when nothing is selected).
BasicAboutCommand Show an about box.
BasicAddEntryCommand Base class for commands that add a new entry to a control.
BasicCopyCommand  
BasicCutCommand  
BasicDeleteCommand Basic delete command.
BasicExitCommand Base class for Exit commands.
BasicFileOpenCommand Base class for File Open commands.
BasicFileSaveAsCommand Base class for File "Save As..." commands.
BasicFileSaveCommand Base class for File Save commands.
BasicPasteCommand  
BasicPropertiesCommand Base class for Properties type commands.
CommandActionAdapter Adapts a Command instance to look like a JFC Action instance.
CommandActionListenerAdapter Adapts a Command to be executed as an ActionListener.
CommandButtonSynchronizer Synchronize a command with a JFC button.
CommandKeyStrokeBinding Binds all commands within a command view with their specified accelerator
CommandMenuButton A button that displays the children of a command node in a drop down menu plus a button to execute the 'default' command on the group.
CommandMenus Utility for generating menus from command views.
CommandRegistry Registry of view to group mappings for commands.
CommandToolBars Utility class for creating toolbars from command views.
CommandView A list of Command's and sub-CommandView's intended to define the commands presented in a given UI context, such as a main menu or a toolbar.
CommandViewNode A node used to build the merged command trees used by CommandView's.
CommandViewNodeEvent  
CommandViewTreeModel  
CompositeCmdMenuProvider Implements the command menu provider interface for composite commands.
EnumeratedCmdMenuProvider Implementation of CustomMenuProvider for EnumeratedCommand's.
ToolbarPanel A host panel that shows a component in the center and a toolbar built from the component's toolbar command view at the top (the component must implement CommandSource and return a TOOLBAR_VIEW for this be automatic).
WindowFocusTracker Track focus changes across components in a window and sets command view's active property based on focus heirachy.
 

Package dsto.dfc.swing.commands Description

Framework for defining and presenting user commands in a UI. Commands are defined by the dsto.dfc.commands.Command interface and assembled into views (dsto.dfc.commands.CommandView) for presentation in menus, toolbars, etc. Command views may be contained inside command views, providing a way of composing commands from many different components.

Typically a component will create one command view for each type of UI (context menu, main menu, toolbar) and export them via its dsto.dfc.commands.CommandSource#getCommandView method. The component, or any of its clients, may add, remove or change commands in the command view at any time, the framework will ensure that the updates propagate and are reflected in the UI.

To create a UI presentation of a command view, use either dsto.dfc.commands.CommandToolBars#makeToolBar or one of the methods in dsto.dfc.commands.CommandMenus. You can use the installContextMenu method as a convenient way to install a context menu that will popup on a right mouse click.

See the source for dsto.dfc.table.DfcTable and dsto.dfc.tree.DfcTree for detailed examples of how to create and export command views.

Command groups

Each command has a logical group within in a given command view (see dsto.dfc.commands.Command#getGroupInView) which determines how it is visually grouped in the UI. For example, the edit.Cut command may have the group "Edit.cutnpaste" in the main menu view, which would put it under the "Edit" menu in a group delimited by menu separators along with other commands in the "cutnpaste" subgroup. The same command may have the group "edit" in a context menu or toolbar, both of which typically have a "flatter" structure than the main menu. Commands with a deep level of nesting will be placed inside pullright menus (or dropdown menus on a toolbar) eg the "view.Zoom To Fit" command might have the main menu group "View.zooming.Zoom.top" which would put it on a pullright "Zoom" menu.



Copyright © 2008 Commonwealth of Australia