Ignore:
Timestamp:
2010-02-05T01:34:07+01:00 (14 years ago)
Author:
mjulius
Message:

display list of referrers in ConflictResolutionDialog

Location:
trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMergeModel.java

    r2936 r2940  
    6565    private boolean myVisibleState;
    6666    private boolean theirVisibleState;
     67    private List<OsmPrimitive> myReferrers;
     68    private List<OsmPrimitive> theirReferrers;
    6769    private MergeDecisionType deletedMergeDecision;
    6870    private MergeDecisionType visibleMergeDecision;
     
    175177        theirVisibleState = their.isVisible();
    176178
     179        myReferrers = my.getReferrers();
     180        theirReferrers = their.getReferrers();
     181
    177182        coordMergeDecision = UNDECIDED;
    178183        deletedMergeDecision = UNDECIDED;
     
    270275    public  Boolean getTheirVisibleState() {
    271276        return theirVisibleState;
     277    }
     278
     279    /**
     280     * returns my referrers,
     281     * @return my referrers
     282     */
     283    public List<OsmPrimitive> getMyReferrers() {
     284        return myReferrers;
     285    }
     286
     287    /**
     288     * returns their referrers,
     289     * @return their referrers
     290     */
     291    public List<OsmPrimitive> getTheirReferrers() {
     292        return theirReferrers;
    272293    }
    273294
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java

    r2938 r2940  
    1010import java.awt.event.ActionEvent;
    1111import java.text.DecimalFormat;
     12import java.util.List;
    1213import java.util.Observable;
    1314import java.util.Observer;
     
    2223
    2324import org.openstreetmap.josm.data.coor.LatLon;
     25import org.openstreetmap.josm.data.osm.OsmPrimitive;
     26import org.openstreetmap.josm.gui.DefaultNameFormatter;
    2427import org.openstreetmap.josm.gui.conflict.pair.IConflictResolver;
    2528import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
     
    5457    private JLabel lblTheirVisibleState;
    5558
     59    private JLabel lblMyReferrers;
     60    private JLabel lblTheirReferrers;
     61
    5662    private final PropertiesMergeModel model;
    5763
     
    162168        gc.weightx = 0.0;
    163169        gc.weighty = 0.0;
    164         gc.insets = new Insets(0,5,20,5);
    165170        UndecideCoordinateConflictAction actUndecideCoordinates = new UndecideCoordinateConflictAction();
    166171        model.addObserver(actUndecideCoordinates);
     
    319324        btnUndecideVisibleState.setName("button.undecidevisiblestate");
    320325        add(btnUndecideVisibleState, gc);
     326    }
     327
     328    protected void buildReferrersRow() {
     329        GridBagConstraints gc = new GridBagConstraints();
     330
     331        gc.gridx = 0;
     332        gc.gridy = 7;
     333        gc.gridwidth = 1;
     334        gc.gridheight = 1;
     335        gc.fill = GridBagConstraints.BOTH;
     336        gc.anchor = GridBagConstraints.LINE_START;
     337        gc.weightx = 0.0;
     338        gc.weighty = 0.0;
     339        gc.insets = new Insets(0,5,0,5);
     340        add(new JLabel(tr("Referenced by:")), gc);
     341
     342        gc.gridx = 1;
     343        gc.gridy = 7;
     344        gc.fill = GridBagConstraints.BOTH;
     345        gc.anchor = GridBagConstraints.CENTER;
     346        gc.weightx = 0.33;
     347        gc.weighty = 0.0;
     348        add(lblMyReferrers = buildValueLabel("label.myreferrers"), gc);
     349
     350        gc.gridx = 5;
     351        gc.gridy = 7;
     352        gc.fill = GridBagConstraints.BOTH;
     353        gc.anchor = GridBagConstraints.CENTER;
     354        gc.weightx = 0.33;
     355        gc.weighty = 0.0;
     356        add(lblTheirReferrers = buildValueLabel("label.theirreferrers"), gc);
    321357    }
    322358
     
    327363        buildDeletedStateConflictRows();
    328364        buildVisibleStateRows();
     365        buildReferrersRow();
    329366    }
    330367
     
    372409        else
    373410            return tr("Physically delete from local dataset");
     411    }
     412
     413    public String referrersToString(List<OsmPrimitive> referrers) {
     414        if (referrers.isEmpty())
     415            return tr("(none)");
     416        String str = "<html>";
     417        for (OsmPrimitive r: referrers) {
     418            str = str + r.getDisplayName(DefaultNameFormatter.getInstance()) + "<br>";
     419        }
     420        str = str + "</html>";
     421        return str;
    374422    }
    375423
     
    457505    }
    458506
     507    protected void updateReferrers() {
     508        lblMyReferrers.setText(referrersToString(model.getMyReferrers()));
     509        lblMyReferrers.setBackground(BGCOLOR_NO_CONFLICT);
     510        lblTheirReferrers.setText(referrersToString(model.getTheirReferrers()));
     511        lblTheirReferrers.setBackground(BGCOLOR_NO_CONFLICT);
     512    }
     513
    459514    public void update(Observable o, Object arg) {
    460515        updateCoordinates();
    461516        updateDeletedState();
    462517        updateVisibleState();
     518        updateReferrers();
    463519    }
    464520
Note: See TracChangeset for help on using the changeset viewer.