Changeset 297 in josm


Ignore:
Timestamp:
Jul 27, 2007 10:50:54 AM (6 years ago)
Author:
imi
Message:
  • fixed bug that selection listener were informed twice on selection changes
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/actions/UnselectAllAction.java

    r181 r297  
    1515 
    1616        public void actionPerformed(ActionEvent e) { 
    17                 Main.ds.clearSelection(); 
     17                Main.ds.setSelected(); 
    1818        } 
    1919} 
  • src/org/openstreetmap/josm/data/osm/DataSet.java

    r290 r297  
    8282        /** 
    8383         * Remove the selection of the whole dataset. 
     84         * @deprecated Use setSelected() instead. 
    8485         */ 
     86        @Deprecated 
    8587        public void clearSelection() { 
    8688                clearSelection(nodes); 
     
    103105 
    104106        public void setSelected(Collection<? extends OsmPrimitive> selection) { 
    105                 clearSelection(); 
     107                clearSelection(nodes); 
     108                clearSelection(segments); 
     109                clearSelection(ways); 
    106110                for (OsmPrimitive osm : selection) 
    107111                        osm.selected = true; 
     
    110114 
    111115        public void setSelected(OsmPrimitive... osm) { 
    112                 clearSelection(); 
    113                 if (osm.length == 0 || (osm.length == 1 && osm[0] == null)) 
     116                if (osm.length == 1 && osm[0] == null) { 
     117                        setSelected(); 
    114118                        return; 
     119                } 
     120                clearSelection(nodes); 
     121                clearSelection(segments); 
     122                clearSelection(ways); 
    115123                for (OsmPrimitive o : osm) 
    116                         o.selected = true; 
     124                        if (o != null) 
     125                                o.selected = true; 
    117126                fireSelectionChanged(Arrays.asList(osm)); 
    118127        } 
  • src/org/openstreetmap/josm/gui/MapView.java

    r290 r297  
    132132                if (layer == editLayer) { 
    133133                        editLayer = null; 
    134                         Main.ds.clearSelection(); 
     134                        Main.ds.setSelected(); 
    135135                } 
    136136                layer.destroy(); 
  • src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r290 r297  
    230230                redoCommands.push(c); 
    231231                setModified(uploadedModified || !commands.isEmpty()); 
    232                 Main.ds.clearSelection(); 
     232                Main.ds.setSelected(); 
    233233                fireCommandsChanged(); 
    234234        } 
  • test/unit/org/openstreetmap/josm/data/osm/DataSetTest.java

    r290 r297  
    4646        } 
    4747 
    48         public void testClearSelection() { 
    49                 node1.selected = true; 
    50                 ds.clearSelection(); 
    51                 assertFalse(node1.selected); 
    52         } 
    53  
    5448        public void testGetSelected() { 
    5549                node1.selected = true; 
Note: See TracChangeset for help on using the changeset viewer.