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

extended command list dialog; added inspection panel

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.