~berthold-daum/zora/trunk

« back to all changes in this revision

Viewing changes to com.bdaum.zoom.gps/src/com/bdaum/zoom/gps/internal/preferences/GpsPreferencePage.java

  • Committer: bdaum
  • Date: 2015-12-26 10:21:51 UTC
  • Revision ID: berthold.daum@bdaum.de-20151226102151-44f1j5113167thb9
VersionĀ 2.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*******************************************************************************
2
 
 * Copyright (c) 2009-2014 Berthold Daum.
 
2
 * Copyright (c) 2009-2015 Berthold Daum.
3
3
 * All rights reserved. This program and the accompanying materials
4
4
 * are made available under the terms of the Eclipse Public License v1.0
5
5
 * which accompanies this distribution, and is available at
27
27
import org.eclipse.swt.widgets.Label;
28
28
import org.eclipse.swt.widgets.Spinner;
29
29
import org.eclipse.swt.widgets.Text;
 
30
import org.eclipse.ui.IWorkbench;
30
31
 
31
32
import com.bdaum.zoom.gps.internal.GpsActivator;
32
33
import com.bdaum.zoom.gps.internal.HelpContextIds;
37
38
@SuppressWarnings("restriction")
38
39
public class GpsPreferencePage extends AbstractPreferencePage {
39
40
 
 
41
        public static final String ID = "com.bdaum.zoom.gps.preferences.GpsPreferencePage"; //$NON-NLS-1$
40
42
        private Button coordinateButton;
41
43
        private Button placenameButton;
42
44
        private Button tagButton;
43
45
        private Button waypointButton;
44
46
        private Button altitudeButton;
45
47
        private Spinner timeShiftField;
46
 
        private Spinner toleranceField;
 
48
        private Spinner toleranceHourField;
 
49
        private Spinner toleranceMinuteField;
47
50
        private CTabFolder tabFolder;
48
51
        private CTabItem tabItem0;
49
52
        private CTabItem tabItem1;
53
56
        private String[] serviceNames;
54
57
 
55
58
        private int dflt = -1;
 
59
        private Button editButton;
 
60
        private Spinner reqhField;
56
61
 
57
62
        public GpsPreferencePage() {
58
63
                setDescription(Messages
60
65
        }
61
66
 
62
67
        @Override
63
 
        protected IPreferenceStore doGetPreferenceStore() {
64
 
                return GpsActivator.getDefault().getPreferenceStore();
 
68
        public void init(IWorkbench aWorkbench) {
 
69
                this.workbench = aWorkbench;
 
70
                setPreferenceStore(GpsActivator.getDefault().getPreferenceStore());
65
71
        }
66
72
 
67
73
        @Override
69
75
                setHelp(HelpContextIds.PREFERENCE_PAGE);
70
76
                tabFolder = new CTabFolder(composite, SWT.BORDER);
71
77
                tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
72
 
                tabItem0 = createTabItem(tabFolder, Messages.getString("GpsPreferencePage.general")); //$NON-NLS-1$
 
78
                tabItem0 = createTabItem(tabFolder,
 
79
                                Messages.getString("GpsPreferencePage.general")); //$NON-NLS-1$
73
80
                tabItem0.setControl(createGeneralGroup(tabFolder));
74
 
                tabItem1 = createTabItem(tabFolder, Messages.getString("GpsPreferencePage.webservices")); //$NON-NLS-1$
 
81
                tabItem1 = createTabItem(tabFolder,
 
82
                                Messages.getString("GpsPreferencePage.webservices")); //$NON-NLS-1$
75
83
                tabItem1.setControl(createWebServiceGroup(tabFolder));
76
84
                tabFolder.setSimple(false);
77
85
                tabFolder.setSelection(tabItem0);
88
96
        }
89
97
 
90
98
        private void createSelectionGroup(Composite composite) {
91
 
                CGroup group = createGroup(composite, 1,
 
99
                CGroup group = createGroup(composite, 2,
92
100
                                Messages.getString("AdvancedPreferencePage.webservice")); //$NON-NLS-1$
93
101
                combo = new Combo(group, SWT.DROP_DOWN);
94
 
                combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
95
 
                IConfigurationElement[] namingServices = GpsActivator.getNamingServices();
 
102
                combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2,
 
103
                                1));
 
104
                IConfigurationElement[] namingServices = GpsActivator
 
105
                                .getNamingServices();
96
106
                serviceNames = new String[namingServices.length];
97
107
                for (int i = 0; i < namingServices.length; i++) {
98
108
                        serviceNames[i] = namingServices[i].getAttribute("name"); //$NON-NLS-1$
99
 
                        Boolean b = new Boolean(namingServices[i].getAttribute("default")); //$NON-NLS-1$
100
 
                        if (b)
 
109
                        if (new Boolean(namingServices[i].getAttribute("default"))) //$NON-NLS-1$
101
110
                                dflt = i;
102
111
                }
103
112
                combo.setItems(serviceNames);
 
113
                new Label(group, SWT.NONE).setText(Messages.getString("GpsPreferencePage.maxRequests")); //$NON-NLS-1$
 
114
                reqhField = new Spinner(group, SWT.BORDER);
 
115
                reqhField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false,
 
116
                                false));
 
