Changeset 2940 in josm


Ignore:
Timestamp:
Feb 5, 2010 1:34:07 AM (3 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.