blob: fd6afdfc01d7656be22ee617a2294a59dbf7be29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package rba.tool.editor.ui.coverage;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
public class TCLogFormatPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
private IPreferenceStore preferenceStore;
private RadioGroupFieldEditor tclogFileFormat;
private static final String DESCRIPTION = "tclog File Format";
private static final String TEXT_FORMAT = "text";
private static final String ZIP_FORMAT = "zip";
private String selectedFormat = TEXT_FORMAT;
private TCLogFormatSettingManager manager = TCLogFormatSettingManager.INSTANCE;
public TCLogFormatPreferencePage() {
super(GRID);
}
@Override
public void init(IWorkbench workbench) {
if (!getPreferenceStore().getString("FileFormat").isEmpty()) {
selectedFormat = getPreferenceStore().getString("FileFormat");
}
}
@Override
protected void createFieldEditors() {
String[][] btnArr = new String[][] { { "&Text", TEXT_FORMAT }, { "&Zip", ZIP_FORMAT } };
tclogFileFormat = new RadioGroupFieldEditor("FileFormat", DESCRIPTION, 2, btnArr, getFieldEditorParent(), true);
Composite composite = tclogFileFormat.getRadioBoxControl(getFieldEditorParent());
Control[] controls = composite.getChildren();
for (Control control : controls) {
control.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
Button btn = (Button) event.widget;
selectedFormat = (String) btn.getData();
}
});
}
addField(tclogFileFormat);
}
@Override
public boolean performOk() {
manager.saveTCLogFileFormat(selectedFormat);
return super.performOk();
}
@Override
public IPreferenceStore getPreferenceStore() {
if (preferenceStore == null) {
preferenceStore = new ScopedPreferenceStore(InstanceScope.INSTANCE, manager.ID_PREFERENCE_NODE);
}
return preferenceStore;
}
}
|