package org.jactr.eclipse.ui.preferences;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.jactr.eclipse.ui.UIPlugin;
public class JACTREditorPreferencePage extends PreferencePage implements
IWorkbenchPreferencePage
{
BooleanFieldEditor _completeStrings;
BooleanFieldEditor _completeComments;
FieldEditor[] _all = new FieldEditor[4];
@Override
protected Control createContents(Composite parent)
{
Composite entryTable = new Composite(parent, SWT.NULL);
GridData data = new GridData(GridData.FILL_HORIZONTAL);
data.grabExcessHorizontalSpace = true;
entryTable.setLayoutData(data);
GridLayout layout = new GridLayout();
entryTable.setLayout(layout);
final Composite reconcilerGroup = new Composite(entryTable, SWT.NONE);
reconcilerGroup.setLayout(new GridLayout());
reconcilerGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
_completeStrings = new BooleanFieldEditor(
UIPreferences.ENABLE_STRING_COMPLETION, "Enable string completion",
BooleanFieldEditor.SEPARATE_LABEL, reconcilerGroup);
_all[0] = _completeStrings;
_completeStrings.setPreferenceStore(getPreferenceStore());
_completeComments = new BooleanFieldEditor(
UIPreferences.ENABLE_COMMENT_COMPLETION, "Enable comment completion",
BooleanFieldEditor.SEPARATE_LABEL, reconcilerGroup);
_all[1] = _completeComments;
_completeComments.setPreferenceStore(getPreferenceStore());
BooleanFieldEditor bfe = new BooleanFieldEditor(
UIPreferences.ENABLE_CARRET_COMPLETION,
"Enable carret '<>' completion", BooleanFieldEditor.SEPARATE_LABEL,
reconcilerGroup);
_all[2] = bfe;
bfe.setPreferenceStore(getPreferenceStore());
bfe = new BooleanFieldEditor(
UIPreferences.ENABLE_CLOSE_COMPLETION, "Enable close tag completion",
BooleanFieldEditor.SEPARATE_LABEL, reconcilerGroup);
_all[3] = bfe;
bfe.setPreferenceStore(getPreferenceStore());
for (FieldEditor editor : _all)
editor.load();
return entryTable;
}
@Override
protected void performDefaults()
{
for (FieldEditor editor : _all)
editor.loadDefault();
}
@Override
public boolean performOk()
{
for (FieldEditor editor : _all)
editor.store();
return super.performOk();
}
public void init(IWorkbench workbench)
{
setPreferenceStore(UIPlugin.getDefault().getPreferenceStore());
}
}