Package org.freeplane.core.util
Class MenuUtils
- java.lang.Object
-
- org.freeplane.core.util.MenuUtils
-
public class MenuUtils extends Object
Utilities for dealing with the Freeplane menu: In scripts available as "global variable" menuUtils.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MenuUtils.MenuEntry
The userObject type for createMenuEntryTree().static class
MenuUtils.MenuEntryTreeBuilder
-
Constructor Summary
Constructors Constructor Description MenuUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DefaultMutableTreeNode
createAcceleratebleMenuEntryTree(String menuRootKey)
Used as the basis for dynamic generation of hotkey list.static DefaultMutableTreeNode
createMenuEntryTree(String menuRootKey)
returns a tree of allJMenuItem
nodes the menu contains (omitting Strings and Separators).static void
executeMenuItems(List<String> menuItemKeys)
to be used from scripts to execute menu items.static org.freeplane.core.ui.IndexedTree.Node
findAssignedMenuItemNodeRecursively(DefaultMutableTreeNode menubarNode, KeyStroke keystroke)
there are little reasons to use this in scripts.static String
formatKeyStroke(KeyStroke keyStroke)
pretty print a keystroke.static Icon
getMenuItemIcon(String menuItemKey)
returns the icon for a menuItemKey or null if it has none.static void
insertAsNodeModelRecursively(org.freeplane.features.map.NodeModel nodeModel, 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 DefaultMutableTreeNode createMenuEntryTree(String menuRootKey)
returns a tree of allJMenuItem
nodes the menu contains (omitting Strings and Separators). The tree is build fromDefaultMutableTreeNode
nodes havingMenuEntry
objects as their userObjects. Note that the root node may have null as userObject if the menu item atmenuRootKey
doesn't contain aJMenuItem
!- Parameters:
menuRootKey
- the key of the node that should form the root of the output.- Throws:
IllegalArgumentException
- if the menuRootKey does not point to an entry in the menu tree
-
createAcceleratebleMenuEntryTree
public static DefaultMutableTreeNode createAcceleratebleMenuEntryTree(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:
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, 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 String formatKeyStroke(KeyStroke keyStroke)
pretty print a keystroke.
-
findAssignedMenuItemNodeRecursively
public static org.freeplane.core.ui.IndexedTree.Node findAssignedMenuItemNodeRecursively(DefaultMutableTreeNode menubarNode, KeyStroke keystroke)
there are little reasons to use this in scripts.
-
executeMenuItems
public static void executeMenuItems(List<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.
-
-