blob: 1d50209c46d26e577088da383a53e13e7e05309c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.dialogs;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.ColorFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.FontFieldEditor;
import org.eclipse.jface.preference.PathEditor;
import org.eclipse.jface.preference.RadioGroupFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
public class EnableTestPreferencePage extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
private BooleanFieldEditor be;
private ColorFieldEditor ce;
private FontFieldEditor fe;
private PathEditor pe;
private RadioGroupFieldEditor rg;
private StringFieldEditor se;
private Composite beParent;
private Composite ceParent;
private Composite feParent;
private Composite peParent;
private Composite rgParent;
private Composite seParent;
private boolean enabledState = true;
public EnableTestPreferencePage() {
super(GRID);
}
public void flipState() {
if (enabledState)
enabledState = false;
else
enabledState = true;
be.setEnabled(enabledState, beParent);
ce.setEnabled(enabledState, ceParent);
fe.setEnabled(enabledState, feParent);
pe.setEnabled(enabledState, peParent);
rg.setEnabled(enabledState, rgParent);
se.setEnabled(enabledState, seParent);
}
/**
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
*/
protected void createFieldEditors() {
String[][] labelsAndValues = new String[][] { { "Label 1", "Value 1" },
{ "Label 2", "Value 2" } };
beParent = getFieldEditorParent();
be = new BooleanFieldEditor("BooleanValue", "BooleanTest", beParent);
addField(be);
ceParent = getFieldEditorParent();
ce = new ColorFieldEditor("ColorValue", "Color Test", ceParent);
addField(ce);
feParent = getFieldEditorParent();
fe = new FontFieldEditor("FontValue", "Font Test", feParent);
addField(fe);
peParent = getFieldEditorParent();
pe = new PathEditor("PathValue", "Path Test", "C:\temp", peParent);
addField(pe);
rgParent = getFieldEditorParent();
rg = new RadioGroupFieldEditor("Radio Value", "Radio Test", 2,
labelsAndValues, rgParent);
addField(rg);
seParent = getFieldEditorParent();
se = new StringFieldEditor("String Value", "String Editor", seParent);
addField(se);
}
/* (non-Javadoc)
* Method declared on PreferencePage.
*/
protected Control createContents(Composite parent) {
Composite composite = (Composite) super.createContents(parent);
Button enabledButton = new Button(parent, SWT.PUSH);
enabledButton.setText("Switch Enabled State");
enabledButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
flipState();
}
public void widgetDefaultSelected(SelectionEvent e) {
flipState();
}
});
return composite;
}
/**
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
*/
public void init(IWorkbench workbench) {
}
}