Changeset 7018 in josm for trunk/src/org


Ignore:
Timestamp:
2014-04-28T03:20:05+02:00 (10 years ago)
Author:
Don-vip
Message:

refactor duplicated code

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/DefaultNameFormatter.java

    r7005 r7018  
    1515import java.util.LinkedList;
    1616import java.util.List;
     17import java.util.Map;
    1718import java.util.Set;
    1819
     
    493494     */
    494495    public String buildDefaultToolTip(IPrimitive primitive) {
     496        return buildDefaultToolTip(primitive.getId(), primitive.getKeys());
     497    }
     498   
     499    private String buildDefaultToolTip(long id, Map<String, String> tags) {
    495500        StringBuilder sb = new StringBuilder();
    496501        sb.append("<html>");
    497502        sb.append("<strong>id</strong>=")
    498         .append(primitive.getId())
     503        .append(id)
    499504        .append("<br>");
    500         List<String> keyList = new ArrayList<>(primitive.keySet());
     505        List<String> keyList = new ArrayList<>(tags.keySet());
    501506        Collections.sort(keyList);
    502507        for (int i = 0; i < keyList.size(); i++) {
     
    509514            .append("</strong>")
    510515            .append("=");
    511             String value = primitive.get(key);
     516            String value = tags.get(key);
    512517            while(value.length() != 0) {
    513518                sb.append(value.substring(0,Math.min(50, value.length())));
     
    666671     */
    667672    public String buildDefaultToolTip(HistoryOsmPrimitive primitive) {
    668         StringBuilder sb = new StringBuilder();
    669         sb.append("<html>");
    670         sb.append("<strong>id</strong>=")
    671         .append(primitive.getId())
    672         .append("<br>");
    673         List<String> keyList = new ArrayList<>(primitive.getTags().keySet());
    674         Collections.sort(keyList);
    675         for (int i = 0; i < keyList.size(); i++) {
    676             if (i > 0) {
    677                 sb.append("<br>");
    678             }
    679             String key = keyList.get(i);
    680             sb.append("<strong>")
    681             .append(key)
    682             .append("</strong>")
    683             .append("=");
    684             String value = primitive.get(key);
    685             while(value.length() != 0) {
    686                 sb.append(value.substring(0,Math.min(50, value.length())));
    687                 if (value.length() > 50) {
    688                     sb.append("<br>");
    689                     value = value.substring(50);
    690                 } else {
    691                     value = "";
    692                 }
    693             }
    694         }
    695         sb.append("</html>");
    696         return sb.toString();
     673        return buildDefaultToolTip(primitive.getId(), primitive.getTags());
    697674    }
    698675
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListTableCellRenderer.java

    r7005 r7018  
    44import java.awt.Component;
    55import java.text.MessageFormat;
    6 import java.util.ArrayList;
    7 import java.util.Collections;
    8 import java.util.List;
    96
    107import javax.swing.BorderFactory;
     
    1613
    1714import org.openstreetmap.josm.data.osm.Node;
    18 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1915import org.openstreetmap.josm.gui.DefaultNameFormatter;
    2016import org.openstreetmap.josm.gui.conflict.ConflictColors;
     
    3834        rowNumberBorder = BorderFactory.createEmptyBorder(0,4,0,0);
    3935        setOpaque(true);
    40     }
    41 
    42     /**
    43      * build the tool tip text for an {@link OsmPrimitive}. It consist of the formatted
    44      * key/value pairs for this primitive.
    45      *
    46      * @param primitive
    47      * @return the tool tip text
    48      */
    49     public String buildToolTipText(OsmPrimitive primitive) {
    50         StringBuilder sb = new StringBuilder();
    51 
    52         sb.append("<html>");
    53         // show the id
    54         //
    55         sb.append("<strong>id</strong>=")
    56         .append(primitive.getId())
    57         .append("<br>");
    58 
    59         // show the key/value-pairs, sorted by key
    60         //
    61         List<String> keyList = new ArrayList<>(primitive.keySet());
    62         Collections.sort(keyList);
    63         for (int i = 0; i < keyList.size(); i++) {
    64             if (i > 0) {
    65                 sb.append("<br>");
    66             }
    67             String key = keyList.get(i);
    68             sb.append("<strong>")
    69             .append(key)
    70             .append("</strong>")
    71             .append("=");
    72             // make sure long values are split into several rows. Otherwise
    73             // the tool tip window can become to wide
    74             //
    75             String value = primitive.get(key);
    76             while(value.length() != 0) {
    77                 sb.append(value.substring(0,Math.min(50, value.length())));
    78                 if (value.length() > 50) {
    79                     sb.append("<br>");
    80                     value = value.substring(50);
    81                 } else {
    82                     value = "";
    83                 }
    84             }
    85         }
    86         sb.append("</html>");
    87         return sb.toString();
    8836    }
    8937
     
    12270        }
    12371        setText(node.getDisplayName(DefaultNameFormatter.getInstance()));
    124         setToolTipText(buildToolTipText(node));
     72        setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(node));
    12573    }
    12674
  • trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberTableCellRenderer.java

    r7005 r7018  
    44import java.awt.Color;
    55import java.awt.Component;
    6 import java.util.ArrayList;
    7 import java.util.Collections;
    8 import java.util.List;
    96
    107import javax.swing.BorderFactory;
     
    1512
    1613import org.openstreetmap.josm.data.osm.Node;
    17 import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1814import org.openstreetmap.josm.data.osm.RelationMember;
    1915import org.openstreetmap.josm.gui.DefaultNameFormatter;
     
    3632        setOpaque(true);
    3733        rowNumberBorder = BorderFactory.createEmptyBorder(0,4,0,0);
    38     }
    39 
    40     public String buildToolTipText(OsmPrimitive primitive) {
    41         StringBuilder sb = new StringBuilder();
    42         sb.append("<html>");
    43         sb.append("<strong>id</strong>=")
    44         .append(primitive.getId())
    45         .append("<br>");
    46         List<String> keyList = new ArrayList<>(primitive.keySet());
    47         Collections.sort(keyList);
    48         for (int i = 0; i < keyList.size(); i++) {
    49             if (i > 0) {
    50                 sb.append("<br>");
    51             }
    52             String key = keyList.get(i);
    53             sb.append("<strong>")
    54             .append(key)
    55             .append("</strong>")
    56             .append("=");
    57             String value = primitive.get(key);
    58             while(value.length() != 0) {
    59                 sb.append(value.substring(0,Math.min(50, value.length())));
    60                 if (value.length() > 50) {
    61                     sb.append("<br>");
    62                     value = value.substring(50);
    63                 } else {
    64                     value = "";
    65                 }
    66             }
    67         }
    68         sb.append("</html>");
    69         return sb.toString();
    7034    }
    7135
     
    12993        String displayName = member.getMember().getDisplayName(DefaultNameFormatter.getInstance());
    13094        setText(displayName);
    131         setToolTipText(buildToolTipText(member.getMember()));
     95        setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(member.getMember()));
    13296        setIcon(ImageProvider.get(member.getDisplayType()));
    13397    }
Note: See TracChangeset for help on using the changeset viewer.