source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/ApplyAction.java@ 12933

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

sonar - squid:S1939 - Extensions and implementations should not be redundant

File size: 2.1 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;
7import java.beans.PropertyChangeEvent;
8import java.beans.PropertyChangeListener;
9
10import javax.swing.event.TableModelEvent;
11
12import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
13import org.openstreetmap.josm.gui.dialogs.relation.MemberTable;
14import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
15import org.openstreetmap.josm.gui.layer.OsmDataLayer;
16import org.openstreetmap.josm.gui.tagging.TagEditorModel;
17import org.openstreetmap.josm.tools.ImageProvider;
18
19/**
20 * Apply the current updates.
21 * @since 9496
22 */
23public class ApplyAction extends SavingAction implements PropertyChangeListener {
24
25 /**
26 * Constructs a new {@code ApplyAction}.
27 * @param memberTable member table
28 * @param memberTableModel member table model
29 * @param layer OSM data layer
30 * @param editor relation editor
31 * @param tagModel tag editor model
32 */
33 public ApplyAction(MemberTable memberTable, MemberTableModel memberTableModel, TagEditorModel tagModel, OsmDataLayer layer,
34 IRelationEditor editor) {
35 super(memberTable, memberTableModel, tagModel, layer, editor, null);
36 putValue(SHORT_DESCRIPTION, tr("Apply the current updates"));
37 putValue(SMALL_ICON, ImageProvider.get("save"));
38 putValue(NAME, tr("Apply"));
39 updateEnabledState();
40 memberTableModel.addTableModelListener(this);
41 tagModel.addPropertyChangeListener(this);
42 }
43
44 @Override
45 public void actionPerformed(ActionEvent e) {
46 if (applyChanges()) {
47 editor.reloadDataFromRelation();
48 }
49 }
50
51 @Override
52 protected void updateEnabledState() {
53 setEnabled(isEditorDirty());
54 }
55
56 @Override
57 public void propertyChange(PropertyChangeEvent evt) {
58 updateEnabledState();
59 }
60
61 @Override
62 public void tableChanged(TableModelEvent e) {
63 updateEnabledState();
64 }
65}
Note: See TracBrowser for help on using the repository browser.