Ignore:
Timestamp:
2009-08-08T10:53:46+02:00 (17 years ago)
Author:
Gubaer
Message:

fixed #3213: Adding objects to a relation breaks selecting multiple objects

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java

    r1926 r1927  
    376376     * @return the set of selected referers
    377377     */
    378     public Set<OsmPrimitive> getSelectedReferers() {
     378    public Set<OsmPrimitive> getSelectedChildPrimitives() {
    379379        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
    380380        for (RelationMember m: getSelectedMembers()) {
     
    385385
    386386    /**
     387     * Replies the set of selected referers. Never null, but may be empty.
     388     *
     389     * @return the set of selected referers
     390     */
     391    public Set<OsmPrimitive> getChildPrimitives(Collection<? extends OsmPrimitive> referenceSet) {
     392        HashSet<OsmPrimitive> ret = new HashSet<OsmPrimitive>();
     393        if (referenceSet == null) return null;
     394        for (RelationMember m: members) {
     395            if (referenceSet.contains(m.member)) {
     396                ret.add(m.member);
     397            }
     398        }
     399        return ret;
     400    }
     401
     402
     403    /**
    387404     * Replies true, if the selected {@see OsmPrimitive}s in the layer belonging
    388405     * to this model are in sync with the selected referers in this model.
     
    391408     */
    392409    public boolean selectionsAreInSync() {
    393         HashSet<OsmPrimitive> s1 = new HashSet<OsmPrimitive>(getSelectedReferers());
     410        HashSet<OsmPrimitive> s1 = new HashSet<OsmPrimitive>(getSelectedChildPrimitives());
    394411        if (s1.size() != layer.data.getSelected().size()) return false;
    395412        s1.removeAll(layer.data.getSelected());
Note: See TracChangeset for help on using the changeset viewer.