///*******************************************************************************
// * Copyright (c) 2000, 2007 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.jface.preference;
//
//import org.eclipse.jface.resource.JFaceResources;
//import org.eclipse.jface.util.IPropertyChangeListener;
//import org.eclipse.jface.util.PropertyChangeEvent;
//import org.eclipse.swt.graphics.Font;
//import org.eclipse.swt.graphics.GC;
//import org.eclipse.swt.graphics.Point;
//import org.eclipse.swt.layout.GridData;
//import org.eclipse.swt.widgets.Button;
//import org.eclipse.swt.widgets.Composite;
//import org.eclipse.swt.widgets.Control;
//
///**
// * A field editor for a color type preference.
// */
//public class ColorFieldEditor extends FieldEditor {
//
// /**
// * The color selector, or <code>null</code> if none.
// */
// private ColorSelector colorSelector;
//
// /**
// * Creates a new color field editor
// */
// protected ColorFieldEditor() {
// //No default behavior
// }
//
// /**
// * Creates a color field editor.
// *
// * @param name
// * the name of the preference this field editor works on
// * @param labelText
// * the label text of the field editor
// * @param parent
// * the parent of the field editor's control
// */
// public ColorFieldEditor(String name, String labelText, Composite parent) {
// super(name, labelText, parent);
// }
//
// /*
// * (non-Javadoc) Method declared on FieldEditor.
// */
// protected void adjustForNumColumns(int numColumns) {
// ((GridData) colorSelector.getButton().getLayoutData()).horizontalSpan = numColumns - 1;
// }
//
// /**
// * Computes the size of the color image displayed on the button.
// * <p>
// * This is an internal method and should not be called by clients.
// * </p>
// *
// * @param window
// * the window to create a GC on for calculation.
// * @return Point The image size
// *
// */
// protected Point computeImageSize(Control window) {
// // Make the image height as high as a corresponding character. This
// // makes sure that the button has the same size as a "normal" text
// // button.
// GC gc = new GC(window);
// Font f = JFaceResources.getFontRegistry().get(
// JFaceResources.DEFAULT_FONT);
// gc.setFont(f);
// int height = gc.getFontMetrics().getHeight();
// gc.dispose();
// Point p = new Point(height * 3 - 6, height);
// return p;
// }
//
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.preference.FieldEditor#doFillIntoGrid(org.eclipse.swt.widgets.Composite, int)
// */
// protected void doFillIntoGrid(Composite parent, int numColumns) {
// Control control = getLabelControl(parent);
// GridData gd = new GridData();
// gd.horizontalSpan = numColumns - 1;
// control.setLayoutData(gd);
//
// Button colorButton = getChangeControl(parent);
// colorButton.setLayoutData(new GridData());
//
// }
//
//
// /* (non-Javadoc)
// * @see org.eclipse.jface.preference.FieldEditor#doLoad()
// */
// protected void doLoad() {
// if (colorSelector == null) {
// return;
// }
// colorSelector.setColorValue(PreferenceConverter.getColor(
// getPreferenceStore(), getPreferenceName()));
// }
//
// /*
// * (non-Javadoc) Method declared on FieldEditor.
// */
// protected void doLoadDefault() {
// if (colorSelector == null) {
// return;
// }
// colorSelector.setColorValue(PreferenceConverter.getDefaultColor(
// getPreferenceStore(), getPreferenceName()));
// }
//
// /*
// * (non-Javadoc) Method declared on FieldEditor.
// */
// protected void doStore() {
// PreferenceConverter.setValue(getPreferenceStore(), getPreferenceName(),
// colorSelector.getColorValue());
// }
//
// /**
// * Get the color selector used by the receiver.
// *
// * @return ColorSelector/
// */
// public ColorSelector getColorSelector() {
// return colorSelector;
// }
//
// /**
// * Returns the change button for this field editor.
// *
// * @param parent
// * The control to create the button in if required.
// * @return the change button
// */
// protected Button getChangeControl(Composite parent) {
// if (colorSelector == null) {
// colorSelector = new ColorSelector(parent);
// colorSelector.addListener(new IPropertyChangeListener() {
// // forward the property change of the color selector
// public void propertyChange(PropertyChangeEvent event) {
// ColorFieldEditor.this.fireValueChanged(event.getProperty(),
// event.getOldValue(), event.getNewValue());
// setPresentsDefaultValue(false);
// }
// });
//
// } else {
// checkParent(colorSelector.getButton(), parent);
// }
// return colorSelector.getButton();
// }
//
// /*
// * (non-Javadoc) Method declared on FieldEditor.
// */
// public int getNumberOfControls() {
// return 2;
// }
//
// /*
// * (non-Javadoc)
// *
// * @see org.eclipse.jface.preference.FieldEditor#setEnabled(boolean,
// * org.eclipse.swt.widgets.Composite)
// */
// public void setEnabled(boolean enabled, Composite parent) {
// super.setEnabled(enabled, parent);
// getChangeControl(parent).setEnabled(enabled);
// }
//
//}