Ignore:
Timestamp:
2009-10-09T17:16:54+02:00 (15 years ago)
Author:
Gubaer
Message:

Removed inefficient DataSet:getSelected() when responding to fireSelectionChanged() in JOSM actions, see thread on dev
Still uses DataSet:getSelected() when responding to layer change events, this is less critical.

File:
1 edited

Legend:

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

    r2017 r2256  
    9797    @Override
    9898    protected void updateEnabledState() {
    99         setEnabled(getNumWaysInSelection() > 0);
     99        if (getCurrentDataSet() == null) {
     100            setEnabled(false);
     101        } else {
     102            updateEnabledState(getCurrentDataSet().getSelected());
     103        }
     104    }
     105
     106    @Override
     107    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
     108        if (selection == null) {
     109            setEnabled(false);
     110            return;
     111        }
     112        int n = 0;
     113        for (OsmPrimitive primitive : selection) {
     114            if (primitive instanceof Way) {
     115                n++;
     116            }
     117        }
     118        setEnabled(n > 0);
    100119    }
    101120}
Note: See TracChangeset for help on using the changeset viewer.