void addShortcut(String name) { int index1 = name.indexOf('['); if (index1 == -1) return; int index2 = name.lastIndexOf(']'); if (index2 <= (index1 + 1)) return; String shortcut = name.substring(index1 + 1, index2); int len = shortcut.length(); if (len > 1) shortcut = shortcut.toUpperCase(Locale.US); ; if (len > 3 || (len > 1 && shortcut.charAt(0) != 'F' && shortcut.charAt(0) != 'N')) return; int code = Menus.convertShortcutToCode(shortcut); if (code == 0) return; if (nShortcuts == 0) removeShortcuts(); // One character shortcuts go in a separate hash table to // avoid conflicts with ImageJ menu shortcuts. if (len == 1 || shortcut.equals("N+") || shortcut.equals("N-")) { Hashtable macroShortcuts = Menus.getMacroShortcuts(); macroShortcuts.put(new Integer(code), commandPrefix + name); nShortcuts++; return; } Hashtable shortcuts = Menus.getShortcuts(); if (shortcuts.get(new Integer(code)) != null) { if (shortcutsInUse == null) shortcutsInUse = "\n \n"; shortcutsInUse += " " + name + "\n"; inUseCount++; return; } shortcuts.put(new Integer(code), commandPrefix + name); nShortcuts++; // IJ.log("addShortcut3: "+name+" "+shortcut+" "+code); }
private void saveLabel(Object component, String label) { if (labels == null) labels = new Hashtable(); if (label.length() > 0) { if (label.charAt(0) == ' ') label = label.trim(); labels.put(component, label); } }