Class MenuUtils


  • public class MenuUtils
    extends java.lang.Object
    Utilities for dealing with the Freeplane menu: In scripts available as "global variable" menuUtils.
    • Constructor Summary

      Constructors 
      Constructor Description
      MenuUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static javax.swing.tree.DefaultMutableTreeNode createAcceleratebleMenuEntryTree​(java.lang.String menuRootKey)
      Used as the basis for dynamic generation of hotkey list.
      static javax.swing.tree.DefaultMutableTreeNode createMenuEntryTree​(java.lang.String menuRootKey)
      returns a tree of all JMenuItem nodes the menu contains (omitting Strings and Separators).
      static void executeMenuItems​(java.util.List<java.lang.String> menuItemKeys)
      to be used from scripts to execute menu items.
      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.
      static java.lang.String formatKeyStroke​(javax.swing.KeyStroke keyStroke)
      pretty print a keystroke.
      static javax.swing.Icon getMenuItemIcon​(java.lang.String menuItemKey)
      returns the icon for a menuItemKey or null if it has none.
      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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MenuUtils

        public MenuUtils()
    • Method Detail

      • createMenuEntryTree

        public static javax.swing.tree.DefaultMutableTreeNode createMenuEntryTree​(java.lang.String menuRootKey)
        returns a tree of all JMenuItem nodes the menu contains (omitting Strings and Separators). The tree is build from DefaultMutableTreeNode nodes having MenuEntry objects as their userObjects. Note that the root node may have null as userObject if the menu item at menuRootKey doesn't contain a JMenuItem!
        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 as createMenuEntryTree(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.