Fix NLS-related Javadoc warnings
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng2.ui / src / org / eclipse / linuxtools / internal / lttng2 / ui / views / control / preferences / ControlPreferencePage.java
1 /**********************************************************************
2 * Copyright (c) 2012, 2013 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12 package org.eclipse.linuxtools.internal.lttng2.ui.views.control.preferences;
13
14 import org.eclipse.jface.preference.BooleanFieldEditor;
15 import org.eclipse.jface.preference.FieldEditor;
16 import org.eclipse.jface.preference.FieldEditorPreferencePage;
17 import org.eclipse.jface.preference.IPreferenceStore;
18 import org.eclipse.jface.preference.IntegerFieldEditor;
19 import org.eclipse.jface.preference.RadioGroupFieldEditor;
20 import org.eclipse.jface.preference.StringFieldEditor;
21 import org.eclipse.jface.util.PropertyChangeEvent;
22 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.logging.ControlCommandLogger;
23 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
24 import org.eclipse.ui.IWorkbench;
25 import org.eclipse.ui.IWorkbenchPreferencePage;
26
27 /**
28 * <p>
29 * Preference page implementation for configuring LTTng tracer control preferences.
30 * </p>
31 *
32 * @author Bernd Hufmann
33 */
34 public class ControlPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
35
36 // ------------------------------------------------------------------------
37 // Attributes
38 // ------------------------------------------------------------------------
39 RadioGroupFieldEditor fVerboseLevel;
40 BooleanFieldEditor fIsAppend;
41
42 // ------------------------------------------------------------------------
43 // Constructors
44 // ------------------------------------------------------------------------
45
46 /**
47 * Constructor
48 */
49 public ControlPreferencePage() {
50 super(FieldEditorPreferencePage.GRID);
51
52 // Set the preference store for the preference page.
53 IPreferenceStore store = ControlPreferences.getInstance().getPreferenceStore();
54 setPreferenceStore(store);
55 }
56
57 // ------------------------------------------------------------------------
58 // Operations
59 // ------------------------------------------------------------------------
60 /*
61 * (non-Javadoc)
62 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
63 */
64 @Override
65 public void init(IWorkbench workbench) {
66 }
67
68 /*
69 * (non-Javadoc)
70 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
71 */
72 @Override
73 protected void createFieldEditors() {
74
75 StringFieldEditor tracingGroup = new StringFieldEditor(ControlPreferences.TRACE_CONTROL_TRACING_GROUP_PREF, Messages.TraceControl_TracingGroupPreference, getFieldEditorParent());
76 addField(tracingGroup);
77
78 BooleanFieldEditor logCommand = new BooleanFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF, Messages.TraceControl_LoggingPreference, getFieldEditorParent());
79 addField(logCommand);
80
81 StringFieldEditor logfile = new StringFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_FILE_PATH_PREF, Messages.TraceControl_LogfilePath, getFieldEditorParent());
82 addField(logfile);
83
84 fIsAppend = new BooleanFieldEditor(ControlPreferences.TRACE_CONTROL_LOG_APPEND_PREF, Messages.TraceControl_AppendLogfilePreference, getFieldEditorParent());
85 addField(fIsAppend);
86
87 fVerboseLevel = new RadioGroupFieldEditor (
88 ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_PREF,
89 Messages.TraceControl_VerboseLevelsPreference,
90 4,
91 new String[][] {
92 {
93 Messages.TraceControl_VerboseLevelNonePreference,
94 ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_NONE,
95 },
96 {
97 Messages.TraceControl_VerboseLevelVerbosePreference,
98 ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_VERBOSE
99 },
100 {
101 Messages.TraceControl_VerboseLevelVeryVerbosePreference,
102 ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_VERBOSE
103 },
104 {
105 Messages.TraceControl_VerboseLevelVeryVeryVerbosePreference,
106 ControlPreferences.TRACE_CONTROL_VERBOSE_LEVEL_V_V_VERBOSE
107 }
108 },
109 getFieldEditorParent(),
110 true);
111
112 addField(fVerboseLevel);
113
114 Boolean enabled = ControlPreferences.getInstance().isLoggingEnabled();
115 fVerboseLevel.setEnabled(enabled, getFieldEditorParent());
116 fIsAppend.setEnabled(enabled, getFieldEditorParent());
117 logfile.setEnabled(false, getFieldEditorParent());
118
119 IntegerFieldEditor commandTimeout = new IntegerFieldEditor(ControlPreferences.TRACE_CONTROL_COMMAND_TIMEOUT_PREF, Messages.TraceControl_CommandTimeout, getFieldEditorParent());
120 commandTimeout.setValidRange(ControlPreferences.TRACE_CONTROL_MIN_TIMEOUT_VALUE, ControlPreferences.TRACE_CONTROL_MAX_TIMEOUT_VALUE);
121 addField(commandTimeout);
122 }
123
124 /*
125 * (non-Javadoc)
126 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
127 */
128 @Override
129 public void propertyChange(PropertyChangeEvent event) {
130
131 if (event.getProperty().equals(FieldEditor.VALUE)) {
132 if (event.getSource() instanceof FieldEditor) {
133 FieldEditor editor = (FieldEditor) event.getSource();
134 if (editor.getPreferenceName().equals(ControlPreferences.TRACE_CONTROL_LOG_COMMANDS_PREF)) {
135 Boolean enabled = (Boolean)event.getNewValue();
136 fVerboseLevel.setEnabled(enabled, getFieldEditorParent());
137 fIsAppend.setEnabled(enabled, getFieldEditorParent());
138 }
139 }
140 }
141 super.propertyChange(event);
142 }
143
144 /*
145 * (non-Javadoc)
146 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#performDefaults()
147 */
148 @Override
149 protected void performDefaults() {
150 super.performDefaults();
151 fVerboseLevel.setEnabled(false, getFieldEditorParent());
152 fIsAppend.setEnabled(false, getFieldEditorParent());
153 }
154
155 /*
156 * (non-Javadoc)
157 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#performOk()
158 */
159 @Override
160 public boolean performOk() {
161 boolean ret = super.performOk();
162 // open or close log file
163 if (ControlPreferences.getInstance().isLoggingEnabled()) {
164 ControlCommandLogger.init(ControlPreferences.getInstance().getLogfilePath(), ControlPreferences.getInstance().isAppend());
165 } else {
166 ControlCommandLogger.close();
167 }
168 return ret;
169 }
170 }
This page took 0.033971 seconds and 5 git commands to generate.