Changeset 1677 in josm for trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java
- Timestamp:
- 17.06.2009 10:04:22 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetMenu.java
r1399 r1677 49 49 } 50 50 } 51 /**52 * Sorts the menu items using the translated item text53 */54 public void sortMenu(){55 TaggingPresetMenu.sortMenu(this.menu);56 }51 /** 52 * Sorts the menu items using the translated item text 53 */ 54 public void sortMenu(){ 55 TaggingPresetMenu.sortMenu(this.menu); 56 } 57 57 58 /**59 * Sorts the menu items using the translated item text60 */61 public static void sortMenu(JMenu menu){62 Component[] items = menu.getMenuComponents();63 PresetTextComparator comp = new PresetTextComparator();64 ArrayList<JMenuItem> sortarray = new ArrayList<JMenuItem>();65 int lastSeperator = 0;66 for (int i = 0; i < items.length; i++) {67 Object item = items[i];68 if (item instanceof JMenu){69 sortMenu((JMenu)item);70 } 71 if (item instanceof JMenuItem){72 sortarray.add((JMenuItem)item);73 if (i == items.length-1){74 Collections.sort(sortarray, comp);75 int pos = 0;76 for (JMenuItem menuItem : sortarray) {77 int oldPos;78 if(lastSeperator == 0){79 oldPos=pos;80 }else {81 oldPos = pos+lastSeperator+1;82 }83 menu.add(menuItem, oldPos);84 pos++;85 }86 sortarray = new ArrayList<JMenuItem>();87 lastSeperator = 0;88 }89 }else if (item instanceof JSeparator){90 Collections.sort(sortarray, comp);91 int pos = 0;92 for (JMenuItem menuItem : sortarray) {93 int oldPos;94 if(lastSeperator == 0){95 oldPos=pos;96 }else {97 oldPos = pos+lastSeperator+1;98 }99 menu.add(menuItem, oldPos);100 pos++;101 }102 sortarray = new ArrayList<JMenuItem>();103 lastSeperator = i;104 }105 }106 }58 /** 59 * Sorts the menu items using the translated item text 60 */ 61 public static void sortMenu(JMenu menu){ 62 Component[] items = menu.getMenuComponents(); 63 PresetTextComparator comp = new PresetTextComparator(); 64 ArrayList<JMenuItem> sortarray = new ArrayList<JMenuItem>(); 65 int lastSeperator = 0; 66 for (int i = 0; i < items.length; i++) { 67 Object item = items[i]; 68 if (item instanceof JMenu){ 69 sortMenu((JMenu)item); 70 } 71 if (item instanceof JMenuItem){ 72 sortarray.add((JMenuItem)item); 73 if (i == items.length-1){ 74 Collections.sort(sortarray, comp); 75 int pos = 0; 76 for (JMenuItem menuItem : sortarray) { 77 int oldPos; 78 if(lastSeperator == 0){ 79 oldPos=pos; 80 }else { 81 oldPos = pos+lastSeperator+1; 82 } 83 menu.add(menuItem, oldPos); 84 pos++; 85 } 86 sortarray = new ArrayList<JMenuItem>(); 87 lastSeperator = 0; 88 } 89 }else if (item instanceof JSeparator){ 90 Collections.sort(sortarray, comp); 91 int pos = 0; 92 for (JMenuItem menuItem : sortarray) { 93 int oldPos; 94 if(lastSeperator == 0){ 95 oldPos=pos; 96 }else { 97 oldPos = pos+lastSeperator+1; 98 } 99 menu.add(menuItem, oldPos); 100 pos++; 101 } 102 sortarray = new ArrayList<JMenuItem>(); 103 lastSeperator = i; 104 } 105 } 106 } 107 107 }
Note: See TracChangeset
for help on using the changeset viewer.
