Class JMenuMerge
- All Implemented Interfaces:
IMenuMergeModel
Represents a menu merge for a JMenu. This may be a top-level menu (like "file") or a sub-menu. That is, a JMenuMerge can contain a mix of other JMenuMerge children and individual item merges. This class has convenience functions that allow for easily adding menu items based on StateChangeActions and JMenuItems.
To create JMenuMerges that merge items into the main menus, use the constants found in WellKnownMenuConstants
. For example, suppose a module wanted to add a menu item to the File > New menu. You would create a JMenuMerge
using the file menu's name, and add it at the file menu's location. You would create the following MenuBarMerge and
return it from your Designer module hook's DesignerModuleHook.getModuleMenu() function.
Action myNewAction = new AbstractAction("New Thingamajig") {
public void actionPerformed(ActionEvent ae) {
System.out.println("Do something here...");
}
};
MenuBarMerge menu = new MenuBarMerge("mymodule-id");
JMenuMerge file = new JMenuMerge(WellKnownMenuConstants.FILE_MENU_NAME);
JMenuMerge fileNew = new JMenuMerge("new");
fileNew.add(myNewAction);
file.add(WellKnownMenuConstants.FILE_OPENSAVE_GROUP, fileNew);
menu.add(WellKnownMenuConstants.FILE_MENU_LOCATION, file);
-
Field Summary
Fields inherited from class com.inductiveautomation.ignition.designer.model.menu.AbstractMenuMerge
currentImplicitGroup, displayKey, groups, icon, log, menuId, name -
Constructor Summary
ConstructorsConstructorDescriptionJMenuMerge(String name) JMenuMerge(String name, String displayKey) JMenuMerge(String name, String displayKey, Icon icon) -
Method Summary
Modifier and TypeMethodDescriptionvoidUsed to add opaque (non-mergable) menusvoidvoidUsed to add opaque (non-mergable) menusvoidvoidaddCheckBox(int separatorGroup, StateChangeAction action) voidaddCheckBox(StateChangeAction action) voidaddRadioGroup(int separatorGroup, StateChangeAction... actions) voidaddRadioGroup(StateChangeAction... actions) protected voidaddSeparator(JComponent menu) Subclasses must define how "separator" components get added to the parent menu item.Create the parent menu item represented by this object, that all of its children should be contained in.voiddispose()removes all internal bindings which allows this merge to be garbage collected.install(JComponent menuToInstall) Merges this model into the menu.voiduninstall(JComponent menuToUninstall) Reverses the merge of this model into the given menuMethods inherited from class com.inductiveautomation.ignition.designer.model.menu.AbstractMenuMerge
add, add, add, add, addSeparator, getMenuId, getName, iterate, setMenuId
-
Constructor Details
-
JMenuMerge
-
JMenuMerge
-
JMenuMerge
-
-
Method Details
-
addCheckBox
-
addRadioGroup
-
add
-
add
Used to add opaque (non-mergable) menus -
addCheckBox
-
addRadioGroup
-
add
-
add
Used to add opaque (non-mergable) menus -
install
Description copied from interface:IMenuMergeModelMerges this model into the menu. The JComponent will be either a CommandMenuBar or a JMenu- Specified by:
installin interfaceIMenuMergeModel- Overrides:
installin classAbstractMenuMerge
-
uninstall
Description copied from interface:IMenuMergeModelReverses the merge of this model into the given menu- Specified by:
uninstallin interfaceIMenuMergeModel- Overrides:
uninstallin classAbstractMenuMerge
-
createMenu
Description copied from class:AbstractMenuMergeCreate the parent menu item represented by this object, that all of its children should be contained in.- Specified by:
createMenuin classAbstractMenuMerge
-
addSeparator
Description copied from class:AbstractMenuMergeSubclasses must define how "separator" components get added to the parent menu item.- Specified by:
addSeparatorin classAbstractMenuMerge
-
dispose
public void dispose()removes all internal bindings which allows this merge to be garbage collected.
-