package org.goko.preferences.units;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.goko.common.preferences.GkFieldEditorPreferencesPage;
import org.goko.common.preferences.fieldeditor.preference.ComboFieldEditor;
import org.goko.common.preferences.fieldeditor.preference.IntegerFieldEditor;
import org.goko.core.config.EnumGokoUnit;
import org.goko.core.config.GokoPreference;
/**
* Configuration of the units used in Goko
*
* @author PsyKo
*
*/
public class GokoUnitsPreferences extends GkFieldEditorPreferencesPage {
public GokoUnitsPreferences() {
setDescription("Configure the units used in the application");
setTitle("Units");
setPreferenceStore(GokoPreference.getInstance());
}
@Override
protected void createPreferencePage(Composite parent) {
ComboFieldEditor comboFieldEditor = new ComboFieldEditor(parent, SWT.READ_ONLY);
comboFieldEditor.setLabelWidthInChar(7);
comboFieldEditor.setLabel("Length");
String[][] values = new String[EnumGokoUnit.values().length][2];
int i = 0;
for (EnumGokoUnit gUnit : EnumGokoUnit.values()) {
values[i][0] = gUnit.getCode();
values[i][1] = gUnit.getCode();
i++;
};
comboFieldEditor.setEntry(values);
comboFieldEditor.setPreferenceName(GokoPreference.KEY_DISTANCE_UNIT);
IntegerFieldEditor integerFieldEditor = new IntegerFieldEditor(parent, SWT.NONE);
integerFieldEditor.setWidthInChars(5);
integerFieldEditor.setLabelWidthInChar(7);
integerFieldEditor.setLabel("Digits");
integerFieldEditor.setPreferenceName(GokoPreference.KEY_DISTANCE_DIGIT_COUNT);
addField(comboFieldEditor);
addField(integerFieldEditor);
}
}