Changeset 1415 for trunk/src/org/expeditee/settings/Settings.java
- Timestamp:
- 07/24/19 11:23:45 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/settings/Settings.java
r1393 r1415 21 21 import java.lang.reflect.Field; 22 22 import java.lang.reflect.Method; 23 import java.util.Collection; 23 24 import java.util.HashMap; 24 25 import java.util.Iterator; … … 30 31 import org.expeditee.gui.FrameCreator; 31 32 import org.expeditee.gui.MessageBay; 33 import org.expeditee.items.Item; 34 import org.expeditee.items.ItemParentStateChangedEvent; 32 35 import org.expeditee.items.Text; 33 36 import org.expeditee.items.widgets.Password; … … 194 197 } 195 198 196 if(s == null) continue; 199 if(s == null) { 200 continue; 201 } 197 202 198 203 if(validPages.size() > 1) { … … 226 231 } 227 232 233 // Having parsed this page, we must alter all the items on the frame that they are no longer being shown. 234 // For things such as WidgetCorners, this means that they will be removed from live consideration. 235 Collection<Item> allItems = child.getAllItems(); 236 for (Item i: allItems) { 237 i.onParentStateChanged(new ItemParentStateChangedEvent(child, ItemParentStateChangedEvent.EVENT_TYPE_HIDDEN)); 238 } 239 228 240 // if the page was a settings page, check if it has any subpages 229 241 for(Text t : child.getTextItems()) { … … 275 287 int x = 0, y = 0; 276 288 289 Frame currentFrame = frames.getCurrentFrame(); 277 290 if (key.toLowerCase().equals("pass")) { 278 291 // Special case for Password widgets … … 280 293 Password pw = new Password(passwordWidgetText, null); 281 294 pw.setPassword(""); 282 frames.getCurrentFrame().removeItem(passwordWidgetText);283 frames.getCurrentFrame().addAllItems(pw.getItems());295 currentFrame.removeItem(passwordWidgetText); 296 currentFrame.addAllItems(pw.getItems()); 284 297 x = passwordWidgetText.getX() + passwordWidgetText.getBoundsWidth(); 285 298 y = passwordWidgetText.getY(); … … 291 304 // Construct and add text representation for setting. 292 305 // If a setting has no initialised value then it is not included. 293 Text settingRepresentation = setting.generateRepresentation(key, frames.getCurrentFrame().getFramesetName()).copy(); 294 if (settingRepresentation.getBounds() == null) { 306 String framesetName = currentFrame.getFramesetName(); 307 Text template = setting.generateRepresentation(key, framesetName); 308 if (template == null) { 295 309 continue; 296 310 } 297 settingRepresentation.setID(frames.getCurrentFrame().getNextItemID()); 311 Text settingRepresentation = template.copy(); 312 if (settingRepresentation == null || settingRepresentation.getBounds() == null) { 313 continue; 314 } 315 settingRepresentation.setID(currentFrame.getNextItemID()); 298 316 frames.addItem(settingRepresentation, false); 299 317 x = settingRepresentation.getX() + settingRepresentation.getBoundsWidth(); … … 303 321 x = Math.max(250, x + 20); 304 322 // Add tooltip for setting 305 Text tooltip = frames.getCurrentFrame().addText(x, y, "// " + setting.getTooltip(), null);323 Text tooltip = currentFrame.addText(x, y, "// " + setting.getTooltip(), null); 306 324 tooltip.rebuild(true); 307 325 if (tooltip.getY() + tooltip.getBoundsHeight() > frames.getLastY()) {
Note:
See TracChangeset
for help on using the changeset viewer.