Changeset 4064 in josm


Ignore:
Timestamp:
2011-04-25T20:32:26+02:00 (8 years ago)
Author:
bastiK
Message:

applied #6250 (patch by akks) - move selection history to dataset

Location:
trunk/src/org/openstreetmap/josm
Files:
3 edited

Legend:

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

    r3823 r4064  
    208208        if (cbClearUndoRedo.isSelected()) {
    209209            Main.main.undoRedo.clean();
    210             Main.map.selectionListDialog.clearSelectionHistory();
     210            getCurrentDataSet().clearSelectionHistory();
    211211        }
    212212    }
  • trunk/src/org/openstreetmap/josm/data/osm/DataSet.java

    r3801 r4064  
    134134
    135135    /**
     136     * History of selections - shared by plugins and SelectionListDialog
     137     */
     138    private final LinkedList<Collection<? extends OsmPrimitive>> selectionHistory = new LinkedList<Collection<? extends OsmPrimitive>>();
     139
     140    /**
     141     * Replies the history of JOSM selections
     142     *
     143     * @return
     144     */
     145    public LinkedList<Collection<? extends OsmPrimitive>> getSelectionHistory() {
     146        return selectionHistory;
     147    }
     148
     149    /**
     150     * Clears selection history list
     151     */
     152    public void clearSelectionHistory() {
     153            selectionHistory.clear();
     154        }
     155
     156    /**
    136157     * Maintain a list of used tags for autocompletion
    137158     */
  • trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java

    r3654 r4064  
    200200        DatasetEventManager.getInstance().addDatasetListener(model, FireMode.IN_EDT);
    201201        MapView.addEditLayerChangeListener(actSearch);
     202        // editLayerChanged also gets the selection history of the level
     203        model.editLayerChanged(null, Main.map.mapView.getEditLayer());
    202204        if (Main.map.mapView.getEditLayer() != null) {
    203205            model.setJOSMSelection(Main.map.mapView.getEditLayer().data.getSelected());
     
    222224    }
    223225
    224     public void clearSelectionHistory() {
    225         model.clearSelectionHistory();
    226     }
    227226
    228227    /**
     
    482481        private static final int SELECTION_HISTORY_SIZE = 10;
    483482
    484         private final LinkedList<Collection<? extends OsmPrimitive>> history = new LinkedList<Collection<? extends OsmPrimitive>>();
     483        // Variable to store history from currentDataSet()
     484        private LinkedList<Collection<? extends OsmPrimitive>> history;
    485485        private final List<OsmPrimitive> selection = new ArrayList<OsmPrimitive>();
    486486        private DefaultListSelectionModel selectionModel;
     
    522522            if (selection == null)return;
    523523            if (selection.isEmpty())return;
     524            if (history == null) return;
    524525            if (history.isEmpty()) {
    525526                history.add(selection);
     
    547548        public List<Collection<? extends OsmPrimitive>> getSelectionHistory() {
    548549            return history;
    549         }
    550 
    551         public void clearSelectionHistory() {
    552             history.clear();
    553550        }
    554551
     
    690687            if (newLayer == null) {
    691688                setJOSMSelection(null);
     689                history = null;
    692690            } else {
     691                history = newLayer.data.getSelectionHistory();
    693692                setJOSMSelection(newLayer.data.getSelected());
    694693            }
Note: See TracChangeset for help on using the changeset viewer.