public interface MenuBuilder
MenuBuilder
is used by Application
to build to build its menu
bar(s) and popup menu(s).
Each method adds a logical group of menu items to a menu provided by the
Application
.
Implementors of this interface typically use actions retrieved from the
application to build the menu items. See DefaultMenuBuilder
for a
typical implementation.
Menus may be associated to a specific view or to all views (global) of the
application. In the former case the corresponding view is provided, in the
latter case null is passed. Note that some applications, specifically
OSXApplication
, need to create both kinds of menus.
During the lifetime of an application many menus may be created and destroyed. Implementors must take care that menu items can be garbage collected.
Abstract Factory
MenuBuilder
is used by Application
for creating menu items.
The MenuBuilder
is provided by ApplicationModel
.
Abstract Factory: MenuBuilder
Client: Application
.
Modifier and Type | Method and Description |
---|---|
void |
addAboutItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "About" items to a menu.
|
void |
addClearFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Clear File" items to a menu.
|
void |
addClipboardItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Clipboard" items to a menu.
|
void |
addCloseFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Close File" items to a menu.
|
void |
addExitItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Exit" items to a menu.
|
void |
addExportFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Export File" items to a menu.
|
void |
addFindItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Find" items to a menu.
|
void |
addHelpItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Help" items to a menu.
|
void |
addLoadFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Load file" items to a menu.
|
void |
addNewFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "New File" items to a menu.
|
void |
addNewWindowItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "New Window" items to a menu.
|
void |
addOpenFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Open File" items to a menu.
|
void |
addOtherEditItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more editing related items to a menu.
|
void |
addOtherFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more file related items to a menu.
|
void |
addOtherMenus(java.util.List<javax.swing.JMenu> m,
Application app,
View v)
Optionally adds one or more additional menus to a menu bar or a pop up
menu.
|
void |
addOtherViewItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more view related items to a menu.
|
void |
addOtherWindowItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more window related items to a menu.
|
void |
addPreferencesItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Preferences" items to a menu.
|
void |
addPrintFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Print File" items to a menu.
|
void |
addSaveFileItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Save File" items to a menu.
|
void |
addSelectionItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Selection" items to a menu.
|
void |
addUndoItems(javax.swing.JMenu m,
Application app,
View v)
Optionally adds one or more "Undo" items to a menu.
|
void addPreferencesItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the last section of the "Edit" menu.
Note that OSXApplication
does not invoke this method and
instead retrieves an action with ID AbstractPreferencesAction.ID
from the action map of the ApplicationModel
and adds it to the
"Application" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addExitItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the last section of the "File" menu.
Note that OSXApplication
does not invoke this method and
instead retrieves an action with ID ExitAction.ID
from the action map of the ApplicationModel
and adds it to the
"Application" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addClearFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addNewWindowItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addNewFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addLoadFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOpenFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addCloseFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the second section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addSaveFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the second section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addExportFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the second section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addPrintFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the third section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOtherFileItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the third section of the "File" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addUndoItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "Edit" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addClipboardItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the second section of the "Edit" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addSelectionItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the third section of the "Edit" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addFindItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the fourth section of the "Edit" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOtherEditItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the fifth section of the "Edit" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOtherViewItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "View" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOtherMenus(java.util.List<javax.swing.JMenu> m, Application app, View v)
Most applications add additional menus between the "View" menu and the "Window" menu to the menu bar.
m
- A (potentially non-empty) list of menus.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addOtherWindowItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the second section
of the "Window" menu. (The first section usually contains application
specific items). Some applications, such as SDIApplication
add
these items to the "View" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addHelpItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the first section of the "Help" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.void addAboutItems(javax.swing.JMenu m, Application app, View v)
Most applications use this method for adding items to the last section of the "Help" menu.
Note that OSXApplication
does not invoke this method and
instead retrieves an action with ID AboutAction.ID
from the action map of the ApplicationModel
and adds it to the
"Application" menu.
m
- A (potentially non-empty) menu.app
- The Application for which the menu is built.v
- A view the menu is used exclusively for a specific view, null
if the menu is shared by all views.