split external tools preferences into multiple pages
[phpeclipse.git] / net.sourceforge.phpeclipse.externaltools / src / net / sourceforge / phpdt / externaltools / preferences / PHPExternalToolsPreferencePage.java
index 7e4df13..f730439 100644 (file)
@@ -1,11 +1,8 @@
 package net.sourceforge.phpdt.externaltools.preferences;
 
-
 import net.sourceforge.phpeclipse.externaltools.ExternalToolsPlugin;
 
-import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.FileFieldEditor;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.preference.StringFieldEditor;
 import org.eclipse.swt.SWT;
@@ -13,245 +10,62 @@ import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
-public class PHPExternalToolsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-//  StringFieldEditor phpParserExtensionsSFE;
-  StringFieldEditor xamppStartSFE;
-  StringFieldEditor xamppStopSFE;
-  StringFieldEditor apacheStartSFE;
-
-  StringFieldEditor apacheStopSFE;
-
-  StringFieldEditor apacheRestartSFE;
-
-  StringFieldEditor mySQLCommandSFE;
-
-  StringFieldEditor externalParserSFE;
-
-  FileFieldEditor apacheRunFFE;
-
-  FileFieldEditor mysqlRunFFE;
-
-  FileFieldEditor phpRunFFE;
-
-  FileFieldEditor httpdConfFFE;
-
-  FileFieldEditor etcHostsFFE;
-
-  BooleanFieldEditor apacheStartBFE;
-
-  BooleanFieldEditor apacheStopBFE;
-
-  BooleanFieldEditor apacheRestartBFE;
-
-  BooleanFieldEditor mysqlStartBFE;
-
-  public PHPExternalToolsPreferencePage() {
-    super();
-    setPreferenceStore(ExternalToolsPlugin.getDefault().getPreferenceStore());
-    setDescription(PHPPreferencesMessages.getString("PHPBasePreferencePage.description")); //$NON-NLS-1$
-  }
-
-  public void init(IWorkbench workbench) {
-  }
-
-  protected void performDefaults() {
-//    phpParserExtensionsSFE.loadDefault();
-    xamppStartSFE.loadDefault();
-    xamppStopSFE.loadDefault();
-    apacheStartSFE.loadDefault();
-    apacheStopSFE.loadDefault();
-    apacheRestartSFE.loadDefault();
-    mySQLCommandSFE.loadDefault();
-    externalParserSFE.loadDefault();
-    phpRunFFE.loadDefault();
-    apacheRunFFE.loadDefault();
-    httpdConfFFE.loadDefault();
-    etcHostsFFE.loadDefault();
-    mysqlRunFFE.loadDefault();
-    apacheStartBFE.loadDefault();
-    apacheStopBFE.loadDefault();
-    apacheRestartBFE.loadDefault();
-    mysqlStartBFE.loadDefault();
-    super.performDefaults();
-  }
-
-  public boolean performOk() {
-//    PHPFileUtil.setExtensions(null);
-//    phpParserExtensionsSFE.store();
-    xamppStartSFE.store();
-    xamppStopSFE.store();
-    apacheStartSFE.store();
-    apacheStopSFE.store();
-    apacheRestartSFE.store();
-    mySQLCommandSFE.store();
-    externalParserSFE.store();
-    phpRunFFE.store();
-    apacheRunFFE.store();
-    httpdConfFFE.store();
-    etcHostsFFE.store();
-    mysqlRunFFE.store();
-
-    apacheStartBFE.store();
-    apacheStopBFE.store();
-    apacheRestartBFE.store();
-    mysqlStartBFE.store();
-    return super.performOk();
-  }
-
-  protected Control createContents(Composite parent) {
-    initializeDialogUnits(parent);
-    final IPreferenceStore store = ExternalToolsPlugin.getDefault().getPreferenceStore();
-    Composite composite = new Composite(parent, SWT.LEFT);
-    composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    composite.setLayout(new GridLayout());
-
-    //Create apache
-    Composite apacheSettingsComposite = new Composite(composite, SWT.NULL);
-    apacheSettingsComposite.setLayout(new GridLayout());
-    apacheSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    Group apacheSettingsGroup = new Group(apacheSettingsComposite, SWT.NONE);
-    apacheSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.apacheGroup"));
-    apacheSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    apacheSettingsGroup.setLayout(new GridLayout());
-
-
-    xamppStartSFE = new StringFieldEditor(ExternalToolsPlugin.XAMPP_START_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.xampp_start"), apacheSettingsGroup);
-    xamppStartSFE.setPage(this);
-    xamppStartSFE.setPreferenceStore(getPreferenceStore());
-    xamppStartSFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-
-    xamppStopSFE = new StringFieldEditor(ExternalToolsPlugin.XAMPP_STOP_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.xampp_stop"), apacheSettingsGroup);
-    xamppStopSFE.setPage(this);
-    xamppStopSFE.setPreferenceStore(getPreferenceStore());
-    xamppStopSFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-
-    apacheStartBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_START_BACKGROUND, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.start_background"), apacheSettingsGroup);
-    apacheStartBFE.setPage(this);
-    apacheStartBFE.setPreferenceStore(getPreferenceStore());
-    apacheStartBFE.load();
-
-    new Label(apacheSettingsGroup, SWT.NONE);
-    new Label(apacheSettingsGroup, SWT.NONE);
-    apacheStartSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_START_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.start"), apacheSettingsGroup);
-    apacheStartSFE.setPage(this);
-    apacheStartSFE.setPreferenceStore(getPreferenceStore());
-    apacheStartSFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-
-    apacheStopBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_STOP_BACKGROUND, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.stop_background"), apacheSettingsGroup);
-    apacheStopBFE.setPage(this);
-    apacheStopBFE.setPreferenceStore(getPreferenceStore());
-    apacheStopBFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-    new Label(apacheSettingsGroup, SWT.NONE);
-    apacheStopSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_STOP_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.stop"), apacheSettingsGroup);
-    apacheStopSFE.setPage(this);
-    apacheStopSFE.setPreferenceStore(getPreferenceStore());
-    apacheStopSFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-
-    apacheRestartBFE = new BooleanFieldEditor(ExternalToolsPlugin.APACHE_RESTART_BACKGROUND, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.restart_background"), apacheSettingsGroup);
-    apacheRestartBFE.setPage(this);
-    apacheRestartBFE.setPreferenceStore(getPreferenceStore());
-    apacheRestartBFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-    new Label(apacheSettingsGroup, SWT.NONE);
-    apacheRestartSFE = new StringFieldEditor(ExternalToolsPlugin.APACHE_RESTART_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.restart"), apacheSettingsGroup);
-    apacheRestartSFE.setPage(this);
-    apacheRestartSFE.setPreferenceStore(getPreferenceStore());
-    apacheRestartSFE.load();
-    new Label(apacheSettingsGroup, SWT.NONE);
-
-    apacheRunFFE = new FileFieldEditor(ExternalToolsPlugin.APACHE_RUN_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.apacheGroup.run"), apacheSettingsGroup);
-    apacheRunFFE.setPage(this);
-    apacheRunFFE.setPreferenceStore(getPreferenceStore());
-    apacheRunFFE.load();
-
-    httpdConfFFE = new FileFieldEditor(ExternalToolsPlugin.HTTPD_CONF_PATH_PREF,
-               "Path to httpd.conf:", apacheSettingsGroup);
-    httpdConfFFE.setPage(this);
-    httpdConfFFE.setPreferenceStore(getPreferenceStore());
-    httpdConfFFE.load();
-
-    etcHostsFFE = new FileFieldEditor(ExternalToolsPlugin.ETC_HOSTS_PATH_PREF,
-               "Path to etc/hosts:", apacheSettingsGroup);
-    etcHostsFFE.setPage(this);
-    etcHostsFFE.setPreferenceStore(getPreferenceStore());
-    etcHostsFFE.load();
-
-    phpRunFFE = new FileFieldEditor(ExternalToolsPlugin.PHP_RUN_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.console.php"), apacheSettingsGroup);
-    phpRunFFE.setPage(this);
-    phpRunFFE.setPreferenceStore(getPreferenceStore());
-    phpRunFFE.load();
-
-    //Create mySQL
-    Composite mySQLSettingsComposite = new Composite(composite, SWT.NULL);
-    mySQLSettingsComposite.setLayout(new GridLayout());
-    mySQLSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    Group mySQLSettingsGroup = new Group(mySQLSettingsComposite, SWT.NONE);
-    mySQLSettingsGroup.setText(PHPPreferencesMessages.getString("PHPBasePreferencePage.mySQLGroup"));
-    mySQLSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    mySQLSettingsGroup.setLayout(new GridLayout());
-
-    mysqlStartBFE = new BooleanFieldEditor(ExternalToolsPlugin.MYSQL_START_BACKGROUND, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.mySQLGroup.start_background"), mySQLSettingsGroup);
-    mysqlStartBFE.setPage(this);
-    mysqlStartBFE.setPreferenceStore(getPreferenceStore());
-    mysqlStartBFE.load();
-    new Label(mySQLSettingsGroup, SWT.NONE);
-    new Label(mySQLSettingsGroup, SWT.NONE);
-
-    mySQLCommandSFE = new StringFieldEditor(ExternalToolsPlugin.MYSQL_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.mySQLGroup.command"), mySQLSettingsGroup);
-    mySQLCommandSFE.setPage(this);
-    mySQLCommandSFE.setPreferenceStore(getPreferenceStore());
-    mySQLCommandSFE.load();
-    new Label(mySQLSettingsGroup, SWT.NONE);
-
-    mysqlRunFFE = new FileFieldEditor(ExternalToolsPlugin.MYSQL_RUN_PREF, PHPPreferencesMessages
-        .getString("PHPBasePreferencePage.mySQLGroup.run"), mySQLSettingsGroup);
-    mysqlRunFFE.setPage(this);
-    mysqlRunFFE.setPreferenceStore(getPreferenceStore());
-    mysqlRunFFE.load();
-
-    Composite parserSettingsComposite = new Composite(composite, SWT.NULL);
-    parserSettingsComposite.setLayout(new GridLayout());
-    parserSettingsComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    Group parserSettingsGroup = new Group(parserSettingsComposite, SWT.NONE);
-    parserSettingsGroup.setText("External parser command");
-    parserSettingsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    parserSettingsGroup.setLayout(new GridLayout());
-
-    externalParserSFE =
-      new StringFieldEditor(
-        ExternalToolsPlugin.EXTERNAL_PARSER_PREF,
-        PHPPreferencesMessages.getString("PHPBasePreferencePage.parsers.extcommand"),
-        parserSettingsGroup
-    );
-    externalParserSFE.setPage(this);
-    externalParserSFE.setPreferenceStore(getPreferenceStore());
-    externalParserSFE.load();
-
-    return composite;
-  }
+public class PHPExternalToolsPreferencePage extends PreferencePage implements
+               IWorkbenchPreferencePage {
+
+       StringFieldEditor externalParserSFE;
+
+       FileFieldEditor phpRunFFE;
+
+       public PHPExternalToolsPreferencePage() {
+               super();
+               setPreferenceStore(ExternalToolsPlugin.getDefault()
+                               .getPreferenceStore());
+       }
+
+       public void init(IWorkbench workbench) {
+       }
+
+       protected void performDefaults() {
+               externalParserSFE.loadDefault();
+               phpRunFFE.loadDefault();
+               super.performDefaults();
+       }
+
+       public boolean performOk() {
+               externalParserSFE.store();
+               phpRunFFE.store();
+               return super.performOk();
+       }
+
+       protected Control createContents(Composite parent) {
+               initializeDialogUnits(parent);
+               Composite composite = new Composite(parent, SWT.LEFT);
+               composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+               phpRunFFE = new FileFieldEditor(ExternalToolsPlugin.PHP_RUN_PREF,
+                               PHPPreferencesMessages
+                                               .getString("PHPBasePreferencePage.console.php"),
+                               composite);
+               phpRunFFE.setPage(this);
+               phpRunFFE.setPreferenceStore(getPreferenceStore());
+               phpRunFFE.load();
+
+               externalParserSFE = new StringFieldEditor(
+                               ExternalToolsPlugin.EXTERNAL_PARSER_PREF,
+                               PHPPreferencesMessages
+                                               .getString("PHPBasePreferencePage.parsers.extcommand"),
+                               composite);
+               externalParserSFE.setPage(this);
+               externalParserSFE.setPreferenceStore(getPreferenceStore());
+               externalParserSFE.load();
+               new Label(composite, SWT.NONE);
+
+               composite.setLayout(new GridLayout(3,false));
+               return composite;
+       }
 }
\ No newline at end of file