Changeset 2655 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs
- Timestamp:
- 2009-12-19T10:47:49+01:00 (14 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/dialogs
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
r2621 r2655 14 14 import java.util.List; 15 15 import java.util.Set; 16 import java.util.logging.Logger;17 16 18 17 import javax.swing.AbstractAction; … … 35 34 import org.openstreetmap.josm.data.osm.DataSet; 36 35 import org.openstreetmap.josm.data.osm.OsmPrimitive; 36 import org.openstreetmap.josm.data.osm.event.DatasetEventManager; 37 37 import org.openstreetmap.josm.gui.MapFrame; 38 38 import org.openstreetmap.josm.gui.MapView; … … 61 61 */ 62 62 public class ChangesetDialog extends ToggleDialog{ 63 static private final Logger logger = Logger.getLogger(ChangesetDialog.class.getName());63 //static private final Logger logger = Logger.getLogger(ChangesetDialog.class.getName()); 64 64 65 65 private ChangesetInSelectionListModel inSelectionModel; … … 98 98 99 99 ChangesetCache.getInstance().addChangesetCacheListener(inActiveDataLayerModel); 100 MapView.addLayerChangeListener(inActiveDataLayerModel);101 100 102 101 DblClickHandler dblClickHandler = new DblClickHandler(); … … 114 113 MapView.removeLayerChangeListener(inSelectionModel); 115 114 DataSet.selListeners.remove(inSelectionModel); 116 MapView.removeLayerChangeListener(inActiveDataLayerModel); 115 } 116 117 @Override 118 public void showNotify() { 119 DatasetEventManager.getInstance().addDatasetListener(inActiveDataLayerModel, true); 120 } 121 122 @Override 123 public void hideNotify() { 124 DatasetEventManager.getInstance().removeDatasetListener(inActiveDataLayerModel); 117 125 } 118 126 -
trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
r2621 r2655 47 47 import org.openstreetmap.josm.gui.OsmPrimitivRenderer; 48 48 import org.openstreetmap.josm.gui.SideButton; 49 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;50 49 import org.openstreetmap.josm.gui.layer.Layer; 51 50 import org.openstreetmap.josm.gui.layer.OsmDataLayer; … … 285 284 286 285 public void addListDataListener(ListDataListener l) { 287 if (l != null && ! listeners.contains(l)) {288 listeners.add (l);286 if (l != null) { 287 listeners.addIfAbsent(l); 289 288 } 290 289 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
r2626 r2655 642 642 */ 643 643 public void addLayerListModelListener(LayerListModelListener listener) { 644 synchronized(listeners) { 645 if (listener != null && !listeners.contains(listener)) { 646 listeners.add(listener); 647 } 644 if (listener != null) { 645 listeners.addIfAbsent(listener); 648 646 } 649 647 } … … 655 653 */ 656 654 public void removeLayerListModelListener(LayerListModelListener listener) { 657 synchronized(listeners) { 658 if (listener != null && listeners.contains(listener)) { 659 listeners.remove(listener); 660 } 661 } 655 listeners.remove(listener); 662 656 } 663 657 -
trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
r2632 r2655 36 36 import org.openstreetmap.josm.data.osm.Relation; 37 37 import org.openstreetmap.josm.data.osm.RelationMember; 38 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent; 38 39 import org.openstreetmap.josm.data.osm.event.DataChangedEvent; 39 40 import org.openstreetmap.josm.data.osm.event.DataSetListener; … … 738 739 } 739 740 } 741 742 public void otherDatasetChange(AbstractDatasetChangedEvent event) {/* ignore */} 740 743 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListModel.java
r2616 r2655 9 9 import java.util.List; 10 10 import java.util.Set; 11 import java.util.logging.Logger;12 11 13 12 import javax.swing.DefaultListModel; … … 20 19 import org.openstreetmap.josm.data.osm.DataSet; 21 20 import org.openstreetmap.josm.data.osm.OsmPrimitive; 21 import org.openstreetmap.josm.data.osm.Storage; 22 22 23 23 public class ChangesetListModel extends DefaultListModel implements ChangesetCacheListener{ 24 static private final Logger logger = Logger.getLogger(ChangesetListModel.class.getName());24 //static private final Logger logger = Logger.getLogger(ChangesetListModel.class.getName()); 25 25 26 26 private final List<Changeset> data = new ArrayList<Changeset>(); 27 private final Storage<Changeset> shownChangesets = new Storage<Changeset>(); 27 28 private DefaultListSelectionModel selectionModel; 28 29 … … 63 64 } 64 65 66 protected void addChangeset(Changeset changeset) { 67 if (shownChangesets.add(changeset)) { 68 setChangesets(shownChangesets); 69 updateModel(); 70 } 71 } 72 73 protected void removeChangeset(Changeset changeset) { 74 if (shownChangesets.remove(changeset)) { 75 setChangesets(shownChangesets); 76 updateModel(); 77 } 78 } 79 65 80 protected void setChangesets(Collection<Changeset> changesets) { 81 shownChangesets.clear(); 82 if (changesets != null) { 83 shownChangesets.addAll(changesets); 84 } 85 updateModel(); 86 } 87 88 private void updateModel() { 66 89 Set<Changeset> sel = getSelectedChangesets(); 67 90 data.clear(); 68 if (changesets == null) { 69 fireContentsChanged(this, 0, getSize()); 70 return; 71 } 72 data.addAll(changesets); 91 data.addAll(shownChangesets); 73 92 ChangesetCache cache = ChangesetCache.getInstance(); 74 93 for (Changeset cs: data) { -
trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetsInActiveDataLayerListModel.java
r2652 r2655 4 4 import javax.swing.DefaultListSelectionModel; 5 5 6 import org.openstreetmap.josm.Main; 7 import org.openstreetmap.josm.gui.MapView; 8 import org.openstreetmap.josm.gui.layer.DataChangeListener; 9 import org.openstreetmap.josm.gui.layer.Layer; 10 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 6 import org.openstreetmap.josm.data.osm.Changeset; 7 import org.openstreetmap.josm.data.osm.OsmPrimitive; 8 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent; 9 import org.openstreetmap.josm.data.osm.event.ChangesetIdChangedEvent; 10 import org.openstreetmap.josm.data.osm.event.DataChangedEvent; 11 import org.openstreetmap.josm.data.osm.event.DataSetListener; 12 import org.openstreetmap.josm.data.osm.event.NodeMovedEvent; 13 import org.openstreetmap.josm.data.osm.event.PrimitivesAddedEvent; 14 import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent; 15 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent; 16 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent; 17 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent; 11 18 12 public class ChangesetsInActiveDataLayerListModel extends ChangesetListModel implements MapView.LayerChangeListener, DataChangeListener{19 public class ChangesetsInActiveDataLayerListModel extends ChangesetListModel implements DataSetListener { 13 20 14 21 public ChangesetsInActiveDataLayerListModel(DefaultListSelectionModel selectionModel) { … … 16 23 } 17 24 18 /* ---------------------------------------------------------------------------- */ 19 /* Interface LayerChangeListener */ 20 /* ---------------------------------------------------------------------------- */ 21 public void activeLayerChange(Layer oldLayer, Layer newLayer) { 22 if (oldLayer != null && oldLayer instanceof OsmDataLayer) { 23 OsmDataLayer l = (OsmDataLayer)oldLayer; 24 l.listenerDataChanged.remove(this); 25 } 26 if (newLayer == null) { 27 setChangesets(null); 28 } else if (newLayer instanceof OsmDataLayer){ 29 OsmDataLayer l = (OsmDataLayer)newLayer; 30 l.listenerDataChanged.add(this); 31 initFromDataSet(l.data); 32 } else { 33 setChangesets(null); 25 public void dataChanged(DataChangedEvent event) { 26 initFromPrimitives(event.getPrimitives()); 27 } 28 29 public void nodeMoved(NodeMovedEvent event) {/* ignored */} 30 31 public void primtivesAdded(PrimitivesAddedEvent event) { 32 for (OsmPrimitive primitive:event.getPrimitives()) { 33 addChangeset(new Changeset(primitive.getChangesetId())); 34 34 } 35 35 } 36 public void layerAdded(Layer newLayer) {}37 public void layerRemoved(Layer oldLayer) {}38 36 39 /* ---------------------------------------------------------------------------- */ 40 /* Interface DataChangeListener */ 41 /* ---------------------------------------------------------------------------- */ 42 public void dataChanged(OsmDataLayer l) { 43 if (l == null) return; 44 if (l != Main.main.getEditLayer()) return; 45 initFromDataSet(l.data); 37 public void primtivesRemoved(PrimitivesRemovedEvent event) { 38 for (OsmPrimitive primitive:event.getPrimitives()) { 39 removeChangeset(new Changeset(primitive.getChangesetId())); 40 } 46 41 } 42 43 public void relationMembersChanged(RelationMembersChangedEvent event) {/* ignored */} 44 45 public void tagsChanged(TagsChangedEvent event) {/* ignored */} 46 47 public void otherDatasetChange(AbstractDatasetChangedEvent event) { 48 if (event instanceof ChangesetIdChangedEvent) { 49 ChangesetIdChangedEvent e = (ChangesetIdChangedEvent) event; 50 removeChangeset(new Changeset(e.getOldChangesetId())); 51 addChangeset(new Changeset(e.getNewChangesetId())); 52 } 53 } 54 55 public void wayNodesChanged(WayNodesChangedEvent event) {/* ignored */} 56 47 57 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
r2622 r2655 33 33 import org.openstreetmap.josm.data.osm.RelationMember; 34 34 import org.openstreetmap.josm.data.osm.Way; 35 import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent; 35 36 import org.openstreetmap.josm.data.osm.event.DataChangedEvent; 36 37 import org.openstreetmap.josm.data.osm.event.DataSetListener; … … 131 132 132 133 public void wayNodesChanged(WayNodesChangedEvent event) {/* ignore */} 134 135 public void otherDatasetChange(AbstractDatasetChangedEvent event) {/* ignore */} 133 136 /* --------------------------------------------------------------------------- */ 134 137 135 138 public void addMemberModelListener(IMemberModelListener listener) { 136 synchronized (listeners) { 137 if (listener != null && !listeners.contains(listener)) { 138 listeners.add(listener); 139 } 139 if (listener != null) { 140 listeners.addIfAbsent(listener); 140 141 } 141 142 } 142 143 143 144 public void removeMemberModelListener(IMemberModelListener listener) { 144 synchronized (listeners) { 145 if (listener != null && listeners.contains(listener)) { 146 listeners.remove(listener); 147 } 148 } 145 listeners.remove(listener); 149 146 } 150 147 151 148 protected void fireMakeMemberVisible(int index) { 152 synchronized (listeners) { 153 for (IMemberModelListener listener : listeners) { 154 listener.makeMemberVisible(index); 155 } 149 for (IMemberModelListener listener : listeners) { 150 listener.makeMemberVisible(index); 156 151 } 157 152 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/relation/RelationTreeModel.java
r2578 r2655 4 4 import java.util.List; 5 5 import java.util.concurrent.CopyOnWriteArrayList; 6 import java.util.logging.Logger;7 6 8 7 import javax.swing.event.TreeModelEvent; … … 24 23 */ 25 24 public class RelationTreeModel implements TreeModel { 26 private static final Logger logger = Logger.getLogger(RelationTreeModel.class.getName());25 //private static final Logger logger = Logger.getLogger(RelationTreeModel.class.getName()); 27 26 28 27 /** the root relation */ … … 215 214 216 215 public void addTreeModelListener(TreeModelListener l) { 217 synchronized (listeners) { 218 if (l != null && !listeners.contains(l)) { 219 listeners.add(l); 220 } 216 if (l != null) { 217 listeners.addIfAbsent(l); 221 218 } 222 219 } 223 220 224 221 public void removeTreeModelListener(TreeModelListener l) { 225 synchronized (listeners) { 226 if (l != null && listeners.contains(l)) { 227 listeners.remove(l); 228 } 229 } 222 listeners.remove(l); 230 223 } 231 224
Note:
See TracChangeset
for help on using the changeset viewer.