| /******************************************************************************* |
| * Copyright (c) 2000, 2003 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Common Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.ui.tests.dialogs; |
| |
| 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.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.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) { |
| } |
| |
| } |