117
                reqhField.setMaximum(100000);
 
118
                reqhField.setMinimum(40);
 
119
                reqhField.setIncrement(10);
 
120
                reqhField.setPageIncrement(100);
104
121
        }
105
122
 
106
123
        private void createPremiumGroup(Composite composite) {
144
161
                                .getBoolean(PreferenceConstants.INCLUDECOORDINATES));
145
162
                placenameButton.setSelection(preferenceStore
146
163
                                .getBoolean(PreferenceConstants.INCLUDENAMES));
 
164
                editButton.setSelection(preferenceStore
 
165
                                .getBoolean(PreferenceConstants.EDIT));
147
166
                tagButton.setSelection(preferenceStore
148
167
                                .getBoolean(PreferenceConstants.OVERWRITE));
149
168
                waypointButton.setSelection(preferenceStore
150
169
                                .getBoolean(PreferenceConstants.USEWAYPOINTS));
151
170
                timeShiftField.setSelection(preferenceStore
152
171
                                .getInt(PreferenceConstants.TIMESHIFT));
153
 
                toleranceField.setSelection(preferenceStore
154
 
                                .getInt(PreferenceConstants.TOLERANCE));
155
 
 
 
172
                toleranceHourField.setSelection(preferenceStore
 
173
                                .getInt(PreferenceConstants.TOLERANCE) / 60);
 
174
                toleranceMinuteField.setSelection(preferenceStore
 
175
                                .getInt(PreferenceConstants.TOLERANCE) % 60);
 
176
                reqhField.setSelection(preferenceStore
 
177
                                .getInt(PreferenceConstants.HOURLYLIMIT));
156
178
                String service = preferenceStore
157
179
                                .getString(PreferenceConstants.NAMINGSERVICE);
158
180
                int select = dflt;
180
202
                preferenceStore.setValue(PreferenceConstants.INCLUDENAMES,
181
203
                                preferenceStore
182
204
                                                .getDefaultBoolean(PreferenceConstants.INCLUDENAMES));
 
205
                preferenceStore.setValue(PreferenceConstants.EDIT,
 
206
                                preferenceStore.getDefaultBoolean(PreferenceConstants.EDIT));
183
207
                preferenceStore.setValue(PreferenceConstants.OVERWRITE, preferenceStore
184
208
                                .getDefaultBoolean(PreferenceConstants.OVERWRITE));
185
209
                preferenceStore.setValue(PreferenceConstants.USEWAYPOINTS,
189
213
                                preferenceStore.getDefaultInt(PreferenceConstants.TIMESHIFT));
190
214
                preferenceStore.setValue(PreferenceConstants.TOLERANCE,
191
215
                                preferenceStore.getDefaultInt(PreferenceConstants.TOLERANCE));
192
 
 
193
216
                preferenceStore.setValue(PreferenceConstants.NAMINGSERVICE,
194
217
                                preferenceStore
195
218
                                                .getDefaultString(PreferenceConstants.NAMINGSERVICE));
 
219
                preferenceStore.setValue(PreferenceConstants.HOURLYLIMIT,
 
220
                                preferenceStore.getDefaultInt(PreferenceConstants.HOURLYLIMIT));
196
221
                for (IConfigurationElement key : keyMap.keySet()) {
197
222
                        String id = key.getAttribute("id"); //$NON-NLS-1$
198
223
                        preferenceStore.setValue(id, preferenceStore.getDefaultString(id));
208
233
                                coordinateButton.getSelection());
209
234
                preferenceStore.setValue(PreferenceConstants.INCLUDENAMES,
210
235
                                placenameButton.getSelection());
 
