1 package net.sourceforge.phpeclipse;
3 import net.sourceforge.phpeclipse.preferences.PHPPreferencesMessages;
5 import org.eclipse.jface.preference.BooleanFieldEditor;
6 import org.eclipse.jface.preference.DirectoryFieldEditor;
7 import org.eclipse.jface.preference.FileFieldEditor;
8 import org.eclipse.jface.preference.IPreferenceStore;
9 import org.eclipse.jface.preference.PreferencePage;
10 import org.eclipse.jface.preference.StringFieldEditor;
11 import org.eclipse.swt.SWT;
12 import org.eclipse.swt.layout.GridData;
13 import org.eclipse.swt.layout.GridLayout;
14 import org.eclipse.swt.widgets.Composite;
15 import org.eclipse.swt.widgets.Control;
16 import org.eclipse.swt.widgets.Group;
17 import org.eclipse.swt.widgets.Label;
18 import org.eclipse.ui.IWorkbench;
19 import org.eclipse.ui.IWorkbenchPreferencePage;
21 public class PHPEclipseBasePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
23 // private SelectionListener SelectionListener;
24 // private ModifyListener ModifyListener;
25 // private ModifyListener TextModifyListener;
27 // private ArrayList CheckBoxes = new ArrayList();
28 // private ArrayList ComboBoxes = new ArrayList();
29 // private ArrayList TextBoxes = new ArrayList();
30 // private ArrayList RadioButtons = new ArrayList();
32 StringFieldEditor localHostSFE;
33 DirectoryFieldEditor documentRootDFE;
34 BooleanFieldEditor showExternalPreviewBFE;
35 BooleanFieldEditor externalBrowserBFE;
36 StringFieldEditor externalBrowserSFE;
37 StringFieldEditor apacheStartSFE;
38 StringFieldEditor apacheStopSFE;
39 StringFieldEditor apacheRestartSFE;
40 StringFieldEditor mySQLCommandSFE;
41 FileFieldEditor apacheRunFFE;
42 FileFieldEditor mysqlRunFFE;
43 FileFieldEditor phpRunFFE;
44 // RadioGroupFieldEditor chooseParser;
45 // StringFieldEditor externalParserSFE;
46 // BooleanFieldEditor parseOnSave;
47 BooleanFieldEditor apacheStartBFE;
48 BooleanFieldEditor apacheStopBFE;
49 BooleanFieldEditor apacheRestartBFE;
50 BooleanFieldEditor mysqlStartBFE;
52 public PHPEclipseBasePreferencePage() {
54 setPreferenceStore(PHPeclipsePlugin.getDefault().getPreferenceStore());
55 setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$
57 public void init(IWorkbench workbench) {
59 protected void performDefaults() {
60 localHostSFE.loadDefault();
61 documentRootDFE.loadDefault();
62 showExternalPreviewBFE.loadDefault();
63 externalBrowserBFE.loadDefault();
64 externalBrowserSFE.loadDefault();
65 apacheStartSFE.loadDefault();
66 apacheStopSFE.loadDefault();
67 apacheRestartSFE.loadDefault();
68 mySQLCommandSFE.loadDefault();
69 phpRunFFE.loadDefault();
70 apacheRunFFE.loadDefault();
71 mysqlRunFFE.loadDefault();
72 // chooseParser.loadDefault();
73 // externalParserSFE.loadDefault();
74 // parseOnSave.loadDefault();
75 apacheStartBFE.loadDefault();
76 apacheStopBFE.loadDefault();
77 apacheRestartBFE.loadDefault();
78 mysqlStartBFE.loadDefault();
79 super.performDefaults();
82 public boolean performOk() {
84 documentRootDFE.store();
85 showExternalPreviewBFE.store();
86 externalBrowserBFE.store();
87 externalBrowserSFE.store();
88 apacheStartSFE.store();
89 apacheStopSFE.store();
90 apacheRestartSFE.store();
91 mySQLCommandSFE.store();
95 // chooseParser.store();
96 // externalParserSFE.store();
97 // parseOnSave.store();
98 apacheStartBFE.store();
99 apacheStopBFE.store();
100 apacheRestartBFE.store();
101 mysqlStartBFE.store();
102 return super.performOk();
105 protected Control createContents(Composite parent) {
106 initializeDialogUnits(parent);
107 final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
108 Composite composite = new Composite(parent, SWT.LEFT);
109 composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
110 composite.setLayout(new GridLayout());
112 // Composite webSettingsComposite = new Composite(composite, SWT.NONE);
113 // webSettingsComposite.setLayout(new GridLayout());
114 // webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
116 showExternalPreviewBFE =
117 new BooleanFieldEditor(
118 IPreferenceConstants.SHOW_EXTERNAL_PREVIEW_PREF,
119 PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.showexternalpreview"),
121 showExternalPreviewBFE.setPreferencePage(this);
122 showExternalPreviewBFE.setPreferenceStore(getPreferenceStore());
123 showExternalPreviewBFE.load();
125 // Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE);
126 // webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup"));
127 // GridLayout gridLayout = new GridLayout();
128 // // gridLayout.numColumns = 3;
129 // GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
130 // webSettingsGroup.setLayoutData(gridData);
131 // webSettingsGroup.setLayout(gridLayout);
133 Composite webSettingsComposite = new Composite(composite, SWT.NULL);
134 webSettingsComposite.setLayout(new GridLayout());
135 webSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
136 Group webSettingsGroup = new Group(webSettingsComposite, SWT.NONE);
137 webSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup"));
138 webSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
139 webSettingsGroup.setLayout(new GridLayout());
141 // new Label(webSettingsGroup, SWT.NONE);
143 new BooleanFieldEditor(
144 IPreferenceConstants.USE_EXTERNAL_BROWSER_PREF,
145 PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.useexternal"),
147 externalBrowserBFE.setPreferencePage(this);
148 externalBrowserBFE.setPreferenceStore(getPreferenceStore());
149 externalBrowserBFE.load();
150 new Label(webSettingsGroup, SWT.NONE);
151 new Label(webSettingsGroup, SWT.NONE);
152 // new Label(webSettingsGroup, SWT.NONE);
154 new StringFieldEditor(
155 IPreferenceConstants.EXTERNAL_BROWSER_PREF,
156 PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.browser"),
158 externalBrowserSFE.setPreferencePage(this);
159 externalBrowserSFE.setPreferenceStore(getPreferenceStore());
160 externalBrowserSFE.load();
161 new Label(webSettingsGroup, SWT.NONE);
164 new StringFieldEditor(
165 IPreferenceConstants.LOCALHOST_PREF,
166 PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.localhost"),
168 localHostSFE.setPreferencePage(this);
169 localHostSFE.setPreferenceStore(getPreferenceStore());
171 new Label(webSettingsGroup, SWT.NONE);
174 new DirectoryFieldEditor(
175 IPreferenceConstants.DOCUMENTROOT_PREF,
176 PHPPreferencesMessages.getString("PHPBasePreferencePage.websettingsGroup.docroot"),
178 documentRootDFE.setPreferencePage(this);
179 documentRootDFE.setPreferenceStore(getPreferenceStore());
180 documentRootDFE.load();
182 Composite apacheSettingsComposite = new Composite(composite, SWT.NULL);
183 apacheSettingsComposite.setLayout(new GridLayout());
184 apacheSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
185 Group apacheSettingsGroup = new Group(apacheSettingsComposite, SWT.NONE);
186 apacheSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup"));
187 apacheSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
188 apacheSettingsGroup.setLayout(new GridLayout());
191 new BooleanFieldEditor(
192 PHPeclipsePlugin.APACHE_START_BACKGROUND,
193 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.start_background"),
194 apacheSettingsGroup);
195 apacheStartBFE.setPreferencePage(this);
196 apacheStartBFE.setPreferenceStore(getPreferenceStore());
197 apacheStartBFE.load();
199 new Label(apacheSettingsGroup, SWT.NONE);
200 new Label(apacheSettingsGroup, SWT.NONE);
202 new StringFieldEditor(
203 IPreferenceConstants.APACHE_START_PREF,
204 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.start"),
205 apacheSettingsGroup);
206 apacheStartSFE.setPreferencePage(this);
207 apacheStartSFE.setPreferenceStore(getPreferenceStore());
208 apacheStartSFE.load();
209 new Label(apacheSettingsGroup, SWT.NONE);
212 new BooleanFieldEditor(
213 PHPeclipsePlugin.APACHE_STOP_BACKGROUND,
214 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.stop_background"),
215 apacheSettingsGroup);
216 apacheStopBFE.setPreferencePage(this);
217 apacheStopBFE.setPreferenceStore(getPreferenceStore());
218 apacheStopBFE.load();
219 new Label(apacheSettingsGroup, SWT.NONE);
220 new Label(apacheSettingsGroup, SWT.NONE);
222 new StringFieldEditor(
223 IPreferenceConstants.APACHE_STOP_PREF,
224 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.stop"),
225 apacheSettingsGroup);
226 apacheStopSFE.setPreferencePage(this);
227 apacheStopSFE.setPreferenceStore(getPreferenceStore());
228 apacheStopSFE.load();
229 new Label(apacheSettingsGroup, SWT.NONE);
232 new BooleanFieldEditor(
233 PHPeclipsePlugin.APACHE_RESTART_BACKGROUND,
234 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.restart_background"),
235 apacheSettingsGroup);
236 apacheRestartBFE.setPreferencePage(this);
237 apacheRestartBFE.setPreferenceStore(getPreferenceStore());
238 apacheRestartBFE.load();
239 new Label(apacheSettingsGroup, SWT.NONE);
240 new Label(apacheSettingsGroup, SWT.NONE);
242 new StringFieldEditor(
243 IPreferenceConstants.APACHE_RESTART_PREF,
244 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.restart"),
245 apacheSettingsGroup);
246 apacheRestartSFE.setPreferencePage(this);
247 apacheRestartSFE.setPreferenceStore(getPreferenceStore());
248 apacheRestartSFE.load();
249 new Label(apacheSettingsGroup, SWT.NONE);
253 IPreferenceConstants.APACHE_RUN_PREF,
254 PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup.run"),
255 apacheSettingsGroup);
256 apacheRunFFE.setPreferencePage(this);
257 apacheRunFFE.setPreferenceStore(getPreferenceStore());
262 IPreferenceConstants.PHP_RUN_PREF,
263 PHPPreferencesMessages.getString("PHPBasePreferencePage.console.php"),
264 apacheSettingsGroup);
265 phpRunFFE.setPreferencePage(this);
266 phpRunFFE.setPreferenceStore(getPreferenceStore());
270 Composite mySQLSettingsComposite = new Composite(composite, SWT.NULL);
271 mySQLSettingsComposite.setLayout(new GridLayout());
272 mySQLSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
274 Group mySQLSettingsGroup = new Group(mySQLSettingsComposite, SWT.NONE);
275 mySQLSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup"));
276 mySQLSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
277 mySQLSettingsGroup.setLayout(new GridLayout());
280 new BooleanFieldEditor(
281 PHPeclipsePlugin.MYSQL_START_BACKGROUND,
282 PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup.start_background"),
284 mysqlStartBFE.setPreferencePage(this);
285 mysqlStartBFE.setPreferenceStore(getPreferenceStore());
286 mysqlStartBFE.load();
287 new Label(mySQLSettingsGroup, SWT.NONE);
288 new Label(mySQLSettingsGroup, SWT.NONE);
291 new StringFieldEditor(
292 IPreferenceConstants.MYSQL_PREF,
293 PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup.command"),
295 mySQLCommandSFE.setPreferencePage(this);
296 mySQLCommandSFE.setPreferenceStore(getPreferenceStore());
297 mySQLCommandSFE.load();
298 new Label(mySQLSettingsGroup, SWT.NONE);
302 IPreferenceConstants.MYSQL_RUN_PREF,
303 PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup.run"),
305 mysqlRunFFE.setPreferencePage(this);
306 mysqlRunFFE.setPreferenceStore(getPreferenceStore());
309 // //Create parser settings composite
310 // Composite parserSettingsComposite = new Composite(composite, SWT.NONE);
311 // parserSettingsComposite.setLayout(new GridLayout());
312 // parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
313 // Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE);
314 // parserSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers"));
315 // parserSettingsGroup.setLayout(new GridLayout());
316 // parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
319 // new RadioGroupFieldEditor(
320 // IPreferenceConstants.PHP_PARSER_DEFAULT,
321 // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.choose"),
324 // { PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.internal"), IPreferenceConstants.PHP_INTERNAL_PARSER },
326 // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.external"), IPreferenceConstants.PHP_EXTERNAL_PARSER }
327 // }, parserSettingsGroup);
328 // chooseParser.setPreferencePage(this);
329 // chooseParser.setPreferenceStore(getPreferenceStore());
330 // chooseParser.load();
331 // //create a copmposte just for the StringEditor - makes layout simpler
332 // Composite externalParserCompo = new Composite(parserSettingsGroup, SWT.NONE);
333 // externalParserSFE =
334 // new StringFieldEditor(
335 // IPreferenceConstants.EXTERNAL_PARSER_PREF,
336 // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.extcommand"),
337 // externalParserCompo
338 // /*parserSettingsGroup*/
340 // externalParserSFE.setPreferencePage(this);
341 // externalParserSFE.setPreferenceStore(getPreferenceStore());
342 // externalParserSFE.load();
345 // new BooleanFieldEditor(
346 // PHPeclipsePlugin.PHP_PARSE_ON_SAVE,
347 // PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.pos"),
348 // parserSettingsGroup);
349 // parseOnSave.setPreferencePage(this);
350 // parseOnSave.setPreferenceStore(getPreferenceStore());
351 // parseOnSave.load();