Package org.freeplane.core.util
Class MenuUtils
- java.lang.Object
-
- org.freeplane.core.util.MenuUtils
-
public class MenuUtils extends java.lang.ObjectUtilities for dealing with the Freeplane menu: In scripts available as "global variable" menuUtils.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMenuUtils.MenuEntryThe userObject type for createMenuEntryTree().static classMenuUtils.MenuEntryTreeBuilder
-
Constructor Summary
Constructors Constructor Description MenuUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static javax.swing.tree.DefaultMutableTreeNodecreateAcceleratebleMenuEntryTree(java.lang.String menuRootKey)Used as the basis for dynamic generation of hotkey list.static javax.swing.tree.DefaultMutableTreeNodecreateMenuEntryTree(java.lang.String menuRootKey)returns a tree of allJMenuItemnodes the menu contains (omitting Strings and Separators).static voidexecuteMenuItems(java.util.List<java.lang.String> menuItemKeys)to be used from scripts to execute menu items.static org.freeplane.core.ui.IndexedTree.NodefindAssignedMenuItemNodeRecursively(javax.swing.tree.DefaultMutableTreeNode menubarNode, javax.swing.KeyStroke keystroke)there are little reasons to use this in scripts.static java.lang.StringformatKeyStroke(javax.swing.KeyStroke keyStroke)pretty print a keystroke.static javax.swing.IcongetMenuItemIcon(java.lang.String menuItemKey)returns the icon for a menuItemKey or null if it has none.static voidinsertAsNodeModelRecursively(org.freeplane.features.map.NodeModel nodeModel, java.util.Enumeration children, org.freeplane.features.map.MapController mapController)Could be (but currently isn't) used to generate a mindmap representation of the menu.
-
-
-
Method Detail
-
createMenuEntryTree
public static javax.swing.tree.DefaultMutableTreeNode createMenuEntryTree(java.lang.String menuRootKey)
returns a tree of allJMenuItemnodes the menu contains (omitting Strings and Separators). The tree is build fromDefaultMutableTreeNodenodes havingMenuEntryobjects as their userObjects. Note that the root node may have null as userObject if the menu item atmenuRootKeydoesn't contain aJMenuItem!- Parameters:
menuRootKey- the key of the node that should form the root of the output.- Throws:
java.lang.IllegalArgumentException- if the menuRootKey does not point to an entry in the menu tree
-
createAcceleratebleMenuEntryTree
public static javax.swing.tree.DefaultMutableTreeNode createAcceleratebleMenuEntryTree(java.lang.String menuRootKey)
Used as the basis for dynamic generation of hotkey list. Same ascreateMenuEntryTree(String)but all MenuEntries without associated accelerator and (then) empty submenus are removed from the result.- Throws:
java.lang.IllegalArgumentException- if the menuRootKey does not point to an entry in the menu tree
-
insertAsNodeModelRecursively
public static void insertAsNodeModelRecursively(org.freeplane.features.map.NodeModel nodeModel, java.util.Enumeration children, org.freeplane.features.map.MapController mapController)Could be (but currently isn't) used to generate a mindmap representation of the menu.- Parameters:
children- Enumeration of DefaultMutableTreeNode from the menu tree.
-
formatKeyStroke
public static java.lang.String formatKeyStroke(javax.swing.KeyStroke keyStroke)
pretty print a keystroke.
-
findAssignedMenuItemNodeRecursively
public static org.freeplane.core.ui.IndexedTree.Node findAssignedMenuItemNodeRecursively(javax.swing.tree.DefaultMutableTreeNode menubarNode, javax.swing.KeyStroke keystroke)there are little reasons to use this in scripts.
-
executeMenuItems
public static void executeMenuItems(java.util.List<java.lang.String> menuItemKeys)
to be used from scripts to execute menu items. Find out the menuItemKey of a menu item with the devtools add-on. It contains a tool for that.
-
getMenuItemIcon
public static javax.swing.Icon getMenuItemIcon(java.lang.String menuItemKey)
returns the icon for a menuItemKey or null if it has none.
-
-