//------------------------------------------------------------------------------ // Copyright (c) 2005, 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 implementation //------------------------------------------------------------------------------ package org.eclipse.epf.ui.preferences; import org.eclipse.epf.ui.util.SWTUtil; import org.eclipse.jface.preference.PreferencePage; import org.eclipse.jface.text.TextViewer; import org.eclipse.jface.viewers.CheckboxTableViewer; import org.eclipse.jface.viewers.ListViewer; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; /** * The abstract base class for all EPF preference pages. * * @author Kelvin Low * @since 1.2 */ abstract public class BasePreferencePage extends PreferencePage implements IWorkbenchPreferencePage { /** * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench) */ public void init(IWorkbench workbench) { } /** * Creates a composite with a grid layout. * * @param parent * the parent composite * @param column * the number of column cells that the composite will take up * @return a <code>Composite</code> object */ protected static Composite createGridLayoutComposite(Composite parent, int column) { return SWTUtil.createGridLayoutComposite(parent, column); } /** * Creates a child composite with a grid layout. * <p> * The child composite will be indented from the parent composite. * * @param parent * the parent composite * @param column * the number of column cells that the composite will take up * @return a <code>Composite</code> object */ protected static Composite createChildGridLayoutComposite(Composite parent, int column) { return SWTUtil.createChildGridLayoutComposite(parent, column); } /** * Creates a group with a grid layout. * * @param parent * the parent composite * @param text * the text for the group * @param column * the number of column cells that the group will take up * @return a <code>Group</code> object */ protected static Group createGridLayoutGroup(Composite parent, String text, int column) { return SWTUtil.createGridLayoutGroup(parent, text, column); } /** * Creates a group with a grid layout. * * @param parent * the parent composite * @param text * the text for the group * @param column * the number of column cells that the group will take up * @param equalColumnWidth * flag to indicate whether column cells should be same width or * not * @return a <code>Group</code> object */ protected static Group createGridLayoutGroup(Composite parent, String text, int column, boolean equalColumnWidth) { return SWTUtil.createGridLayoutGroup(parent, text, column, equalColumnWidth); } /** * Creates a label. * * @param parent * the parent composite * @param text * the text for the label * @param column * the number of column cells that the label will take up * @return a <code>Label</code> object */ protected static Label createLabel(Composite parent, String text, int column) { return SWTUtil.createLabel(parent, text, column); } /** * Creates a label that only takes up one column cell. * * @param parent * the parent composite * @param text * the text for the label * @return a <code>Label</code> object */ protected static Label createLabel(Composite parent, String text) { return SWTUtil.createLabel(parent, text); } /** * Creates an editable text control. * * @param parent * the parent composite * @param defaultText * the default text for the control * @param widthHint * the preferred width (in pixels) for the control * @param heightHint * the preferred height (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent, String defaultText, int widthHint, int heightHint, int column) { return SWTUtil.createEditableText(parent, defaultText, widthHint, heightHint, column); } /** * Creates a readonly text control. * * @param parent * the parent composite * @param defaultText * the default text for the control * @param widthHint * the preferred width (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createText(Composite parent, String defaultText, int widthHint, int column) { return SWTUtil.createText(parent, defaultText, widthHint, column); } /** * Creates an readonly text control that only takes up one column cell. * * @param parent * the parent composite * @param defaultText * the default text for the control * @return a <code>Text</code> object */ protected static Text createText(Composite parent, String defaultText) { return SWTUtil.createText(parent, defaultText); } /** * Creates an editable text control. * * @param parent * the parent composite * @param defaultText * the default text for the control * @param widthHint * the preferred width (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent, String defaultText, int widthHint, int column) { return SWTUtil.createEditableText(parent, defaultText, widthHint, column); } /** * Creates an editable text control. * * @param parent * the parent composite * @param defaultText * the default text for the control * @param widthHint * the preferred width (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent, String defaultText, int widthHint) { return SWTUtil.createEditableText(parent, defaultText, widthHint); } /** * Creates an editable text control. * * @param parent * the parent composite * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent, int column) { return SWTUtil.createEditableText(parent, column); } /** * Creates an editable text control that only takes up one column cell. * * @param parent * the parent composite * @param defaultText * the default text for the control * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent, String defaultText) { return SWTUtil.createEditableText(parent, defaultText); } /** * Creates an empty editable text control that only takes up one column * cell. * * @param parent * the parent composite * @param defaultText * the default text for the control * @return a <code>Text</code> object */ protected static Text createEditableText(Composite parent) { return SWTUtil.createEditableText(parent); } /** * Creates a readonly multi-line text control. * * @param parent * the parent composite * @param defaultText * the default text for the control * @param widthHint * the preferred width (in pixels) for the control * @param heightHint * the preferred height (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>Text</code> object */ protected static Text createMultiLineText(Composite parent, String defaultText, int widthHint, int heightHint, int column) { return SWTUtil.createMultiLineText(parent, defaultText, widthHint, heightHint, column); } /** * Creates an combobox. * * @param parent * the parent composite * @param column * the number of column cells that the control will take up * @return a <code>Combo</code> object */ protected static Combo createCombobox(Composite parent, int column) { return SWTUtil.createCombobox(parent, column); } /** * Creates an combobox that only takes up one column cell. * * @param parent * the parent composite * @return a <code>Combo</code> object */ protected static Combo createCombobox(Composite parent) { return SWTUtil.createCombobox(parent); } /** * Creates a button. * * @param parent * the parent composite * @param text * the text for the control * @return a <code>Button</code> object */ protected static Button createButton(Composite parent, String text) { return SWTUtil.createButton(parent, text); } /** * Creates a checkbox. * * @param parent * the parent composite * @param text * the text for the control * @param column * the number of column cells that the control will take up * @return a <code>Button</code> object */ protected static Button createCheckbox(Composite parent, String text, int column) { return SWTUtil.createCheckbox(parent, text, column); } /** * Creates a checkbox that only takes up one column cell. * * @param parent * the parent composite * @param text * the text for the control * @return a <code>Button</code> object */ protected static Button createCheckbox(Composite parent, String text) { return SWTUtil.createCheckbox(parent, text); } /** * Creates an radio button. * * @param parent * the parent composite * @param text * the text for the control * @param column * the number of column cells that the control will take up * @param selected * if <code>true</code>, select the radio button by default * @return a <code>Button</code> object */ protected static Button createRadioButton(Composite parent, String text, int column, boolean selected) { return SWTUtil.createRadioButton(parent, text, column, selected); } /** * Creates an radio button that only takes up one column cell. * * @param parent * the parent composite * @param text * the text for the control * @return a <code>Button</code> object */ protected static Button createRadioButton(Composite parent, String text) { return SWTUtil.createRadioButton(parent, text); } /** * Creates a readonly text viewer. * * @param parent * the parent composite * @param widthHint * the preferred width (in pixels) for the control * @param heightHint * the preferred height (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>TextViewer</code> object */ protected static TextViewer createTextViewer(Composite parent, int widthHint, int heightHint, int column) { return SWTUtil.createTextViewer(parent, widthHint, heightHint, column); } /** * Creates a readonly text viewer that only takes up one column cell. * * @param parent * the parent composite * @return a <code>TextViewer</code> object */ protected static TextViewer createTextViewer(Composite parent) { return SWTUtil.createTextViewer(parent); } /** * Creates a table viewer. * * @param parent * the parent composite * @param widthHint * the preferred width (in pixels) for the control * @param heightHint * the preferred height (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>TableViewer</code> object */ protected static TableViewer createTableViewer(Composite parent, int widthHint, int heightHint, int column) { return SWTUtil.createTableViewer(parent, widthHint, heightHint, column); } /** * Creates a checkbox table viewer. * * @param parent * the parent composite * @param widthHint * the preferred width (in pixels) for the control * @param heightHint * the preferred height (in pixels) for the control * @param column * the number of column cells that the control will take up * @return a <code>CheckboxTableViewer</code> object */ protected static CheckboxTableViewer createCheckboxTableViewer( Composite parent, int widthHint, int heightHint, int column) { return SWTUtil.createCheckboxTableViewer(parent, widthHint, heightHint, column); } /** * Creates a checkbox table viewer. * * @param parent * the parent composite * @param column * the number of column cells that the control will take up * @return a <code>CheckboxTableViewer</code> object */ protected static CheckboxTableViewer createCheckboxTableViewer( Composite parent, int column) { return SWTUtil.createCheckboxTableViewer(parent, 360, 175, column); } /** * Creates a list viewer. * * @param parent * the parent composite * @param column * the number of column cells that the control will take up * @return a <code>ListViewer</code> object */ protected static ListViewer createListViewer( Composite parent, int widthHint, int heightHint) { return SWTUtil.createListViewer(parent, widthHint, heightHint, 1); } /** * Creates a line. * * @param parent * the parent composite * @param column * the number of column cells that the line will take up * @return a <code>Label</code> object */ protected static Label createLine(Composite parent, int column) { return SWTUtil.createLine(parent, column); } /** * Checks whether a text control has some text. * * @param control * the text control * @return <code>true</code> if the text control has some text, * <code>false</code> otherwise */ protected static boolean isNonEmptyText(Text control) { return SWTUtil.isNonEmptyText(control); } }