Class JMenuMerge
- java.lang.Object
-
- com.inductiveautomation.ignition.designer.model.menu.AbstractMenuMerge
-
- com.inductiveautomation.ignition.designer.model.menu.JMenuMerge
-
- All Implemented Interfaces:
IMenuMergeModel
public class JMenuMerge extends AbstractMenuMerge
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'sDesignerModuleHook.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
Constructors Constructor Description JMenuMerge(java.lang.String name)JMenuMerge(java.lang.String name, java.lang.String displayKey)JMenuMerge(java.lang.String name, java.lang.String displayKey, javax.swing.Icon icon)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int separatorGroup, javax.swing.JMenu menu)Used to add opaque (non-mergable) menusvoidadd(int separatorGroup, javax.swing.JMenuItem menuItem)voidadd(javax.swing.JMenu menu)Used to add opaque (non-mergable) menusvoidadd(javax.swing.JMenuItem menuItem)voidaddCheckBox(int separatorGroup, StateChangeAction action)voidaddCheckBox(StateChangeAction action)voidaddRadioGroup(int separatorGroup, StateChangeAction... actions)voidaddRadioGroup(StateChangeAction... actions)protected voidaddSeparator(javax.swing.JComponent menu)Subclasses must define how "separator" components get added to the parent menu item.javax.swing.JMenucreateMenu()Create the parent menu item represented by this object, that all of its children should be contained in.javax.swing.JComponentinstall(javax.swing.JComponent menuToInstall)Merges this model into the menu.voiduninstall(javax.swing.JComponent menuToUninstall)Reverses the merge of this model into the given menu-
Methods inherited from class com.inductiveautomation.ignition.designer.model.menu.AbstractMenuMerge
add, add, add, add, addSeparator, getMenuId, getName, iterate, setMenuId
-
-
-
-
Method Detail
-
addCheckBox
public void addCheckBox(StateChangeAction action)
-
addRadioGroup
public void addRadioGroup(StateChangeAction... actions)
-
add
public void add(javax.swing.JMenuItem menuItem)
-
add
public void add(javax.swing.JMenu menu)
Used to add opaque (non-mergable) menus
-
addCheckBox
public void addCheckBox(int separatorGroup, StateChangeAction action)
-
addRadioGroup
public void addRadioGroup(int separatorGroup, StateChangeAction... actions)
-
add
public void add(int separatorGroup, javax.swing.JMenuItem menuItem)
-
add
public void add(int separatorGroup, javax.swing.JMenu menu)Used to add opaque (non-mergable) menus
-
install
public javax.swing.JComponent install(javax.swing.JComponent menuToInstall)
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
public void uninstall(javax.swing.JComponent menuToUninstall)
Description copied from interface:IMenuMergeModelReverses the merge of this model into the given menu- Specified by:
uninstallin interfaceIMenuMergeModel- Overrides:
uninstallin classAbstractMenuMerge
-
createMenu
public javax.swing.JMenu 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
protected void addSeparator(javax.swing.JComponent menu)
Description copied from class:AbstractMenuMergeSubclasses must define how "separator" components get added to the parent menu item.- Specified by:
addSeparatorin classAbstractMenuMerge
-
-