package edu.ualberta.med.biobank.preferences;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferenceConstants;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.WorkbenchMessages;
import edu.ualberta.med.biobank.BiobankPlugin;
@SuppressWarnings("restriction")
public class GeneralPreferencePage extends FieldEditorPreferencePage implements
IWorkbenchPreferencePage {
private BooleanFieldEditor showVersionFieldEditor;
private BooleanFieldEditor showHeapFieldEditor;
public GeneralPreferencePage() {
super(GRID);
setPreferenceStore(BiobankPlugin.getDefault().getPreferenceStore());
}
@Override
public void init(IWorkbench workbench) {
//
}
@Override
protected void createFieldEditors() {
showVersionFieldEditor = new BooleanFieldEditor(
PreferenceConstants.GENERAL_SHOW_VERSION,
Messages.GeneralPreferencePage_version_label,
getFieldEditorParent());
addField(showVersionFieldEditor);
showHeapFieldEditor = new BooleanFieldEditor(
IWorkbenchPreferenceConstants.SHOW_MEMORY_MONITOR,
WorkbenchMessages.WorkbenchPreference_HeapStatusButton,
getFieldEditorParent());
showHeapFieldEditor.getDescriptionControl(getFieldEditorParent())
.setToolTipText(
WorkbenchMessages.WorkbenchPreference_HeapStatusButtonToolTip);
addField(showHeapFieldEditor);
}
@Override
public boolean performOk() {
super.performOk();
PlatformUI.getPreferenceStore().setValue(
IWorkbenchPreferenceConstants.SHOW_MEMORY_MONITOR,
showHeapFieldEditor.getBooleanValue());
BiobankPlugin.getDefault().updateHeapStatus(
showHeapFieldEditor.getBooleanValue());
return true;
}
}