Ignore:
Timestamp:
2008-12-23T15:07:05+01:00 (17 years ago)
Author:
stoecker
Message:

removed usage of tab stops

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/CopyAction.java

    r1084 r1169  
    2828public final class CopyAction extends JosmAction implements SelectionChangedListener {
    2929
    30         private LinkedList<JosmAction> listeners;
     30    private LinkedList<JosmAction> listeners;
    3131
    32         public CopyAction() {
    33                 super(tr("Copy"), "copy",
    34                                 tr("Copy selected objects to paste buffer."),
    35                                 Shortcut.registerShortcut("system:copy", tr("Edit: {0}", tr("Copy")), KeyEvent.VK_C, Shortcut.GROUP_MENU), true);
    36                 setEnabled(false);
    37                 DataSet.selListeners.add(this);
    38                 listeners = new LinkedList<JosmAction>();
    39         }
     32    public CopyAction() {
     33        super(tr("Copy"), "copy",
     34                tr("Copy selected objects to paste buffer."),
     35                Shortcut.registerShortcut("system:copy", tr("Edit: {0}", tr("Copy")), KeyEvent.VK_C, Shortcut.GROUP_MENU), true);
     36        setEnabled(false);
     37        DataSet.selListeners.add(this);
     38        listeners = new LinkedList<JosmAction>();
     39    }
    4040
    41         @Override public void addListener(JosmAction a) {
    42                 listeners.add(a);
    43         }
     41    @Override public void addListener(JosmAction a) {
     42        listeners.add(a);
     43    }
    4444
    45         public void actionPerformed(ActionEvent e) {
    46                 Collection<OsmPrimitive> sel = Main.ds.getSelected();
    47                 if (sel.isEmpty()) {
    48                         JOptionPane.showMessageDialog(Main.parent,
    49                                         tr("Please select something to copy."));
    50                         return;
    51                 }
     45    public void actionPerformed(ActionEvent e) {
     46        Collection<OsmPrimitive> sel = Main.ds.getSelected();
     47        if (sel.isEmpty()) {
     48            JOptionPane.showMessageDialog(Main.parent,
     49                    tr("Please select something to copy."));
     50            return;
     51        }
    5252
    53                 /* New pasteBuffer - will be assigned to the global one at the end */
    54                 final DataSet pasteBuffer = new DataSet();
    55                 final HashMap<OsmPrimitive,OsmPrimitive> map = new HashMap<OsmPrimitive,OsmPrimitive>();
    56                 /* temporarily maps old nodes to new so we can do a true deep copy */
     53        /* New pasteBuffer - will be assigned to the global one at the end */
     54        final DataSet pasteBuffer = new DataSet();
     55        final HashMap<OsmPrimitive,OsmPrimitive> map = new HashMap<OsmPrimitive,OsmPrimitive>();
     56        /* temporarily maps old nodes to new so we can do a true deep copy */
    5757
    58                 /* scan the selected objects, mapping them to copies; when copying a way or relation,
    59                 * the copy references the copies of their child objects */
    60                 new Visitor(){
    61                         public void visit(Node n) {
    62                                 /* check if already in pasteBuffer - e.g. two ways are selected which share a node;
    63                                 * or a way and a node in that way is selected, we'll see it twice, once via the
    64                                 * way and once directly; and so on. */
    65                                 if (map.containsKey(n)) { return; }
    66                                 Node nnew = new Node(n);
    67                                 map.put(n, nnew);
    68                                 pasteBuffer.addPrimitive(nnew);
    69                         }
    70                         public void visit(Way w) {
    71                                 /* check if already in pasteBuffer - could have come from a relation, and directly etc. */
    72                                 if (map.containsKey(w)) { return; }
    73                                 Way wnew = new Way();
    74                                 wnew.cloneFrom(w);
    75                                 wnew.nodes.clear();
    76                                 List<Node> nodes = new ArrayList<Node>();
    77                                 for (Node n : w.nodes) {
    78                                         if (! map.containsKey(n)) {
    79                                                 n.visit(this);
    80                                         }
    81                                         nodes.add((Node)map.get(n));
    82                                 }
    83                                 wnew.nodes.clear();
    84                                 wnew.nodes.addAll(nodes);
    85                                 pasteBuffer.addPrimitive(wnew);
    86                         }
    87                         public void visit(Relation e) {
    88                                 if (map.containsKey(e)) { return; }
    89                                 Relation enew = new Relation(e);
    90                                 List<RelationMember> members = new ArrayList<RelationMember>();
    91                                 for (RelationMember m : e.members) {
    92                                         if (! map.containsKey(m.member)) {
    93                                                 m.member.visit(this);
    94                                         }
    95                                         RelationMember mnew = new RelationMember(m);
    96                                         mnew.member = map.get(m.member);
    97                                         members.add(mnew);
    98                                 }
    99                                 enew.members.addAll(members);
    100                                 pasteBuffer.addPrimitive(enew);
    101                         }
    102                         public void visitAll() {
    103                                 for (OsmPrimitive osm : Main.ds.getSelected())
    104                                         osm.visit(this);
    105                         }
    106                 }.visitAll();
     58        /* scan the selected objects, mapping them to copies; when copying a way or relation,
     59        * the copy references the copies of their child objects */
     60        new Visitor(){
     61            public void visit(Node n) {
     62                /* check if already in pasteBuffer - e.g. two ways are selected which share a node;
     63                * or a way and a node in that way is selected, we'll see it twice, once via the
     64                * way and once directly; and so on. */
     65                if (map.containsKey(n)) { return; }
     66                Node nnew = new Node(n);
     67                map.put(n, nnew);
     68                pasteBuffer.addPrimitive(nnew);
     69            }
     70            public void visit(Way w) {
     71                /* check if already in pasteBuffer - could have come from a relation, and directly etc. */
     72                if (map.containsKey(w)) { return; }
     73                Way wnew = new Way();
     74                wnew.cloneFrom(w);
     75                wnew.nodes.clear();
     76                List<Node> nodes = new ArrayList<Node>();
     77                for (Node n : w.nodes) {
     78                    if (! map.containsKey(n)) {
     79                        n.visit(this);
     80                    }
     81                    nodes.add((Node)map.get(n));
     82                }
     83                wnew.nodes.clear();
     84                wnew.nodes.addAll(nodes);
     85                pasteBuffer.addPrimitive(wnew);
     86            }
     87            public void visit(Relation e) {
     88                if (map.containsKey(e)) { return; }
     89                Relation enew = new Relation(e);
     90                List<RelationMember> members = new ArrayList<RelationMember>();
     91                for (RelationMember m : e.members) {
     92                    if (! map.containsKey(m.member)) {
     93                        m.member.visit(this);
     94                    }
     95                    RelationMember mnew = new RelationMember(m);
     96                    mnew.member = map.get(m.member);
     97                    members.add(mnew);
     98                }
     99                enew.members.addAll(members);
     100                pasteBuffer.addPrimitive(enew);
     101            }
     102            public void visitAll() {
     103                for (OsmPrimitive osm : Main.ds.getSelected())
     104                    osm.visit(this);
     105            }
     106        }.visitAll();
    107107
    108                 Main.pasteBuffer = pasteBuffer;
    109                 Main.main.menu.paste.setEnabled(true); /* now we have a paste buffer we can make paste available */
     108        Main.pasteBuffer = pasteBuffer;
     109        Main.main.menu.paste.setEnabled(true); /* now we have a paste buffer we can make paste available */
    110110
    111                 for(JosmAction a : listeners) {
    112                         a.pasteBufferChanged(Main.pasteBuffer);
    113                 }
    114         }
     111        for(JosmAction a : listeners) {
     112            a.pasteBufferChanged(Main.pasteBuffer);
     113        }
     114    }
    115115
    116         public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
    117                 setEnabled(! newSelection.isEmpty());
    118         }
     116    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
     117        setEnabled(! newSelection.isEmpty());
     118    }
    119119}
Note: See TracChangeset for help on using the changeset viewer.