Changeset 348 in josm
- Timestamp:
- 2007-10-07T19:36:54+02:00 (17 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java
r304 r348 42 42 OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer(); 43 43 data.setModified(true); 44 data.fireDataChange(); 44 45 } 45 46 fireCommandsChanged(); … … 58 59 OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer(); 59 60 data.setModified(data.uploadedModified || !commands.isEmpty()); 61 data.fireDataChange(); 60 62 fireCommandsChanged(); 61 63 } … … 76 78 OsmDataLayer data = (OsmDataLayer)Main.map.mapView.getActiveLayer(); 77 79 data.setModified(true); 80 data.fireDataChange(); 78 81 fireCommandsChanged(); 79 82 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/RelationEditor.java
r343 r348 13 13 import java.beans.PropertyChangeEvent; 14 14 import java.beans.PropertyChangeListener; 15 import java.util.ArrayList; 15 16 import java.util.Collections; 16 17 import java.util.Map.Entry; … … 174 175 175 176 memberData.setColumnIdentifiers(new String[]{tr("Role"),tr("Occupied By")}); 176 memberTable.setSelectionMode(ListSelectionModel. SINGLE_SELECTION);177 memberTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 177 178 memberTable.getColumnModel().getColumn(1).setCellRenderer(new OsmPrimitivRenderer()); 178 179 /* … … 228 229 buttonPanel.add(createButton(marktr("Select"),"select", tr("Highlight the member from the current table row as JOSM's selection"), KeyEvent.VK_S, new ActionListener() { 229 230 public void actionPerformed(ActionEvent e) { 230 int row = memberTable.getSelectedRow(); 231 OsmPrimitive p = (OsmPrimitive) memberTable.getValueAt(row, 1); 232 Main.ds.setSelected(Collections.singleton(p)); 231 int[] rows = memberTable.getSelectedRows(); 232 ArrayList<OsmPrimitive> sel = new ArrayList<OsmPrimitive>(rows.length); 233 for (int i : rows) { sel.add((OsmPrimitive)memberTable.getValueAt(i, 1)); } 234 Main.ds.setSelected(sel); 233 235 } 234 236 })); -
trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
r347 r348 31 31 import org.openstreetmap.josm.data.osm.OsmPrimitive; 32 32 import org.openstreetmap.josm.gui.OsmPrimitivRenderer; 33 import org.openstreetmap.josm.gui.layer.DataChangeListener; 34 import org.openstreetmap.josm.gui.layer.Layer; 35 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 36 import org.openstreetmap.josm.gui.layer.Layer.LayerChangeListener; 33 37 import org.openstreetmap.josm.tools.ImageProvider; 34 38 … … 42 46 * @author Frederik Ramm <frederik@remote.org> 43 47 */ 44 public class RelationListDialog extends ToggleDialog { 48 public class RelationListDialog extends ToggleDialog implements LayerChangeListener, DataChangeListener { 45 49 46 50 /** … … 95 99 } 96 100 })); 97 101 Layer.listeners.add(this); 98 102 add(buttonPanel, BorderLayout.SOUTH); 99 100 /*101 DataSet.dataListeners.add(new DataChangedListener() {102 public void dataChanged() {103 updateList();104 repaint();105 }106 });107 */108 103 } 109 104 … … 133 128 } 134 129 130 public void activeLayerChange(Layer a, Layer b) { 131 if (a instanceof OsmDataLayer && b instanceof OsmDataLayer) { 132 ((OsmDataLayer)a).listenerDataChanged.remove(this); 133 ((OsmDataLayer)b).listenerDataChanged.add(this); 134 updateList(); 135 repaint(); 136 } 137 } 138 139 public void layerRemoved(Layer a) { 140 if (a instanceof OsmDataLayer) { 141 ((OsmDataLayer)a).listenerDataChanged.remove(this); 142 } 143 } 144 public void layerAdded(Layer a) { 145 if (a instanceof OsmDataLayer) { 146 ((OsmDataLayer)a).listenerDataChanged.add(this); 147 } 148 } 149 public void dataChanged(OsmDataLayer l) { 150 updateList(); 151 repaint(); 152 } 153 135 154 } -
trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
r343 r348 109 109 110 110 public final LinkedList<ModifiedChangedListener> listenerModified = new LinkedList<ModifiedChangedListener>(); 111 111 public final LinkedList<DataChangeListener> listenerDataChanged = new LinkedList<DataChangeListener>(); 112 112 113 private SimplePaintVisitor mapPainter = new SimplePaintVisitor(); 113 114 … … 177 178 for (DataSource src : ((OsmDataLayer)from).data.dataSources) 178 179 data.dataSources.add(src); 180 fireDataChange(); 179 181 180 182 if (visitor.conflicts.isEmpty()) … … 315 317 this.mapPainter = mapPainter; 316 318 } 319 320 public void fireDataChange() { 321 for (DataChangeListener dcl : listenerDataChanged) { 322 dcl.dataChanged(this); 323 } 324 } 317 325 }
Note:
See TracChangeset
for help on using the changeset viewer.