source: josm/trunk/src/org/openstreetmap/josm/gui/preferences/server/OverpassServerPreference.java@ 13173

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

see #15310 - remove most of deprecated APIs

File size: 2.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.preferences.server;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.GridBagLayout;
7
8import javax.swing.BorderFactory;
9import javax.swing.Box;
10import javax.swing.JCheckBox;
11import javax.swing.JLabel;
12import javax.swing.JPanel;
13
14import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
15import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory;
16import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane;
17import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;
18import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;
19import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
20import org.openstreetmap.josm.io.OverpassDownloadReader;
21import org.openstreetmap.josm.tools.GBC;
22
23/**
24 * Preferences related to Overpass API servers.
25 *
26 * @since 9142
27 */
28public class OverpassServerPreference implements SubPreferenceSetting {
29
30 private final HistoryComboBox overpassServer = new HistoryComboBox();
31 private final JCheckBox forMultiFetch = new JCheckBox(tr("Use Overpass server for object downloads"));
32
33 /**
34 * Factory used to create a new {@link OverpassServerPreference}.
35 */
36 public static class Factory implements PreferenceSettingFactory {
37 @Override
38 public PreferenceSetting createPreferenceSetting() {
39 return new OverpassServerPreference();
40 }
41 }
42
43 @Override
44 public TabPreferenceSetting getTabPreferenceSetting(PreferenceTabbedPane gui) {
45 return gui.getServerPreference();
46 }
47
48 @Override
49 public void addGui(PreferenceTabbedPane gui) {
50 final JPanel panel = new JPanel(new GridBagLayout());
51
52 panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
53 panel.add(new JLabel(tr("Overpass server: ")), GBC.std().insets(5, 5, 5, 5));
54 panel.add(overpassServer, GBC.eop().fill(GBC.HORIZONTAL));
55 overpassServer.setPossibleItems(OverpassDownloadReader.OVERPASS_SERVER_HISTORY.get());
56 overpassServer.setText(OverpassDownloadReader.OVERPASS_SERVER.get());
57
58 panel.add(forMultiFetch, GBC.eop());
59 forMultiFetch.setSelected(OverpassDownloadReader.FOR_MULTI_FETCH.get());
60
61 panel.add(Box.createVerticalGlue(), GBC.eol().fill());
62
63 getTabPreferenceSetting(gui).addSubTab(this, tr("Overpass server"), panel);
64 }
65
66 @Override
67 public boolean ok() {
68 OverpassDownloadReader.OVERPASS_SERVER.put(overpassServer.getText());
69 OverpassDownloadReader.OVERPASS_SERVER_HISTORY.put(overpassServer.getHistory());
70 OverpassDownloadReader.FOR_MULTI_FETCH.put(forMultiFetch.isSelected());
71 return false;
72 }
73
74 @Override
75 public boolean isExpert() {
76 return true;
77 }
78}
Note: See TracBrowser for help on using the repository browser.