--- /dev/null
+package org.simantics.g3d.preferences;
+
+import org.eclipse.jface.preference.*;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+import org.eclipse.ui.IWorkbench;
+import org.simantics.g3d.Activator;
+import org.simantics.g3d.math.EulerTools.Order;
+
+/**
+ * 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 G3DPreferencePage
+ extends FieldEditorPreferencePage
+ implements IWorkbenchPreferencePage {
+
+ public G3DPreferencePage() {
+ super(GRID);
+ setPreferenceStore(Activator.getDefault().getPreferenceStore());
+ setDescription("3D modelling prederences");
+ }
+
+ /**
+ * 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 RadioGroupFieldEditor(
+ PreferenceConstants.ORIENTATION_PRESENTATION,
+ "OrientationPresentation", 1,
+ new String[][] { { "&Quaternion", "quat" },
+ { "&Axis-Angle", "aa" },{ "&Euler", "euler" } }, getFieldEditorParent()));
+ String[][] eulerOrders = new String[Order.values().length][2];
+ for (int i = 0; i < Order.values().length; i++) {
+ eulerOrders[i][0] = Order.values()[i].toString();
+ eulerOrders[i][1] = Order.values()[i].name();
+ }
+ addField(new RadioGroupFieldEditor(
+ PreferenceConstants.EULER_ANGLE_ORDER,
+ "Euler Angle Order", 1,
+ eulerOrders, getFieldEditorParent()));
+// addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH,
+// "&Directory preference:", getFieldEditorParent()));
+// addField(
+// new BooleanFieldEditor(
+// PreferenceConstants.P_BOOLEAN,
+// "&An example of a boolean preference",
+// getFieldEditorParent()));
+//
+// addField(new RadioGroupFieldEditor(
+// PreferenceConstants.P_CHOICE,
+// "An example of a multiple-choice preference",
+// 1,
+// new String[][] { { "&Choice 1", "choice1" }, {
+// "C&hoice 2", "choice2" }
+// }, getFieldEditorParent()));
+// addField(
+// new StringFieldEditor(PreferenceConstants.P_STRING, "A &text preference:", getFieldEditorParent()));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+ */
+ public void init(IWorkbench workbench) {
+ }
+
+}
\ No newline at end of file