Changeset 641 for trunk/src/org/expeditee/settings/Settings.java
- Timestamp:
- 12/18/13 14:22:48 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/settings/Settings.java
r640 r641 14 14 import org.expeditee.gui.FrameUtils; 15 15 import org.expeditee.items.Text; 16 import org.expeditee.items.widgets.Password; 16 17 import org.expeditee.reflection.PackageLoader; 17 18 … … 36 37 private final HashMap<String, FieldSet> settings = new HashMap<String, FieldSet>(); 37 38 private final List<Field> hasDefault = new LinkedList<Field>(); 39 private final List<String> orderedEntries = new LinkedList<String>(); 38 40 private final Method onParsed; 39 41 … … 46 48 // System.out.println(m.getName().toLowerCase()); 47 49 settings.put(m.getName().substring(3).toLowerCase(), new FieldSet(null, m)); 50 if(!orderedEntries.contains(m.getName().substring(3))) { 51 orderedEntries.add(m.getName().substring(3)); 52 } 48 53 } 49 54 } … … 64 69 } else { 65 70 settings.put(f.getName().toLowerCase(), new FieldSet(f, fs.method)); 71 } 72 if(!orderedEntries.contains(f.getName())) { 73 orderedEntries.add(f.getName()); 66 74 } 67 75 } … … 199 207 200 208 public static Text generateSettingsTree() { 201 return generateSettingsTree("settings", DisplayIO.getCurrentFrame().createNewText(" settings"));209 return generateSettingsTree("settings", DisplayIO.getCurrentFrame().createNewText("Settings")); 202 210 } 203 211 … … 207 215 208 216 int x = 50, y = 100; 209 int dY = UserSettings.ItemTemplate.getPolygon().getBounds().height + 1 0;217 int dY = UserSettings.ItemTemplate.getPolygon().getBounds().height + 1; 210 218 int maxY = UserSettings.InitialHeight - 150; 211 219 212 // add subpages 220 // add subpages of the current page 213 221 for(String k : _pages.keySet()) { 214 222 if(k.startsWith(page.toLowerCase()) && !k.equals(page)) { … … 218 226 } 219 227 System.out.println("Generating " + name); 220 generateSettingsTree(k, frame.addText(x, y, name , null));228 generateSettingsTree(k, frame.addText(x, y, name.substring(0, 1).toUpperCase() + name.substring(1), null)); 221 229 y += dY; 222 230 if(y >= maxY) { … … 230 238 y = 100; 231 239 232 // add settings for thepage240 // add settings of the current page 233 241 PageDescriptor pd = _pages.get(page); 234 242 if(pd != null) { 235 for(String k : pd.settings.keySet()) { 236 if(k.startsWith("default")) { 237 continue; 238 } 239 PageDescriptor.FieldSet fs = pd.settings.get(k); 243 for(String str : pd.orderedEntries) { 244 String key = str.toLowerCase(); 245 if(key.startsWith("default")) { 246 continue; 247 } 248 PageDescriptor.FieldSet fs = pd.settings.get(key); 249 String name = null; 240 250 Object value = ""; 251 name = str.substring(0, 1).toUpperCase() + str.substring(1); 241 252 if(fs.method == null && fs.field != null) { 242 253 try { 243 254 if(pd.hasDefault.contains(fs.field)) { 244 value = pd.settings.get("default" + k).field.get(null);255 value = ": " + pd.settings.get("default" + key).field.get(null); 245 256 } else { 246 value = fs.field.get(null);257 value = ": " + fs.field.get(null); 247 258 } 248 259 } catch (Exception e) { 249 260 e.printStackTrace(); 250 261 } 251 } 252 frame.addText(x, y, k + ": " + value, null); 262 } else if(fs.method == null) { 263 continue; 264 } 265 if(key.equals("pass")) { 266 Password pw = new Password(frame.createNewText("@iw: org.expeditee.items.widgets.Password"), null); 267 pw.setPassword((String) value); 268 pw.setPosition(x, y); 269 frame.addAllItems(pw.getItems()); 270 y += pw.getHeight(); 271 } else { 272 frame.addText(x, y, name + value, null); 273 } 253 274 y += dY; 254 275 if(y >= maxY) {
Note:
See TracChangeset
for help on using the changeset viewer.