package org.xmind.ui.internal.prefs;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.ComboFieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.xmind.ui.internal.MindMapUIPlugin;
import org.xmind.ui.preference.PreferenceFieldEditorPageSection;
import org.xmind.ui.prefs.PrefConstants;
public class OthersPreferenceSection extends PreferenceFieldEditorPageSection
implements IWorkbenchPreferencePage {
@Override
protected void createFieldEditors() {
addAnimationField();
addShadowField();
addZoomField();
}
protected IPreferenceStore doGetPreferenceStore() {
return MindMapUIPlugin.getDefault().getPreferenceStore();
}
private void addAnimationField() {
addField(new BooleanFieldEditor(PrefConstants.ANIMATION_ENABLED,
PrefMessages.EditorPage_EnableAnimation_text,
getDecratorParentComposite()));
}
private void addShadowField() {
addField(new BooleanFieldEditor(PrefConstants.SHADOW_ENABLED,
PrefMessages.EditorPage_EnableShadow_text,
getDecratorParentComposite()));
}
private void addZoomField() {
if (getPreferenceStore().getInt(PrefConstants.ZOOM_VALUE) == 0) {
// int width = Display.getCurrent().getBounds().width;
// if (width <= 1370)
getPreferenceStore().setValue(PrefConstants.ZOOM_VALUE, 100);
// else if (width > 1370 && width <= 1930)
// getPreferenceStore().setValue(PrefConstants.ZOOM_VALUE, 120);
// else
// getPreferenceStore().setValue(PrefConstants.ZOOM_VALUE, 150);
}
String[][] zoom = new String[][] { { "50%", "50" }, { "75%", "75" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
{ "100%", "100" }, { "120%", "120" }, { "150%", "150" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
{ "200%", "200" }, { "300%", "300" } }; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
addField(new ComboFieldEditor(PrefConstants.ZOOM_VALUE,
PrefMessages.EditorPage_Zoom_Scale_text, zoom,
getDecratorParentComposite()));
}
@Override
public void init(IWorkbench workbench) {
}
@Override
public void apply() {
this.performApply();
}
@Override
public boolean ok() {
return this.performOk();
}
@Override
public void excuteDefault() {
this.performDefaults();
}
@Override
public boolean cancel() {
return this.performCancel();
}
}