Ignore:
Timestamp:
2012-09-07T16:40:13+02:00 (13 years ago)
Author:
larry0ua
Message:

'RelToolbox: refactored relation fixing code, added associatedStreet as a fixable relation'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/reltoolbox/src/relcontext/actions/AddRemoveMemberAction.java

    r27927 r28693  
    11package relcontext.actions;
    22
    3 import java.util.*;
    4 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    53import static org.openstreetmap.josm.tools.I18n.tr;
     4
    65import java.awt.event.ActionEvent;
    76import java.awt.event.KeyEvent;
     7import java.util.ArrayList;
     8import java.util.Collection;
     9
    810import org.openstreetmap.josm.Main;
    911import org.openstreetmap.josm.actions.JosmAction;
     
    1113import org.openstreetmap.josm.command.Command;
    1214import org.openstreetmap.josm.data.osm.Node;
     15import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1316import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    1417import org.openstreetmap.josm.data.osm.Relation;
     
    1720import org.openstreetmap.josm.tools.ImageProvider;
    1821import org.openstreetmap.josm.tools.Shortcut;
     22
    1923import relcontext.ChosenRelation;
    2024import relcontext.ChosenRelationListener;
     
    3034    private static final String ACTION_NAME = "Add/remove member";
    3135    private ChosenRelation rel;
     36    private SortAndFixAction sortAndFix;
    3237
    33     public AddRemoveMemberAction( ChosenRelation rel ) {
     38    public AddRemoveMemberAction( ChosenRelation rel, SortAndFixAction sortAndFix ) {
    3439        super(null, "relcontext/addremove", tr("Add/remove members from the chosen relation"),
    3540                Shortcut.registerShortcut("reltoolbox:addremove", tr("Relation Toolbox: {0}", tr("Add/remove members from the chosen relation")),
    3641                KeyEvent.VK_EQUALS, Shortcut.DIRECT), false);
    3742        this.rel = rel;
     43        this.sortAndFix = sortAndFix;
    3844        rel.addChosenRelationListener(this);
    3945        updateEnabledState();
     
    5157
    5258        // 0. check if relation is broken (temporary)
    53         boolean isBroken = !toAdd.isEmpty() && SortAndFixAction.needsFixing(r);
     59        boolean isBroken = !toAdd.isEmpty() && sortAndFix.needsFixing(r);
    5460
    5561        // 1. remove all present members
     
    6672
    6773        // 3. check for roles again (temporary)
    68         Command roleFix = !isBroken && SortAndFixAction.needsFixing(r) ? SortAndFixAction.fixRelation(r) : null;
     74        Command roleFix = !isBroken && sortAndFix.needsFixing(r) ? sortAndFix.fixRelation(r) : null;
    6975        if( roleFix != null )
    7076            roleFix.executeCommand();
Note: See TracChangeset for help on using the changeset viewer.