Beispiel #1
0
 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;
 }
Beispiel #2
0
 // 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);
       }
     }
   }
 }