Ignore:
Timestamp:
2012-03-14T21:39:27+01:00 (12 years ago)
Author:
simon04
Message:

fix #5395 - add "Add selection to relation" to popup menu of relation toggle dialog

File:
1 edited

Legend:

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

    r4792 r5082  
    560560
    561561    /**
    562      * Replies true if there is at least one relation member in this model
    563      * which refers to at least on the primitives in <code>primitives</code>.
    564      *
     562     * Replies true if there is at least one relation member given as {@code members}
     563     * which refers to at least on the primitives in {@code primitives}.
     564     *
     565     * @param members the members
    565566     * @param primitives the collection of primitives
    566567     * @return true if there is at least one relation member in this model
     
    568569     * otherwise
    569570     */
     571    public static boolean hasMembersReferringTo(Collection<RelationMember> members, Collection<OsmPrimitive> primitives) {
     572        if (primitives == null || primitives.isEmpty()) {
     573            return false;
     574        }
     575        HashSet<OsmPrimitive> referrers = new HashSet<OsmPrimitive>();
     576        for (RelationMember member : members) {
     577            referrers.add(member.getMember());
     578        }
     579        for (OsmPrimitive referred : primitives) {
     580            if (referrers.contains(referred)) {
     581                return true;
     582            }
     583        }
     584        return false;
     585    }
     586
     587    /**
     588     * Replies true if there is at least one relation member in this model
     589     * which refers to at least on the primitives in <code>primitives</code>.
     590     *
     591     * @param primitives the collection of primitives
     592     * @return true if there is at least one relation member in this model
     593     * which refers to at least on the primitives in <code>primitives</code>; false
     594     * otherwise
     595     */
    570596    public boolean hasMembersReferringTo(Collection<OsmPrimitive> primitives) {
    571         if (primitives == null || primitives.isEmpty())
    572             return false;
    573         HashSet<OsmPrimitive> referrers = new HashSet<OsmPrimitive>();
    574         for(RelationMember member : members) {
    575             referrers.add(member.getMember());
    576         }
    577         Iterator<OsmPrimitive> it = primitives.iterator();
    578         while(it.hasNext()) {
    579             OsmPrimitive referred = it.next();
    580             if (referrers.contains(referred))
    581                 return true;
    582         }
    583         return false;
     597        return hasMembersReferringTo(members, primitives);
    584598    }
    585599
Note: See TracChangeset for help on using the changeset viewer.