source: josm/trunk/src/org/openstreetmap/josm/gui/dialogs/properties/HelpMembershipAction.java@ 17215

Last change on this file since 17215 was 15581, checked in by Don-vip, 4 years ago

fix #18409 - distinct label for relation wiki link in Membership Context Menu

  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.dialogs.properties;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7import java.util.Objects;
8import java.util.function.IntFunction;
9
10import javax.swing.JTable;
11
12import org.openstreetmap.josm.data.osm.IRelation;
13import org.openstreetmap.josm.gui.MainApplication;
14
15/**
16 * Launch browser with wiki help for selected membership.
17 * @since 15581
18 */
19public class HelpMembershipAction extends HelpAction {
20 private final JTable membershipTable;
21 private final IntFunction<IRelation<?>> memberValueSupplier;
22
23 /**
24 * Constructs a new {@code HelpAction}.
25 * @param membershipTable The membership table. Can be null
26 * @param memberValueSupplier Finds the parent relation from given row of membership table. Can be null
27 */
28 public HelpMembershipAction(JTable membershipTable, IntFunction<IRelation<?>> memberValueSupplier) {
29 this.membershipTable = Objects.requireNonNull(membershipTable);
30 this.memberValueSupplier = Objects.requireNonNull(memberValueSupplier);
31 putValue(NAME, tr("Go to OSM wiki for relation help"));
32 }
33
34 @Override
35 public void actionPerformed(ActionEvent e) {
36 if (membershipTable.getSelectedRowCount() == 1) {
37 int row = membershipTable.getSelectedRow();
38 final IRelation<?> relation = memberValueSupplier.apply(row);
39 MainApplication.worker.execute(() -> displayRelationHelp(relation));
40 } else {
41 super.actionPerformed(e);
42 }
43 }
44}
Note: See TracBrowser for help on using the repository browser.