001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.dialogs.relation.actions; 003 004import java.awt.event.ActionEvent; 005import java.util.Collection; 006 007import org.openstreetmap.josm.data.osm.RelationMember; 008import org.openstreetmap.josm.gui.datatransfer.ClipboardUtils; 009import org.openstreetmap.josm.gui.datatransfer.RelationMemberTransferable; 010 011/** 012 * Copy members. 013 * @since 9496 014 */ 015public class CopyMembersAction extends AddFromSelectionAction { 016 private static final long serialVersionUID = 1L; 017 018 /** 019 * Constructs a new {@code CopyMembersAction}. 020 * @param editorAccess An interface to access the relation editor contents. 021 */ 022 public CopyMembersAction(IRelationEditorActionAccess editorAccess) { 023 super(editorAccess); 024 } 025 026 @Override 027 public void actionPerformed(ActionEvent e) { 028 final Collection<RelationMember> members = getMemberTableModel().getSelectedMembers(); 029 030 if (!members.isEmpty()) { 031 ClipboardUtils.copy(new RelationMemberTransferable(members)); 032 } 033 } 034 035 @Override 036 protected void updateEnabledState() { 037 // Do nothing 038 } 039}