source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtEndAction.java@ 9496

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

massive refactoring of GenericRelationEditor. As JDialog cannot be instantiated in headless mode, extract all actions to separate classes in new package gui.dialogs.relation.actions in order to test them with JUnit

File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.relation.actions;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7
8import org.openstreetmap.josm.Main;
9import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
10import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
11import org.openstreetmap.josm.gui.dialogs.relation.RelationAware;
12import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
13import org.openstreetmap.josm.tools.ImageProvider;
14
15/**
16 * Add all objects selected in the current dataset after the last member.
17 * @since 9496
18 */
19public class AddSelectedAtEndAction extends AddFromSelectionAction {
20
21 /**
22 * Constructs a new {@code AddSelectedAtEndAction}.
23 * @param memberTableModel member table model
24 * @param selectionTableModel selection table model
25 * @param editor relation editor
26 */
27 public AddSelectedAtEndAction(MemberTableModel memberTableModel, SelectionTableModel selectionTableModel, RelationAware editor) {
28 super(null, memberTableModel, null, selectionTableModel, null, null, editor);
29 putValue(SHORT_DESCRIPTION, tr("Add all objects selected in the current dataset after the last member"));
30 putValue(SMALL_ICON, ImageProvider.get("dialogs/conflict", "copyendright"));
31 updateEnabledState();
32 }
33
34 @Override
35 protected void updateEnabledState() {
36 setEnabled(selectionTableModel.getRowCount() > 0);
37 }
38
39 @Override
40 public void actionPerformed(ActionEvent e) {
41 try {
42 memberTableModel.addMembersAtEnd(filterConfirmedPrimitives(selectionTableModel.getSelection()));
43 } catch (AddAbortException ex) {
44 if (Main.isTraceEnabled()) {
45 Main.trace(ex.getMessage());
46 }
47 }
48 }
49}
Note: See TracBrowser for help on using the repository browser.