Changeset 8620 in josm
- Timestamp:
- 2015-07-26T23:01:55+02:00 (8 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
r8612 r8620 20 20 import java.io.File; 21 21 import java.io.IOException; 22 import java.lang.reflect.Field; 22 23 import java.net.MalformedURLException; 23 24 import java.net.URL; … … 38 39 import javax.swing.Action; 39 40 import javax.swing.BorderFactory; 41 import javax.swing.DefaultButtonModel; 40 42 import javax.swing.JCheckBoxMenuItem; 41 43 import javax.swing.JLabel; … … 471 473 } 472 474 475 private class BooleanButtonModel extends DefaultButtonModel { 476 private Field field; 477 478 public BooleanButtonModel(Field field) { 479 this.field = field; 480 } 481 482 @Override 483 public boolean isSelected() { 484 try { 485 return field.getBoolean(AbstractTileSourceLayer.this); 486 } catch (IllegalArgumentException | IllegalAccessException e) { 487 throw new RuntimeException(e); 488 } 489 } 490 491 } 473 492 /** 474 493 * Creates popup menu items and binds to mouse actions … … 480 499 initTileSource(this.tileSource); 481 500 501 ; 482 502 // keep them final here, so we avoid namespace clutter in the class 483 503 final JPopupMenu tileOptionMenu = new JPopupMenu(); 484 504 final TileHolder clickedTileHolder = new TileHolder(); 505 Field autoZoomField; 506 Field autoLoadField; 507 Field showErrorsField; 508 try { 509 autoZoomField = AbstractTileSourceLayer.class.getField("autoZoom"); 510 autoLoadField = AbstractTileSourceLayer.class.getDeclaredField("autoLoad"); 511 showErrorsField = AbstractTileSourceLayer.class.getDeclaredField("showErrors"); 512 } catch (NoSuchFieldException | SecurityException e) { 513 // shoud not happen 514 throw new RuntimeException(e); 515 } 485 516 486 517 autoZoom = PROP_DEFAULT_AUTOZOOM.get(); 487 518 JCheckBoxMenuItem autoZoomPopup = new JCheckBoxMenuItem(); 519 autoZoomPopup.setModel(new BooleanButtonModel(autoZoomField)); 488 520 autoZoomPopup.setAction(new AutoZoomAction()); 489 autoZoomPopup.setSelected(autoZoom);490 521 tileOptionMenu.add(autoZoomPopup); 491 522 … … 493 524 JCheckBoxMenuItem autoLoadPopup = new JCheckBoxMenuItem(); 494 525 autoLoadPopup.setAction(new AutoLoadTilesAction()); 495 autoLoadPopup.set Selected(autoLoad);526 autoLoadPopup.setModel(new BooleanButtonModel(autoLoadField)); 496 527 tileOptionMenu.add(autoLoadPopup); 497 528 … … 504 535 } 505 536 }); 506 showErrorsPopup.set Selected(showErrors);537 showErrorsPopup.setModel(new BooleanButtonModel(showErrorsField)); 507 538 tileOptionMenu.add(showErrorsPopup); 508 539 -
trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java
r8510 r8620 38 38 import org.openstreetmap.josm.gui.layer.TMSLayer; 39 39 import org.openstreetmap.josm.gui.layer.WMSLayer; 40 import org.openstreetmap.josm.gui.layer.WMTSLayer; 40 41 import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer; 41 42 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; … … 54 55 registerSessionLayerExporter(TMSLayer.class , ImagerySessionExporter.class); 55 56 registerSessionLayerExporter(WMSLayer.class , ImagerySessionExporter.class); 57 registerSessionLayerExporter(WMTSLayer.class , ImagerySessionExporter.class); 56 58 registerSessionLayerExporter(GpxLayer.class , GpxTracksSessionExporter.class); 57 59 registerSessionLayerExporter(GeoImageLayer.class , GeoImageSessionExporter.class);
Note: See TracChangeset
for help on using the changeset viewer.