コード例 #1
0
 private MenuEntry getMenuEntry(final MenuEntry parent, final MenuItemDef menuItemDef) {
   if (parent.menuItemDef == menuItemDef) {
     return parent;
   }
   if (parent.hasSubMenuEntries() == true) {
     for (final MenuEntry subMenuEntry : parent.getSubMenuEntries()) {
       final MenuEntry result = getMenuEntry(subMenuEntry, menuItemDef);
       if (result != null) {
         return result;
       }
     }
   }
   return null;
 }
コード例 #2
0
 public void addMenuEntry(final MenuEntry menuEntry) {
   MenuEntry parent = menuEntry.getParent();
   if (parent == null) {
     final MenuItemDef parentItemDef = menuEntry.getParentMenuItemDef();
     if (parentItemDef == null) {
       parent = rootMenuEntry;
     } else {
       parent = getMenuEntry(parentItemDef);
       if (parent == null) {
         log.error("Oups, can't find parent menu item: " + parentItemDef.getId());
         parent = rootMenuEntry;
       }
     }
   }
   parent.addMenuEntry(menuEntry);
 }
コード例 #3
0
ファイル: MenuUtils.java プロジェクト: juliusse/freeplane
 // filters out non-acceleratable menu entries
 @SuppressWarnings("rawtypes")
 private static void addAcceleratableChildrenRecursively(
     final DefaultMutableTreeNode target, final Enumeration sourceChildren) {
   while (sourceChildren.hasMoreElements()) {
     final DefaultMutableTreeNode sourceChild =
         (DefaultMutableTreeNode) sourceChildren.nextElement();
     final MenuEntry menuEntry = (MenuEntry) sourceChild.getUserObject();
     if (sourceChild.isLeaf()) {
       if (menuEntry.getKeyStroke() != null) {
         target.add(new DefaultMutableTreeNode(menuEntry));
       }
     } else {
       final DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(menuEntry);
       target.add(newNode);
       MenuUtils.addAcceleratableChildrenRecursively(newNode, sourceChild.children());
       if (newNode.isLeaf()) {
         target.remove(newNode);
       }
     }
   }
 }
コード例 #4
0
ファイル: MenuUtils.java プロジェクト: juliusse/freeplane
 private static NodeModel insertAsNodeModel(
     final NodeModel nodeModel,
     final DefaultMutableTreeNode treeNode,
     final MapController mapController) {
   final MenuEntry menuEntry = (MenuEntry) treeNode.getUserObject();
   final String text =
       menuEntry.getKeyStroke() == null
           ? menuEntry.getLabel()
           : menuEntry.getLabel() + ": " + MenuUtils.formatKeyStroke(menuEntry.getKeyStroke());
   final NodeModel newNodeModel = mapController.newNode(text, nodeModel.getMap());
   if (!treeNode.isLeaf()) {
     newNodeModel.setFolded(true);
   }
   if (menuEntry.getIconKey() != null) {
     final MindIcon mindIcon = menuEntry.createMindIcon();
     if (mindIcon != null) newNodeModel.addIcon(mindIcon);
   }
   nodeModel.insert(newNodeModel);
   return newNodeModel;
 }
コード例 #5
0
 public MenuEntry findById(final String id) {
   return rootMenuEntry.findById(id);
 }
コード例 #6
0
 public Collection<MenuEntry> getMenuEntries() {
   return rootMenuEntry.getSubMenuEntries();
 }