summaryrefslogtreecommitdiff
path: root/eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2011-12-10 01:57:19 +0100
committerJose <jose@zeroc.com>2011-12-10 01:57:19 +0100
commit42e31f18dc2f34c6b0c427ca0a976ac795349864 (patch)
tree91f81872e55f06c5d6b859039e3c2a633c70c684 /eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java
parentICE-4705 voip glacier2 configuration (diff)
downloadice-42e31f18dc2f34c6b0c427ca0a976ac795349864.tar.bz2
ice-42e31f18dc2f34c6b0c427ca0a976ac795349864.tar.xz
ice-42e31f18dc2f34c6b0c427ca0a976ac795349864.zip
Eclipse plug-in updates for release 3.4.2.20111024
Diffstat (limited to 'eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java')
-rw-r--r--eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java102
1 files changed, 102 insertions, 0 deletions
diff --git a/eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java b/eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java
new file mode 100644
index 00000000000..e478f3d037d
--- /dev/null
+++ b/eclipse/java/Slice2javaPlugin/src/com/zeroc/slice2javaplugin/preferences/PluginPreferencePage.java
@@ -0,0 +1,102 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
+//
+// This plug-in is provided to you under the terms and conditions
+// of the Eclipse Public License Version 1.0 ("EPL"). A copy of
+// the EPL is available at http://www.eclipse.org/legal/epl-v10.html.
+//
+// **********************************************************************
+
+package com.zeroc.slice2javaplugin.preferences;
+
+import org.eclipse.jface.preference.*;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.IWorkbench;
+
+import com.zeroc.slice2javaplugin.Activator;
+import com.zeroc.slice2javaplugin.internal.Configuration;
+
+/**
+ * This class represents a preference page that is contributed to the
+ * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage</samp>, we
+ * can use the field support built into JFace that allows us to create a page
+ * that is small and knows how to save, restore and apply itself.
+ * <p>
+ * This page is used to modify preferences only. They are stored in the
+ * preference store that belongs to the main plug-in class. That way,
+ * preferences can be accessed directly via the preference store.
+ */
+
+public class PluginPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage
+{
+ public static final String SDK_PATH = "pathPreference";
+
+ public PluginPreferencePage()
+ {
+ super(GRID);
+ setPreferenceStore(Activator.getDefault().getPreferenceStore());
+ setDescription("Slice2Java Preferences");
+ }
+
+ /**
+ * Creates the field editors. Field editors are abstractions of the common
+ * GUI blocks needed to manipulate various types of preferences. Each field
+ * editor knows how to save and restore itself.
+ */
+ public void createFieldEditors()
+ {
+ addField(new SdkDirectoryFieldEditor(SDK_PATH, "&SDK Location:", getFieldEditorParent()));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ public void init(IWorkbench workbench)
+ {
+ }
+
+ private static class SdkDirectoryFieldEditor extends DirectoryFieldEditor
+ {
+
+ public SdkDirectoryFieldEditor(String name, String labelText, Composite parent)
+ {
+ super(name, labelText, parent);
+ setEmptyStringAllowed(false);
+ }
+
+ /**
+ * Method declared on StringFieldEditor and overridden in
+ * DirectoryFieldEditor. Checks whether the text input field contains a
+ * valid directory.
+ *
+ * @return True if the apply/ok button should be enabled in the pref
+ * panel
+ */
+ @Override
+ protected boolean doCheckState()
+ {
+ String dir = getTextControl().getText();
+ dir = dir.trim();
+ if(!Configuration.verifyIceHome(dir))
+ {
+ setErrorMessage("Invalid SDK Location");
+ return false;
+ }
+ clearMessage();
+ return true;
+ }
+
+ @Override
+ public Text getTextControl(Composite parent)
+ {
+ setValidateStrategy(VALIDATE_ON_KEY_STROKE);
+ return super.getTextControl(parent);
+ }
+ }
+}