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 void
add(int separatorGroup, javax.swing.JMenu menu)
Used to add opaque (non-mergable) menusvoid
add(int separatorGroup, javax.swing.JMenuItem menuItem)
void
add(javax.swing.JMenu menu)
Used to add opaque (non-mergable) menusvoid
add(javax.swing.JMenuItem menuItem)
void
addCheckBox(int separatorGroup, StateChangeAction action)
void
addCheckBox(StateChangeAction action)
void
addRadioGroup(int separatorGroup, StateChangeAction... actions)
void
addRadioGroup(StateChangeAction... actions)
protected void
addSeparator(javax.swing.JComponent menu)
Subclasses must define how "separator" components get added to the parent menu item.javax.swing.JMenu
createMenu()
Create the parent menu item represented by this object, that all of its children should be contained in.javax.swing.JComponent
install(javax.swing.JComponent menuToInstall)
Merges this model into the menu.void
uninstall(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:IMenuMergeModel
Merges this model into the menu. The JComponent will be either a CommandMenuBar or a JMenu- Specified by:
install
in interfaceIMenuMergeModel
- Overrides:
install
in classAbstractMenuMerge
-
uninstall
public void uninstall(javax.swing.JComponent menuToUninstall)
Description copied from interface:IMenuMergeModel
Reverses the merge of this model into the given menu- Specified by:
uninstall
in interfaceIMenuMergeModel
- Overrides:
uninstall
in classAbstractMenuMerge
-
createMenu
public javax.swing.JMenu createMenu()
Description copied from class:AbstractMenuMerge
Create the parent menu item represented by this object, that all of its children should be contained in.- Specified by:
createMenu
in classAbstractMenuMerge
-
addSeparator
protected void addSeparator(javax.swing.JComponent menu)
Description copied from class:AbstractMenuMerge
Subclasses must define how "separator" components get added to the parent menu item.- Specified by:
addSeparator
in classAbstractMenuMerge
-
-