source: josm/trunk/src/org/openstreetmap/josm/actions/DuplicateAction.java@ 10386

Last change on this file since 10386 was 10382, checked in by Don-vip, 8 years ago

see #12943 - gsoc-core - fix most of deprecation warnings (static accesses must be fixed)

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2// Author: David Earl
3package org.openstreetmap.josm.actions;
4
5import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
6import static org.openstreetmap.josm.tools.I18n.tr;
7
8import java.awt.event.ActionEvent;
9import java.awt.event.KeyEvent;
10import java.util.Collection;
11
12import org.openstreetmap.josm.Main;
13import org.openstreetmap.josm.data.osm.DataSet;
14import org.openstreetmap.josm.data.osm.OsmPrimitive;
15import org.openstreetmap.josm.data.osm.PrimitiveDeepCopy;
16import org.openstreetmap.josm.tools.Shortcut;
17
18public final class DuplicateAction extends JosmAction {
19
20 /**
21 * Constructs a new {@code DuplicateAction}.
22 */
23 public DuplicateAction() {
24 super(tr("Duplicate"), "duplicate",
25 tr("Duplicate selection by copy and immediate paste."),
26 Shortcut.registerShortcut("system:duplicate", tr("Edit: {0}", tr("Duplicate")), KeyEvent.VK_D, Shortcut.CTRL), true);
27 putValue("help", ht("/Action/Duplicate"));
28 }
29
30 @Override
31 public void actionPerformed(ActionEvent e) {
32 Main.main.menu.paste.pasteData(
33 new PrimitiveDeepCopy(getLayerManager().getEditDataSet().getSelected()), getLayerManager().getEditLayer(), e);
34 }
35
36 @Override
37 protected void updateEnabledState() {
38 DataSet ds = getLayerManager().getEditDataSet();
39 if (ds == null) {
40 setEnabled(false);
41 } else {
42 updateEnabledState(ds.getSelected());
43 }
44 }
45
46 @Override
47 protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
48 setEnabled(selection != null && !selection.isEmpty());
49 }
50}
Note: See TracBrowser for help on using the repository browser.