236
                preferenceStore.setValue(PreferenceConstants.EDIT,
 
237
                                editButton.getSelection());
211
238
                preferenceStore.setValue(PreferenceConstants.OVERWRITE,
212
239
                                tagButton.getSelection());
213
240
                preferenceStore.setValue(PreferenceConstants.USEWAYPOINTS,
214
241
                                waypointButton.getSelection());
215
242
                preferenceStore.setValue(PreferenceConstants.TIMESHIFT,
216
243
                                timeShiftField.getSelection());
217
 
                preferenceStore.setValue(PreferenceConstants.TOLERANCE,
218
 
                                toleranceField.getSelection());
 
244
                preferenceStore.setValue(
 
245
                                PreferenceConstants.TOLERANCE,
 
246
                                toleranceHourField.getSelection() * 60
 
247
                                                + toleranceMinuteField.getSelection());
219
248
                preferenceStore.setValue(PreferenceConstants.NAMINGSERVICE,
220
249
                                combo.getText());
 
250
                preferenceStore.setValue(PreferenceConstants.HOURLYLIMIT,
 
251
                                reqhField.getSelection());
221
252
                for (Map.Entry<IConfigurationElement, Text> entry : keyMap.entrySet())
222
253
                        preferenceStore.setValue(entry.getKey().getAttribute("id"), //$NON-NLS-1$
223
254
                                        entry.getValue().getText());
229
260
                new Label(group, SWT.NONE).setText(Messages
230
261
                                .getString("GpsPreferencePage.Timeshift")); //$NON-NLS-1$
231
262
                timeShiftField = new Spinner(group, SWT.BORDER);
232
 
                timeShiftField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER,
233
 
                                false, false));
 
263
                timeShiftField.setLayoutData(new GridData(SWT.END, SWT.CENTER, false,
 
264
                                false));
234
265
                timeShiftField.setMaximum(12 * 60);
235
266
                timeShiftField.setMinimum(-12 * 60);
236
267
                timeShiftField.setIncrement(1);
237
268
                timeShiftField.setPageIncrement(60);
238
 
 
239
269
                new Label(group, SWT.NONE).setText(Messages
240
270
                                .getString("GpsPreferencePage.Tolerance")); //$NON-NLS-1$
241
 
                toleranceField = new Spinner(group, SWT.BORDER);
242
 
                toleranceField.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER,
243
 
                                false, false));
244
 
                toleranceField.setMaximum(4 * 60);
245
 
                toleranceField.setIncrement(1);
246
 
                toleranceField.setPageIncrement(15);
 
271
                Composite sub = new Composite(group, SWT.NONE);
 
272
                sub.setLayoutData(new GridData(SWT.END, SWT.FILL, false, false));
 
273
                GridLayout layout = new GridLayout(2, false);
 
274
                layout.marginHeight = layout.marginWidth = 0;
 
275
                sub.setLayout(layout);
 
276
                toleranceHourField = new Spinner(sub, SWT.BORDER);
 
277
                toleranceHourField.setLayoutData(new GridData(SWT.END, SWT.CENTER,
 
278
                                false, false));
 
279
                toleranceHourField.setMaximum(168);
 
280
                toleranceHourField.setIncrement(1);
 
281
                toleranceHourField.setPageIncrement(3);
 
282
                toleranceMinuteField = new Spinner(sub, SWT.BORDER);
 
283
                toleranceMinuteField.setLayoutData(new GridData(SWT.END, SWT.CENTER,
 
284
                                false, false));
 
285
                toleranceMinuteField.setMaximum(59);
 
286
                toleranceMinuteField.setIncrement(1);
 
287
                toleranceMinuteField.setPageIncrement(15);
247
288
        }
248
289
 
249
290
        private void createModeGroup(Composite composite) {
250
291
                CGroup group = createGroup(composite, 1,
251
292
                                Messages.getString("GpsPreferencePage.mode")); //$NON-NLS-1$
 
293
                editButton = WidgetFactory.createCheckButton(group,
 
294
                                Messages.getString("GpsPreferencePage.edit_trackpoints"), null); //$NON-NLS-1$
252
295
                tagButton = WidgetFactory.createCheckButton(group,
253
296
                                Messages.getString("GpsPreferencePage.Overwrite_tags"), null); //$NON-NLS-1$
254
297
                waypointButton = WidgetFactory.createCheckButton(group,
268
311
                                null);
269
312
        }
270
313
 
271
 
 
272
314
}