X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fpreferences%2FG3DPreferencePage.java;fp=org.simantics.g3d%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fpreferences%2FG3DPreferencePage.java;h=7f90aebebbd74edd864d5753522760cb95f32f9b;hb=87b3241ec277ba3d8e414b26186a032c9cdcaeed;hp=0000000000000000000000000000000000000000;hpb=1f0bcd66274375f2278d2e6c486cb28257a5f7b2;p=simantics%2F3d.git diff --git a/org.simantics.g3d/src/org/simantics/g3d/preferences/G3DPreferencePage.java b/org.simantics.g3d/src/org/simantics/g3d/preferences/G3DPreferencePage.java new file mode 100644 index 00000000..7f90aebe --- /dev/null +++ b/org.simantics.g3d/src/org/simantics/g3d/preferences/G3DPreferencePage.java @@ -0,0 +1,79 @@ +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 FieldEditorPreferencePage, 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. + *

+ * 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