Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java

    r17 r30  
    33import java.awt.BorderLayout;
    44import java.awt.Component;
     5import java.awt.Dimension;
    56import java.awt.event.ActionEvent;
    67import java.awt.event.ActionListener;
     
    1617import javax.swing.ListSelectionModel;
    1718
     19import org.openstreetmap.josm.Main;
    1820import org.openstreetmap.josm.data.SelectionChangedListener;
    19 import org.openstreetmap.josm.data.osm.DataSet;
    2021import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2122import org.openstreetmap.josm.data.osm.visitor.SelectionComponentVisitor;
    2223import org.openstreetmap.josm.gui.ImageProvider;
    23 import org.openstreetmap.josm.gui.Main;
    2424import 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;
    2825
    2926/**
     
    3431 * @author imi
    3532 */
    36 public class SelectionListDialog extends ToggleDialog implements SelectionChangedListener, LayerChangeListener {
     33public class SelectionListDialog extends ToggleDialog implements SelectionChangedListener {
    3734
    3835        /**
     
    4441         */
    4542        private JList displaylist = new JList(list);
    46         /**
    47          * The dataset, all selections are part of.
    48          */
    49         private final MapView mapView;
    5043       
    5144        /**
     
    5447         */
    5548        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));
    6051                displaylist.setCellRenderer(new DefaultListCellRenderer(){
    6152                        private SelectionComponentVisitor visitor = new SelectionComponentVisitor();
     
    7364                displaylist.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    7465
    75                 getContentPane().add(new JScrollPane(displaylist), BorderLayout.CENTER);
     66                add(new JScrollPane(displaylist), BorderLayout.CENTER);
    7667
    7768                JButton button = new JButton("Select", ImageProvider.get("mapmode", "selection"));
     
    8273                        }
    8374                });
    84                 getContentPane().add(button, BorderLayout.SOUTH);
     75                add(button, BorderLayout.SOUTH);
    8576
    86                 selectionChanged(mapView.getActiveDataSet().getSelected());
     77                selectionChanged(Main.main.ds.getSelected());
    8778        }
    8879
     
    9081        public void setVisible(boolean b) {
    9182                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());
    9585                } else {
    96                         mapView.removeLayerChangeListener(this);
    97                         mapView.getActiveDataSet().removeSelectionChangedListener(this);
     86                        Main.main.ds.removeSelectionChangedListener(this);
    9887                }
    9988                super.setVisible(b);
     
    118107         */
    119108        public void updateMap() {
    120                 DataSet ds = mapView.getActiveDataSet();
    121                 ds.clearSelection();
     109                Main.main.ds.clearSelection();
    122110                for (int i = 0; i < list.getSize(); ++i)
    123111                        if (displaylist.isSelectedIndex(i))
    124                                 ((OsmPrimitive)list.get(i)).setSelected(true, ds);
     112                                ((OsmPrimitive)list.get(i)).setSelected(true);
    125113                Main.main.getMapFrame().repaint();
    126114        }
    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 LayerChangeListener
    139          */
    140         public void layerAdded(Layer newLayer) {}
    141         /**
    142          * Does nothing. Only to satisfy LayerChangeListener
    143          */
    144         public void layerRemoved(Layer oldLayer) {}
    145115}
Note: See TracChangeset for help on using the changeset viewer.