Changeset 2448 in josm for trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java
- Timestamp:
- 2009-11-14T17:59:10+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java
r2019 r2448 4 4 import java.awt.Dimension; 5 5 import java.awt.Point; 6 import java.util.ArrayList; 6 7 import java.util.HashMap; 7 8 import java.util.Map; 8 9 10 import org.openstreetmap.josm.Main; 11 import org.openstreetmap.josm.data.osm.history.History; 12 import org.openstreetmap.josm.gui.layer.Layer; 13 import org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener; 9 14 import org.openstreetmap.josm.tools.WindowGeometry; 10 15 11 public class HistoryBrowserDialogManager {16 public class HistoryBrowserDialogManager implements LayerChangeListener { 12 17 static private HistoryBrowserDialogManager instance; 13 18 static public HistoryBrowserDialogManager getInstance() { … … 22 27 protected HistoryBrowserDialogManager() { 23 28 dialogs = new HashMap<Long, HistoryBrowserDialog>(); 29 Layer.listeners.add(this); 24 30 } 25 31 … … 79 85 dialog.dispose(); 80 86 } 87 88 /** 89 * Hides and destroys all currently visible history browser dialogs 90 * 91 */ 92 public void hideAll() { 93 ArrayList<HistoryBrowserDialog> dialogs = new ArrayList<HistoryBrowserDialog>(); 94 dialogs.addAll(this.dialogs.values()); 95 for (HistoryBrowserDialog dialog: dialogs) { 96 dialog.unlinkAsListener(); 97 hide(dialog); 98 } 99 } 100 101 public void show(History h) { 102 if (h == null) 103 return; 104 if (existsDialog(h.getId())) { 105 show(h.getId()); 106 } else { 107 HistoryBrowserDialog dialog = new HistoryBrowserDialog(h); 108 show(h.getId(), dialog); 109 } 110 } 111 112 /* ----------------------------------------------------------------------------- */ 113 /* LayerChangeListener */ 114 /* ----------------------------------------------------------------------------- */ 115 public void activeLayerChange(Layer oldLayer, Layer newLayer) {} 116 public void layerAdded(Layer newLayer) {} 117 118 public void layerRemoved(Layer oldLayer) { 119 // remove all history browsers if the number of layers drops to 0 120 // 121 if (Main.map.mapView.getNumLayers() == 0) { 122 hideAll(); 123 } 124 } 81 125 }
Note:
See TracChangeset
for help on using the changeset viewer.