Ignore:
Timestamp:
2010-05-18T23:43:52+02:00 (13 years ago)
Author:
bastiK
Message:

extended command list dialog; added inspection panel

Location:
trunk/src/org/openstreetmap/josm/command
Files:
1 added
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/command/AddCommand.java

    r1990 r3262  
    66
    77import java.util.Collection;
     8import java.util.Collections;
    89
    910import javax.swing.JLabel;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1211
    1312import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    6160    }
    6261
    63     @Override public MutableTreeNode description() {
     62    @Override public JLabel getDescription() {
    6463        String msg;
    6564        switch(OsmPrimitiveType.from(osm)) {
     
    7069        }
    7170
    72         return new DefaultMutableTreeNode(
    73                 new JLabel(
    74                         tr(msg,
    75                                 osm.getDisplayName(DefaultNameFormatter.getInstance())
    76                         ),
    77                         ImageProvider.get(OsmPrimitiveType.from(osm)),
    78                         JLabel.HORIZONTAL
    79                 )
    80         );
     71        return new JLabel(
     72                tr(msg, osm.getDisplayName(DefaultNameFormatter.getInstance())),
     73                ImageProvider.get(OsmPrimitiveType.from(osm)),
     74                JLabel.HORIZONTAL);
     75    }
     76
     77    @Override
     78    public Collection<OsmPrimitive> getParticipatingPrimitives() {
     79        return Collections.singleton(osm);
    8180    }
    8281}
  • trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java

    r3257 r3262  
    66import java.util.ArrayList;
    77import java.util.Collection;
     8import java.util.HashSet;
    89import java.util.List;
    910
    1011import javax.swing.JLabel;
    11 import javax.swing.tree.DefaultMutableTreeNode;
    12 import javax.swing.tree.MutableTreeNode;
    1312
    1413import org.openstreetmap.josm.data.osm.Node;
     
    5655    }
    5756
    58     @Override
    59     public MutableTreeNode description() {
    60         return new DefaultMutableTreeNode(
    61                 new JLabel(trn("Added {0} object", "Added {0} objects", data.size(), data.size()), null,
    62                         JLabel.HORIZONTAL
    63                 )
     57    @Override public JLabel getDescription() {
     58        return new JLabel(trn("Added {0} object", "Added {0} objects", data.size(), data.size()), null,
     59                            JLabel.HORIZONTAL
    6460        );
    6561    }
     
    7167    }
    7268
     69    @Override
     70    public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     71        Collection<OsmPrimitive> prims = new HashSet<OsmPrimitive>();
     72        for (PrimitiveData d : data) {
     73            OsmPrimitive osm = getLayer().data.getPrimitiveById(d);
     74            if (osm == null)
     75                throw new RuntimeException();
     76            prims.add(osm);
     77        }
     78        return prims;
     79    }
    7380}
  • trunk/src/org/openstreetmap/josm/command/ChangeCommand.java

    r3152 r3262  
    88
    99import javax.swing.JLabel;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1210
    1311import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    5250    }
    5351
    54     @Override public MutableTreeNode description() {
     52    @Override public JLabel getDescription() {
    5553        String msg = "";
    5654        switch(OsmPrimitiveType.from(osm)) {
     
    5957        case RELATION: msg = marktr("Change relation {0}"); break;
    6058        }
    61         return new DefaultMutableTreeNode(
    62                 new JLabel(tr(msg,
    63                         osm.getDisplayName(DefaultNameFormatter.getInstance()),
    64                         ImageProvider.get(OsmPrimitiveType.from(osm)),
    65                         JLabel.HORIZONTAL)));
     59        return new JLabel(tr(msg,
     60                    osm.getDisplayName(DefaultNameFormatter.getInstance())),
     61                    ImageProvider.get(OsmPrimitiveType.from(osm)),
     62                    JLabel.HORIZONTAL);
    6663    }
    6764}
  • trunk/src/org/openstreetmap/josm/command/ChangeNodesCommand.java

    r3142 r3262  
    88
    99import javax.swing.JLabel;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1210
    1311import org.openstreetmap.josm.data.osm.Node;
     
    4846    }
    4947
    50     @Override public MutableTreeNode description() {
     48    @Override public JLabel getDescription() {
    5149        String msg = tr("Changed nodes of {0}", way.getDisplayName(DefaultNameFormatter.getInstance()));
    52         return new DefaultMutableTreeNode(
    53                 new JLabel(msg,
     50        return new JLabel(msg,
    5451                        ImageProvider.get(OsmPrimitiveType.WAY),
    55                         JLabel.HORIZONTAL));
     52                        JLabel.HORIZONTAL);
    5653    }
    5754}
  • trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java

    r2990 r3262  
    55import static org.openstreetmap.josm.tools.I18n.tr;
    66
     7import java.util.ArrayList;
    78import java.util.Collection;
     9import java.util.Collections;
    810import java.util.LinkedList;
    911import java.util.List;
    1012
    1113import javax.swing.JLabel;
    12 import javax.swing.tree.DefaultMutableTreeNode;
    13 import javax.swing.tree.MutableTreeNode;
    1414
    1515import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    9292    }
    9393
    94     @Override public MutableTreeNode description() {
     94    @Override public JLabel getDescription() {
    9595        String text;
    9696        if (objects.size() == 1) {
     
    117117                    : tr("Set {0}={1} for {2} objects", key, value, objects.size());
    118118        }
    119         DefaultMutableTreeNode root = new DefaultMutableTreeNode(new JLabel(text, ImageProvider.get("data", "key"), JLabel.HORIZONTAL));
     119        return new JLabel(text, ImageProvider.get("data", "key"), JLabel.HORIZONTAL);
     120    }
     121
     122    @Override public Collection<PseudoCommand> getChildren() {
    120123        if (objects.size() == 1)
    121             return root;
    122         for (OsmPrimitive osm : objects) {
    123             root.add(new DefaultMutableTreeNode(
    124                     new JLabel(
    125                             osm.getDisplayName(DefaultNameFormatter.getInstance()),
    126                             ImageProvider.get(OsmPrimitiveType.from(osm)),
    127                             JLabel.HORIZONTAL)
    128             )
    129             );
     124            return null;
     125        List<PseudoCommand> children = new ArrayList<PseudoCommand>();
     126        for (final OsmPrimitive osm : objects) {
     127            children.add(new PseudoCommand() {
     128                @Override public JLabel getDescription() {
     129                    return new JLabel(
     130                                osm.getDisplayName(DefaultNameFormatter.getInstance()),
     131                                ImageProvider.get(OsmPrimitiveType.from(osm)),
     132                                JLabel.HORIZONTAL);
     133
     134                }
     135                @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     136                    return Collections.singleton(osm);
     137                }
     138
     139            });
    130140        }
    131         return root;
     141        return children;
    132142    }
    133143}
  • trunk/src/org/openstreetmap/josm/command/ChangeRelationMemberRoleCommand.java

    r3083 r3262  
    77
    88import javax.swing.JLabel;
    9 import javax.swing.tree.DefaultMutableTreeNode;
    10 import javax.swing.tree.MutableTreeNode;
    119
    1210import org.openstreetmap.josm.Main;
     
    6765    }
    6866
    69     @Override public MutableTreeNode description() {
    70         return new DefaultMutableTreeNode(
    71                 new JLabel(
     67    @Override public JLabel getDescription() {
     68        return new JLabel(
    7269                        tr("Change relation member role for {0} {1}",
    7370                                OsmPrimitiveType.from(relation),
     
    7572                        ),
    7673                        ImageProvider.get(OsmPrimitiveType.from(relation)),
    77                         JLabel.HORIZONTAL)
     74                        JLabel.HORIZONTAL
    7875        );
    7976    }
  • trunk/src/org/openstreetmap/josm/command/Command.java

    r3034 r3262  
    99import java.util.Map.Entry;
    1010
     11import javax.swing.tree.DefaultMutableTreeNode;
    1112import javax.swing.tree.MutableTreeNode;
    1213
     
    3031 * @author imi
    3132 */
    32 abstract public class Command {
     33abstract public class Command extends PseudoCommand {
    3334
    3435    private static final class CloneVisitor extends AbstractVisitor {
     
    132133     * Replies the layer this command is (or was) applied to.
    133134     *
    134      * @return
    135135     */
    136136    protected  OsmDataLayer getLayer() {
     
    150150            Collection<OsmPrimitive> added);
    151151
    152     abstract public MutableTreeNode description();
     152    /**
     153     * Return the primitives that take part in this command.
     154     */
     155    @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     156        return cloneMap.keySet();
     157    }
     158
     159    /**
     160     * Provide a description that can be presented in a list or tree view.
     161     * This override will be removed when
     162     * <code>description()</code> is removed.
     163     */
     164    @Override public Object getDescription() {
     165        return ((DefaultMutableTreeNode) description()).getUserObject();
     166    }
     167
     168    /**
     169     * @deprecated use getDescription() and getChildren() instead
     170     */
     171    @Deprecated
     172    public MutableTreeNode description() {
     173        return null;
     174    }
    153175
    154176}
  • trunk/src/org/openstreetmap/josm/command/ConflictAddCommand.java

    r3083 r3262  
    88import javax.swing.JLabel;
    99import javax.swing.JOptionPane;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1210
    1311import org.openstreetmap.josm.Main;
     
    6563    }
    6664
    67     @Override public MutableTreeNode description() {
    68         return new DefaultMutableTreeNode(
    69                 new JLabel(
     65    @Override public JLabel getDescription() {
     66        return new JLabel(
    7067                        tr("Add conflict for ''{0}''",
    7168                                conflict.getMy().getDisplayName(DefaultNameFormatter.getInstance())
     
    7370                        ImageProvider.get(OsmPrimitiveType.from(conflict.getMy())),
    7471                        JLabel.HORIZONTAL
    75                 )
    7672        );
    7773    }
  • trunk/src/org/openstreetmap/josm/command/CoordinateConflictResolveCommand.java

    r3083 r3262  
    77
    88import javax.swing.JLabel;
    9 import javax.swing.tree.DefaultMutableTreeNode;
    10 import javax.swing.tree.MutableTreeNode;
    119
    1210import org.openstreetmap.josm.data.conflict.Conflict;
     
    4038    }
    4139
    42     @Override
    43     public MutableTreeNode description() {
    44         return new DefaultMutableTreeNode(
    45                 new JLabel(
     40    @Override public JLabel getDescription() {
     41        return new JLabel(
    4642                        tr("Resolve conflicts in coordinates in {0}",conflict.getMy().getId()),
    4743                        ImageProvider.get("data", "object"),
    4844                        JLabel.HORIZONTAL
    49                 )
    5045        );
    5146    }
  • trunk/src/org/openstreetmap/josm/command/DeleteCommand.java

    r3152 r3262  
    148148    public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted,
    149149            Collection<OsmPrimitive> added) {
    150         deleted.addAll(toDelete);
    151     }
    152 
    153     @Override
    154     public MutableTreeNode description() {
     150    }
     151
     152    @Override public JLabel getDescription() {
    155153        if (toDelete.size() == 1) {
    156154            OsmPrimitive primitive = toDelete.iterator().next();
     
    162160            }
    163161
    164             return new DefaultMutableTreeNode(new JLabel(tr(msg, primitive.getDisplayName(DefaultNameFormatter.getInstance())),
    165                     ImageProvider.get(OsmPrimitiveType.from(primitive)), JLabel.HORIZONTAL));
    166         }
    167 
    168         Set<OsmPrimitiveType> typesToDelete = new HashSet<OsmPrimitiveType>();
    169         for (OsmPrimitive osm : toDelete) {
    170             typesToDelete.add(OsmPrimitiveType.from(osm));
    171         }
    172         String msg = "";
    173         String apiname = "object";
    174         if (typesToDelete.size() > 1) {
    175             msg = trn("Delete {0} object", "Delete {0} objects", toDelete.size(), toDelete.size());
     162            return new JLabel(tr(msg, primitive.getDisplayName(DefaultNameFormatter.getInstance())),
     163                    ImageProvider.get(OsmPrimitiveType.from(primitive)), JLabel.HORIZONTAL);
    176164        } else {
    177             OsmPrimitiveType t = typesToDelete.iterator().next();
    178             apiname = t.getAPIName();
    179             switch(t) {
    180             case NODE: msg = trn("Delete {0} node", "Delete {0} nodes", toDelete.size(), toDelete.size()); break;
    181             case WAY: msg = trn("Delete {0} way", "Delete {0} ways", toDelete.size(), toDelete.size()); break;
    182             case RELATION: msg = trn("Delete {0} relation", "Delete {0} relations", toDelete.size(), toDelete.size()); break;
    183             }
    184         }
    185         DefaultMutableTreeNode root = new DefaultMutableTreeNode(
    186                 new JLabel(msg, ImageProvider.get("data", apiname), JLabel.HORIZONTAL)
    187         );
    188         for (OsmPrimitive osm : toDelete) {
    189             root.add(new DefaultMutableTreeNode(new JLabel(
    190                     osm.getDisplayName(DefaultNameFormatter.getInstance()),
    191                     ImageProvider.get(OsmPrimitiveType.from(osm)), JLabel.HORIZONTAL)));
    192         }
    193         return root;
     165            Set<OsmPrimitiveType> typesToDelete = new HashSet<OsmPrimitiveType>();
     166            for (OsmPrimitive osm : toDelete) {
     167                typesToDelete.add(OsmPrimitiveType.from(osm));
     168            }
     169            String msg = "";
     170            String apiname = "object";
     171            if (typesToDelete.size() > 1) {
     172                msg = trn("Delete {0} object", "Delete {0} objects", toDelete.size(), toDelete.size());
     173            } else {
     174                OsmPrimitiveType t = typesToDelete.iterator().next();
     175                apiname = t.getAPIName();
     176                switch(t) {
     177                case NODE: msg = trn("Delete {0} node", "Delete {0} nodes", toDelete.size(), toDelete.size()); break;
     178                case WAY: msg = trn("Delete {0} way", "Delete {0} ways", toDelete.size(), toDelete.size()); break;
     179                case RELATION: msg = trn("Delete {0} relation", "Delete {0} relations", toDelete.size(), toDelete.size()); break;
     180                }
     181            }
     182            return  new JLabel(msg, ImageProvider.get("data", apiname), JLabel.HORIZONTAL);
     183        }
     184    }
     185
     186    @Override public Collection<PseudoCommand> getChildren() {
     187        if (toDelete.size() == 1) {
     188            return null;
     189        } else {
     190            List<PseudoCommand> children = new ArrayList<PseudoCommand>();
     191            for (final OsmPrimitive osm : toDelete) {
     192                children.add(new PseudoCommand() {
     193                    @Override public JLabel getDescription() {
     194                        return new JLabel(
     195                            tr("Deleted ''{0}''",
     196                                osm.getDisplayName(DefaultNameFormatter.getInstance())),
     197                            ImageProvider.get(OsmPrimitiveType.from(osm)), JLabel.HORIZONTAL);
     198                        }
     199                    @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     200                        return Collections.singleton(osm);
     201                    }
     202
     203                });
     204            }
     205            return children;
     206
     207        }
     208    }
     209
     210    @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     211        return toDelete;
    194212    }
    195213
  • trunk/src/org/openstreetmap/josm/command/DeletedStateConflictResolveCommand.java

    r3083 r3262  
    77
    88import javax.swing.JLabel;
    9 import javax.swing.tree.DefaultMutableTreeNode;
    10 import javax.swing.tree.MutableTreeNode;
    119
    1210import org.openstreetmap.josm.data.conflict.Conflict;
     
    4038    }
    4139
    42     @Override
    43     public MutableTreeNode description() {
    44         return new DefaultMutableTreeNode(
    45                 new JLabel(
     40    @Override public JLabel getDescription() {
     41        return new JLabel(
    4642                        tr("Resolve conflicts in deleted state in {0}",conflict.getMy().getId()),
    4743                        ImageProvider.get("data", "object"),
    4844                        JLabel.HORIZONTAL
    49                 )
    5045        );
    5146    }
  • trunk/src/org/openstreetmap/josm/command/ModifiedConflictResolveCommand.java

    r3083 r3262  
    88
    99import javax.swing.JLabel;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1210
    1311import org.openstreetmap.josm.data.conflict.Conflict;
     
    3533    }
    3634
    37     @Override
    38     public MutableTreeNode description() {
     35    @Override public JLabel getDescription() {
    3936        String msg = "";
    4037        switch(OsmPrimitiveType.from(conflict.getMy())) {
     
    4340        case RELATION: msg = marktr("Set the ''modified'' flag for relation {0}"); break;
    4441        }
    45         return new DefaultMutableTreeNode(
    46                 new JLabel(
     42        return new JLabel(
    4743                        tr(msg,conflict.getMy().getId()),
    4844                        ImageProvider.get("data", "object"),
    4945                        JLabel.HORIZONTAL
    50                 )
    5146        );
    5247    }
  • trunk/src/org/openstreetmap/josm/command/MoveCommand.java

    r3253 r3262  
    1111
    1212import javax.swing.JLabel;
    13 import javax.swing.tree.DefaultMutableTreeNode;
    14 import javax.swing.tree.MutableTreeNode;
    1513
    1614import org.openstreetmap.josm.data.coor.LatLon;
     
    118116    }
    119117
    120     @Override public MutableTreeNode description() {
    121         return new DefaultMutableTreeNode(new JLabel(trn("Move {0} node", "Move {0} nodes", nodes.size(), nodes.size()), ImageProvider.get("data", "node"), JLabel.HORIZONTAL));
     118    @Override public JLabel getDescription() {
     119        return new JLabel(trn("Move {0} node", "Move {0} nodes", nodes.size(), nodes.size()), ImageProvider.get("data", "node"), JLabel.HORIZONTAL);
    122120    }
    123121
     122    /**
     123     * @Deprecated use getParticipatingPrimitives() instead
     124     */
     125    @Deprecated
    124126    public Collection<Node> getMovedNodes() {
    125127        return nodes;
    126128    }
     129
     130    @Override
     131    public Collection<Node> getParticipatingPrimitives() {
     132        return nodes;
     133    }
    127134}
  • trunk/src/org/openstreetmap/josm/command/PurgePrimitivesCommand.java

    r3089 r3262  
    55import static org.openstreetmap.josm.tools.I18n.trn;
    66
     7import java.util.ArrayList;
    78import java.util.Collection;
    89import java.util.Collections;
    910import java.util.HashSet;
     11import java.util.List;
    1012import java.util.Set;
    1113import java.util.logging.Logger;
    1214
    1315import javax.swing.JLabel;
    14 import javax.swing.tree.DefaultMutableTreeNode;
    15 import javax.swing.tree.MutableTreeNode;
    1616
    1717import org.openstreetmap.josm.Main;
     
    9696    }
    9797
    98     protected MutableTreeNode getDescription(OsmPrimitive primitive) {
    99         return new DefaultMutableTreeNode(
    100                 new JLabel(
    101                         tr("Purged object ''{0}''", primitive.getDisplayName(DefaultNameFormatter.getInstance())),
     98    @Override public JLabel getDescription() {
     99        if (purgedPrimitives.size() == 1) {
     100            return new JLabel(
     101                tr("Purged object ''{0}''",
     102                        purgedPrimitives.iterator().next().getDisplayName(DefaultNameFormatter.getInstance())),
     103                ImageProvider.get("data", "object"),
     104                JLabel.HORIZONTAL
     105            );
     106        } else {
     107            return new JLabel(trn("Purged {0} object", "Purged {0} objects", purgedPrimitives.size(), purgedPrimitives.size()));
     108        }
     109    }
     110
     111    @Override public Collection<PseudoCommand> getChildren() {
     112        if (purgedPrimitives.size() == 1)
     113            return null;
     114        List<PseudoCommand> children = new ArrayList<PseudoCommand>();
     115        for (final OsmPrimitive osm : purgedPrimitives) {
     116            children.add(new PseudoCommand() {
     117                @Override public JLabel getDescription() {
     118                    return new JLabel(
     119                        tr("Purged object ''{0}''",
     120                                osm.getDisplayName(DefaultNameFormatter.getInstance())),
    102121                        ImageProvider.get("data", "object"),
    103122                        JLabel.HORIZONTAL
    104                 )
    105         );
    106     }
    107 
    108     protected MutableTreeNode getDescription(Collection<OsmPrimitive> primitives) {
    109 
    110         DefaultMutableTreeNode root = new DefaultMutableTreeNode(
    111                 trn("Purged {0} object", "Purged {0} objects", primitives.size(), primitives.size())
    112         );
    113         for (OsmPrimitive p : primitives) {
    114             root.add(getDescription(p));
    115         }
    116         return root;
    117     }
    118 
    119     @Override
    120     public MutableTreeNode description() {
    121         if (purgedPrimitives.size() == 1)
    122             return getDescription(purgedPrimitives.iterator().next());
    123         else
    124             return getDescription(purgedPrimitives);
     123                    );
     124                }
     125                @Override public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     126                    return Collections.singleton(osm);
     127                }
     128
     129            });
     130        }
     131        return children;
    125132    }
    126133
  • trunk/src/org/openstreetmap/josm/command/RelationMemberConflictResolverCommand.java

    r3083 r3262  
    99
    1010import javax.swing.JLabel;
    11 import javax.swing.tree.DefaultMutableTreeNode;
    12 import javax.swing.tree.MutableTreeNode;
    1311
    1412import org.openstreetmap.josm.Main;
     
    5149    }
    5250
    53     @Override
    54     public MutableTreeNode description() {
    55         return new DefaultMutableTreeNode(
    56                 new JLabel(
     51    @Override public JLabel getDescription() {
     52        return new JLabel(
    5753                        tr("Resolve conflicts in member list of relation {0}", my.getId()),
    5854                        ImageProvider.get("data", "object"),
    5955                        JLabel.HORIZONTAL
    60                 )
    6156        );
    6257    }
  • trunk/src/org/openstreetmap/josm/command/RotateCommand.java

    r2070 r3262  
    99
    1010import javax.swing.JLabel;
    11 import javax.swing.tree.DefaultMutableTreeNode;
    12 import javax.swing.tree.MutableTreeNode;
    1311
    1412import org.openstreetmap.josm.data.coor.EastNorth;
     
    138136    }
    139137
    140     @Override public MutableTreeNode description() {
    141         return new DefaultMutableTreeNode(new JLabel(trn("Rotate {0} node", "Rotate {0} nodes", nodes.size(), nodes.size()), ImageProvider.get("data", "node"), JLabel.HORIZONTAL));
     138    @Override public JLabel getDescription() {
     139        return new JLabel(trn("Rotate {0} node", "Rotate {0} nodes", nodes.size(), nodes.size()), ImageProvider.get("data", "node"), JLabel.HORIZONTAL);
    142140    }
    143141
  • trunk/src/org/openstreetmap/josm/command/SequenceCommand.java

    r1750 r3262  
    66import java.util.Arrays;
    77import java.util.Collection;
     8import java.util.HashSet;
     9import java.util.List;
    810
    9 import javax.swing.tree.DefaultMutableTreeNode;
    10 import javax.swing.tree.MutableTreeNode;
     11import javax.swing.JLabel;
    1112
    1213import org.openstreetmap.josm.Main;
    1314import org.openstreetmap.josm.data.osm.OsmPrimitive;
     15import org.openstreetmap.josm.tools.ImageProvider;
    1416
    1517/**
     
    8890    }
    8991
    90     @Override public MutableTreeNode description() {
    91         DefaultMutableTreeNode root = new DefaultMutableTreeNode(tr("Sequence")+": "+name);
     92    @Override public JLabel getDescription() {
     93        return new JLabel(tr("Sequence")+": "+name, ImageProvider.get("data", "sequence"), JLabel.HORIZONTAL);
     94    }
     95
     96    @Override
     97    public Collection<PseudoCommand> getChildren() {
     98        return (List) Arrays.asList(sequence);
     99    }
     100
     101    @Override
     102    public Collection<? extends OsmPrimitive> getParticipatingPrimitives() {
     103        Collection<OsmPrimitive> prims = new HashSet<OsmPrimitive>();
    92104        for (Command c : sequence) {
    93             root.add(c.description());
     105            prims.addAll(c.getParticipatingPrimitives());
    94106        }
    95         return root;
     107        return prims;
    96108    }
    97109}
  • trunk/src/org/openstreetmap/josm/command/TagConflictResolveCommand.java

    r3083 r3262  
    1010
    1111import javax.swing.JLabel;
    12 import javax.swing.tree.DefaultMutableTreeNode;
    13 import javax.swing.tree.MutableTreeNode;
    1412
    1513import org.openstreetmap.josm.data.conflict.Conflict;
     
    6159    }
    6260
    63     @Override
    64     public MutableTreeNode description() {
     61    @Override public JLabel getDescription() {
    6562        String msg = "";
    6663        switch(OsmPrimitiveType.from(conflict.getMy())) {
     
    6966        case RELATION: msg = marktr("Resolve {0} tag conflicts in relation {1}"); break;
    7067        }
    71         return new DefaultMutableTreeNode(
    72                 new JLabel(
     68        return new JLabel(
    7369                        tr(msg,getNumDecidedConflicts(), conflict.getMy().getId()),
    7470                        ImageProvider.get("data", "object"),
    7571                        JLabel.HORIZONTAL
    76                 )
    7772        );
    7873    }
  • trunk/src/org/openstreetmap/josm/command/UndeletePrimitivesCommand.java

    r3083 r3262  
    1111
    1212import javax.swing.JLabel;
    13 import javax.swing.tree.DefaultMutableTreeNode;
    14 import javax.swing.tree.MutableTreeNode;
    1513
    1614import org.openstreetmap.josm.data.osm.DataSet;
     
    6260    }
    6361
    64     @Override
    65     public MutableTreeNode description() {
    66         return new DefaultMutableTreeNode(
    67                 new JLabel(
     62    @Override public JLabel getDescription() {
     63        return new JLabel(
    6864                        trn("Undelete {0} primitive", "Undelete {0} primitives", toUndelete.size(), toUndelete.size()),
    6965                        ImageProvider.get("data", "object"),
    7066                        JLabel.HORIZONTAL
    71                 )
    7267        );
    7368    }
  • trunk/src/org/openstreetmap/josm/command/VersionConflictResolveCommand.java

    r3083 r3262  
    88
    99import javax.swing.JLabel;
    10 import javax.swing.tree.DefaultMutableTreeNode;
    11 import javax.swing.tree.MutableTreeNode;
    1210
    1311import org.openstreetmap.josm.data.conflict.Conflict;
     
    3533    }
    3634
    37     @Override
    38     public MutableTreeNode description() {
     35    @Override public JLabel getDescription() {
    3936        String msg = "";
    4037        switch(OsmPrimitiveType.from(conflict.getMy())) {
     
    4340        case RELATION: msg = marktr("Resolve version conflict for relation {0}"); break;
    4441        }
    45         return new DefaultMutableTreeNode(
    46                 new JLabel(
     42        return new JLabel(
    4743                        tr(msg,conflict.getMy().getId()),
    4844                        ImageProvider.get("data", "object"),
    4945                        JLabel.HORIZONTAL
    50                 )
    5146        );
    5247    }
  • trunk/src/org/openstreetmap/josm/command/WayNodesConflictResolverCommand.java

    r3083 r3262  
    99
    1010import javax.swing.JLabel;
    11 import javax.swing.tree.DefaultMutableTreeNode;
    12 import javax.swing.tree.MutableTreeNode;
    1311
    1412import org.openstreetmap.josm.data.conflict.Conflict;
     
    4745    }
    4846
    49     @Override
    50     public MutableTreeNode description() {
    51         return new DefaultMutableTreeNode(
    52                 new JLabel(
     47    @Override public JLabel getDescription() {
     48        return new JLabel(
    5349                        tr("Resolve conflicts in node list of way {0}", conflict.getMy().getId()),
    5450                        ImageProvider.get("data", "object"),
    5551                        JLabel.HORIZONTAL
    56                 )
    5752        );
    5853    }
Note: See TracChangeset for help on using the changeset viewer.