package org.xmind.ui.internal.prefs;
import org.eclipse.jface.preference.ComboFieldEditor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
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 UndoRedoPreferencePageSection extends
PreferenceFieldEditorPageSection implements IWorkbenchPreferencePage {
private Composite container;
private String[][] undos = new String[][] { { "10", "10" }, { "20", "20" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
{ "50", "50" }, { "100", "100" } }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
@Override
protected Control createContents(Composite parent) {
container = parent;
return super.createContents(parent);
}
protected IPreferenceStore doGetPreferenceStore() {
return MindMapUIPlugin.getDefault().getPreferenceStore();
}
@Override
protected void createFieldEditors() {
addUndoRedoField();
}
private void addUndoRedoField() {
Label descriptionLabel = new Label(container, SWT.WRAP);
GridData data = (GridData) descriptionLabel.getLayoutData();
if (null == data) {
data = new GridData(SWT.FILL, SWT.CENTER, true, false);
data.widthHint = 450;
data.horizontalIndent = 25;
descriptionLabel.setLayoutData(data);
}
descriptionLabel.setText(PrefMessages.EditorPage_UndoRedo_description);
addField(new ComboFieldEditor(PrefConstants.UNDO_LIMIT,
PrefMessages.EditorPage_UndoLimit_label, undos,
getDecratorParentComposite()));
}
}