Changes in src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java [17:30] in josm
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
r17 r30 3 3 import java.awt.BorderLayout; 4 4 import java.awt.Component; 5 import java.awt.Dimension; 5 6 import java.awt.event.ActionEvent; 6 7 import java.awt.event.ActionListener; … … 16 17 import javax.swing.ListSelectionModel; 17 18 19 import org.openstreetmap.josm.Main; 18 20 import org.openstreetmap.josm.data.SelectionChangedListener; 19 import org.openstreetmap.josm.data.osm.DataSet;20 21 import org.openstreetmap.josm.data.osm.OsmPrimitive; 21 22 import org.openstreetmap.josm.data.osm.visitor.SelectionComponentVisitor; 22 23 import org.openstreetmap.josm.gui.ImageProvider; 23 import org.openstreetmap.josm.gui.Main;24 24 import org.openstreetmap.josm.gui.MapFrame; 25 import org.openstreetmap.josm.gui.MapView;26 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;27 import org.openstreetmap.josm.gui.layer.Layer;28 25 29 26 /** … … 34 31 * @author imi 35 32 */ 36 public class SelectionListDialog extends ToggleDialog implements SelectionChangedListener , LayerChangeListener{33 public class SelectionListDialog extends ToggleDialog implements SelectionChangedListener { 37 34 38 35 /** … … 44 41 */ 45 42 private JList displaylist = new JList(list); 46 /**47 * The dataset, all selections are part of.48 */49 private final MapView mapView;50 43 51 44 /** … … 54 47 */ 55 48 public SelectionListDialog(MapFrame mapFrame) { 56 super(mapFrame, "Current Selection", "Selection List", "selectionlist", KeyEvent.VK_E, "Open a selection list window."); 57 this.mapView = mapFrame.mapView; 58 setLayout(new BorderLayout()); 59 setSize(300,400); 49 super("Current Selection", "Selection List", "selectionlist", KeyEvent.VK_E, "Open a selection list window."); 50 setPreferredSize(new Dimension(320,150)); 60 51 displaylist.setCellRenderer(new DefaultListCellRenderer(){ 61 52 private SelectionComponentVisitor visitor = new SelectionComponentVisitor(); … … 73 64 displaylist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 74 65 75 getContentPane().add(new JScrollPane(displaylist), BorderLayout.CENTER);66 add(new JScrollPane(displaylist), BorderLayout.CENTER); 76 67 77 68 JButton button = new JButton("Select", ImageProvider.get("mapmode", "selection")); … … 82 73 } 83 74 }); 84 getContentPane().add(button, BorderLayout.SOUTH);75 add(button, BorderLayout.SOUTH); 85 76 86 selectionChanged( mapView.getActiveDataSet().getSelected());77 selectionChanged(Main.main.ds.getSelected()); 87 78 } 88 79 … … 90 81 public void setVisible(boolean b) { 91 82 if (b) { 92 mapView.addLayerChangeListener(this); 93 mapView.getActiveDataSet().addSelectionChangedListener(this); 94 selectionChanged(mapView.getActiveDataSet().getSelected()); 83 Main.main.ds.addSelectionChangedListener(this); 84 selectionChanged(Main.main.ds.getSelected()); 95 85 } else { 96 mapView.removeLayerChangeListener(this); 97 mapView.getActiveDataSet().removeSelectionChangedListener(this); 86 Main.main.ds.removeSelectionChangedListener(this); 98 87 } 99 88 super.setVisible(b); … … 118 107 */ 119 108 public void updateMap() { 120 DataSet ds = mapView.getActiveDataSet(); 121 ds.clearSelection(); 109 Main.main.ds.clearSelection(); 122 110 for (int i = 0; i < list.getSize(); ++i) 123 111 if (displaylist.isSelectedIndex(i)) 124 ((OsmPrimitive)list.get(i)).setSelected(true , ds);112 ((OsmPrimitive)list.get(i)).setSelected(true); 125 113 Main.main.getMapFrame().repaint(); 126 114 } 127 128 public void activeLayerChange(Layer oldLayer, Layer newLayer) {129 DataSet ds = oldLayer.getDataSet();130 if (ds != null)131 ds.removeSelectionChangedListener(this);132 ds = newLayer.getDataSet();133 if (ds != null)134 ds.addSelectionChangedListener(this);135 }136 137 /**138 * Does nothing. Only to satisfy LayerChangeListener139 */140 public void layerAdded(Layer newLayer) {}141 /**142 * Does nothing. Only to satisfy LayerChangeListener143 */144 public void layerRemoved(Layer oldLayer) {}145 115 }
Note:
See TracChangeset
for help on using the changeset viewer.