Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/preference/ColorFontFieldEditor.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/preference/ColorFontFieldEditor.java1
1 files changed, 0 insertions, 1 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/preference/ColorFontFieldEditor.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/preference/ColorFontFieldEditor.java
deleted file mode 100644
index f67bbaa28..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/preference/ColorFontFieldEditor.java
+++ /dev/null
@@ -1 +0,0 @@
-/******************************************************************************* * Copyright (c) 2004, 2006 Sybase, Inc. 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: * Sybase, Inc. - initial API and implementation *******************************************************************************/ package org.eclipse.jst.jsf.facesconfig.ui.preference; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.jface.resource.ColorRegistry; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.resource.StringConverter; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.FontDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; /** * * A field editor for a font type preference. * */ /*package*/ class ColorFontFieldEditor extends FieldEditor { private static final String ColorFontFieldEditor_ColorPref = "Color"; //$NON-NLS-1$ private static final int NUM_CONTROLS_WHEN_PREVIEWER = 4; private static final int NUM_CONTROLS_WHEN_NO_PREVIEWER = 3; /** * * The change font button, or <code>null</code> if none * * (before creation and after disposal). * */ private Button changeFontButton = null; /** * * The text for the change font button, or <code>null</code> * * if missing. * */ private String changeButtonText; /** * * The text for the preview, or <code>null</code> if no preview is desired * */ private String previewText; /** * * Font data for the chosen font button, or <code>null</code> if none. * */ private FontData[] chosenFont; /** * * Font color for the chosen font * */ private RGB fontRGB; /** * * The label that displays the selected font, or <code>null</code> if * none. * */ private Label valueControl; /** * * The previewer, or <code>null</code> if none. * */ private DefaultPreviewer previewer; /** * * Internal font previewer implementation. * */ private static class DefaultPreviewer { private Text text; private String string; private Font font; // private Color color; /** * @param s * @param parent */ public DefaultPreviewer(String s, Composite parent) { string = s; text = new Text(parent, SWT.READ_ONLY | SWT.BORDER); text.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (font != null) font.dispose(); } }); if (string != null) text.setText(string); } /** * @return the text control */ public Control getControl() { return text; } /** * @param fontData */ public void setFont(FontData[] fontData) { if (font != null && !font.isDisposed()) font.dispose(); font = new Font(text.getDisplay(), fontData); text.setFont(font); } // /** // * @param fontRGB // */ // public void setRGB(RGB fontRGB) { // if (fontRGB != null) { // if (color != null && !color.isDisposed()) // color.dispose(); // color = new Color(null, fontRGB); // text.setForeground(color); // } // } /** * @return the preferred extent */ public int getPreferredExtent() { return 40; } } /** * * Creates a new font field editor * */ protected ColorFontFieldEditor() { // control instantiation } /** * * Creates a font field editor with an optional preview area. * * * * @param name * the name of the preference this field editor works on * * @param labelText * the label text of the field editor * * @param previewAreaText * the text used for the preview window. If it is * * <code>null</code> there will be no preview area, * * @param parent * the parent of the field editor's control * */ public ColorFontFieldEditor( String name, String labelText, String previewAreaText, Composite parent) { init(name, labelText); previewText = previewAreaText; changeButtonText = JFaceResources.getString("openChange"); //$NON-NLS-1$ createControl(parent); } /** * * Creates a font field editor without a preview. * * * * @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 ColorFontFieldEditor(String name, String labelText, Composite parent) { this(name, labelText, null, parent); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void adjustForNumColumns(int numColumns) { GridData data = new GridData(); if (valueControl.getLayoutData() != null) data = (GridData) valueControl.getLayoutData(); data.horizontalSpan = numColumns - getNumberOfControls() + 1; valueControl.setLayoutData(data); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void applyFont() { if (chosenFont != null && previewer != null) previewer.setFont(chosenFont); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void doFillIntoGrid(Composite parent, int numColumns) { getLabelControl(parent); valueControl = getValueControl(parent); GridData gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); gd.horizontalSpan = numColumns - getNumberOfControls() + 1; valueControl.setLayoutData(gd); if (previewText != null) { previewer = new DefaultPreviewer(previewText, parent); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = previewer.getPreferredExtent(); gd.widthHint = previewer.getPreferredExtent(); previewer.getControl().setLayoutData(gd); } changeFontButton = getChangeControl(parent); gd = new GridData(); int widthHint = convertHorizontalDLUsToPixels(changeFontButton, IDialogConstants.BUTTON_WIDTH); gd.widthHint = Math.max(widthHint, changeFontButton.computeSize( SWT.DEFAULT, SWT.DEFAULT, true).x); changeFontButton.setLayoutData(gd); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void doLoad() { if (changeFontButton == null) return; fontRGB = PreferenceConverter.getColor(getPreferenceStore(), getPreferenceName() + ColorFontFieldEditor_ColorPref); updateFont(PreferenceConverter.getFontDataArray(getPreferenceStore(), getPreferenceName())); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void doLoadDefault() { if (changeFontButton == null) return; updateFont(PreferenceConverter.getDefaultFontDataArray( getPreferenceStore(), getPreferenceName())); } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ protected void doStore() { if (chosenFont != null) { PreferenceConverter.setValue(getPreferenceStore(), getPreferenceName(), chosenFont); } if (fontRGB != null) { PreferenceConverter.setValue(getPreferenceStore(), getPreferenceName() + ColorFontFieldEditor_ColorPref, fontRGB); } } /** * * Returns the change button for this field editor. * * * @param parent * @return the change button * */ protected Button getChangeControl(Composite parent) { if (changeFontButton == null) { changeFontButton = new Button(parent, SWT.PUSH); if (changeButtonText != null) changeFontButton.setText(changeButtonText); changeFontButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { FontDialog fontDialog = new FontDialog(changeFontButton .getShell()); if (chosenFont != null) fontDialog.setFontList(chosenFont); if (fontRGB != null) fontDialog.setRGB(fontRGB); FontData font = fontDialog.open(); if (font != null) { FontData[] oldFont = chosenFont; if (oldFont == null) oldFont = JFaceResources.getDefaultFont() .getFontData(); setPresentsDefaultValue(false); FontData[] newData = new FontData[1]; newData[0] = font; fontRGB = fontDialog.getRGB(); updateFont(newData); fireValueChanged(VALUE, oldFont[0], font); } } }); changeFontButton.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent event) { changeFontButton = null; } }); changeFontButton.setFont(parent.getFont()); setButtonLayoutData(changeFontButton); } else checkParent(changeFontButton, parent); return changeFontButton; } /* * (non-Javadoc) * * Method declared on FieldEditor. * */ public int getNumberOfControls() { if (previewer == null) { return NUM_CONTROLS_WHEN_NO_PREVIEWER; } return NUM_CONTROLS_WHEN_PREVIEWER; } /** * * Returns the preferred preview height. * * * * @return the height, or <code>-1</code> if no previewer * * is installed * */ public int getPreferredPreviewHeight() { if (previewer == null) return -1; return previewer.getPreferredExtent(); } /** * * Returns the preview control for this field editor. * * * * @return the preview control * */ public Control getPreviewControl() { if (previewer == null) return null; return previewer.getControl(); } /** * * Returns the value control for this field editor. The value control * * displays the currently selected font name. * @param parent * * * * @return the value control * */ protected Label getValueControl(Composite parent) { if (valueControl == null) { valueControl = new Label(parent, SWT.LEFT); valueControl.setFont(parent.getFont()); valueControl.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent event) { valueControl = null; } }); } else checkParent(valueControl, parent); return valueControl; } /** * * Sets the text of the change button. * * * * @param text * the new text * */ public void setChangeButtonText(String text) { Assert.isNotNull(text); changeButtonText = text; if (changeFontButton != null) changeFontButton.setText(text); } /** * * Updates the change font button and the previewer to reflect the * * newly selected font. * */ private void updateFont(FontData font[]) { FontData[] bestFont = JFaceResources.getFontRegistry().filterData( font, valueControl.getDisplay()); // if we have nothing valid do as best we can if (bestFont == null) bestFont = getDefaultFontData(); // Now cache this value in the receiver this.chosenFont = bestFont; if (valueControl != null) { if (fontRGB != null) { ColorRegistry registry = JFaceResources.getColorRegistry(); Color color = registry.get(fontRGB.toString()); if (color == null) { registry.put(fontRGB.toString(), fontRGB); color = registry.get(fontRGB.toString()); } valueControl.setForeground(color); } valueControl.setText(StringConverter.asString(chosenFont[0])); } if (previewer != null) { previewer.setFont(bestFont); } } /** * * Store the default preference for the field * * being edited * */ protected void setToDefault() { FontData[] defaultFontData = PreferenceConverter .getDefaultFontDataArray(getPreferenceStore(), getPreferenceName()); PreferenceConverter.setValue(getPreferenceStore(), getPreferenceName(), defaultFontData); } /** * * Get the system default font data. * */ private FontData[] getDefaultFontData() { return valueControl.getDisplay().getSystemFont().getFontData(); } /* * * @see FieldEditor.setEnabled(boolean,Composite). * */ public void setEnabled(boolean enabled, Composite parent) { super.setEnabled(enabled, parent); getChangeControl(parent).setEnabled(enabled); getValueControl(parent).setEnabled(enabled); } } \ No newline at end of file

Back to the top