| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 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.authoring.ui.properties; |
| |
| import org.eclipse.epf.authoring.ui.AuthoringUIImages; |
| import org.eclipse.epf.authoring.ui.AuthoringUIResources; |
| import org.eclipse.epf.authoring.ui.forms.BaseFormPage; |
| import org.eclipse.epf.authoring.ui.forms.MethodFormToolkit; |
| import org.eclipse.epf.authoring.ui.richtext.IMethodRichText; |
| import org.eclipse.epf.authoring.ui.util.RichTextImageLinkContainer; |
| import org.eclipse.epf.uma.MethodElement; |
| import org.eclipse.swt.SWT; |
| import org.eclipse.swt.graphics.Image; |
| import org.eclipse.swt.layout.GridData; |
| import org.eclipse.swt.layout.GridLayout; |
| import org.eclipse.swt.widgets.Button; |
| import org.eclipse.swt.widgets.Combo; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.swt.widgets.Table; |
| import org.eclipse.swt.widgets.Text; |
| import org.eclipse.ui.forms.widgets.FormToolkit; |
| import org.eclipse.ui.forms.widgets.ImageHyperlink; |
| import org.eclipse.ui.forms.widgets.Section; |
| |
| |
| /** |
| * The UI util class tailored for properties view for process authoring |
| * |
| * @author Shilpa Toraskar |
| * @author Kelvin Low |
| * @since 1.0 |
| */ |
| public class FormUI { |
| |
| private static final int DEFAULT_WIDTH = 300; |
| |
| private static Label _createLabel(FormToolkit toolkit, Composite parent, |
| String str, int gridDataStyle, int horizontalSpan) { |
| Label label = toolkit.createLabel(parent, str); |
| GridData gridData = new GridData(gridDataStyle); |
| gridData.horizontalSpan = horizontalSpan; |
| label.setLayoutData(gridData); |
| return label; |
| } |
| |
| public static Label createLabel(FormToolkit toolkit, Composite parent, |
| String str) { |
| // make horizonatalSpan 1 |
| return _createLabel(toolkit, parent, str, GridData.BEGINNING, 1); |
| } |
| |
| public static Label createLabel(FormToolkit toolkit, Composite parent, |
| String str, int horizontalSpan) { |
| // make horizonatalSpan 2 |
| return _createLabel(toolkit, parent, str, GridData.BEGINNING, |
| horizontalSpan); |
| } |
| |
| private static Text _createText(FormToolkit toolkit, Composite parent, |
| int textStyle, int gridDataStyle, int height, int width, |
| int horizontalSpan) { |
| Text control = toolkit.createText(parent, "", textStyle); //$NON-NLS-1$ |
| GridData gridData = new GridData(gridDataStyle); |
| gridData.heightHint = height; |
| gridData.widthHint = width; |
| gridData.horizontalSpan = horizontalSpan; |
| control.setLayoutData(gridData); |
| return control; |
| } |
| |
| public static Text createText(FormToolkit toolkit, Composite parent) { |
| return _createText(toolkit, parent, SWT.SINGLE | SWT.WRAP, |
| GridData.FILL_HORIZONTAL, SWT.DEFAULT, DEFAULT_WIDTH, |
| SWT.DEFAULT); |
| } |
| |
| public static Text createText(FormToolkit toolkit, Composite parent, |
| int height) { |
| return _createText(toolkit, parent, SWT.MULTI | SWT.WRAP, |
| GridData.FILL_HORIZONTAL, height, DEFAULT_WIDTH, SWT.DEFAULT); |
| } |
| |
| public static Text createText(FormToolkit toolkit, Composite parent, |
| int height, int horizontalSpan) { |
| return _createText(toolkit, parent, SWT.SINGLE | SWT.WRAP, |
| GridData.FILL_HORIZONTAL, height, DEFAULT_WIDTH, horizontalSpan); |
| } |
| |
| private static IMethodRichText _createRichText(FormToolkit toolkit, |
| Composite parent, int height, int width, String path, |
| MethodElement methodElement, Label label) { |
| IMethodRichText control = MethodFormToolkit.createRichText(toolkit, |
| parent, |
| "", SWT.MULTI | SWT.WRAP | SWT.V_SCROLL, path, methodElement, label); //$NON-NLS-1$ |
| GridData gridData = new GridData(GridData.FILL_HORIZONTAL |
| | GridData.FILL_VERTICAL); |
| gridData.heightHint = height; |
| gridData.widthHint = width; |
| control.setLayoutData(gridData); |
| return control; |
| } |
| |
| public static RichTextImageLinkContainer createRichTextWithLink(FormToolkit toolkit, |
| Composite parent, int height, String path, |
| MethodElement methodElement, String labelText) { |
| ImageHyperlink link = createImageHyperLink(toolkit, parent, AuthoringUIImages.IMG_COLLAPSED, |
| AuthoringUIResources.openRTE); |
| link.setData("Title", labelText); //$NON-NLS-1$ |
| Label decoratedLabel = BaseFormPage.createDecoratedLabel(toolkit, parent, labelText); |
| ((GridData)decoratedLabel.getLayoutData()).verticalAlignment = SWT.CENTER; |
| |
| IMethodRichText control = _createRichText(toolkit, parent, height, DEFAULT_WIDTH, path, |
| methodElement, decoratedLabel); |
| link.setHref(control); |
| |
| return new RichTextImageLinkContainer(control, link, decoratedLabel); |
| } |
| |
| public static ImageHyperlink createImageHyperLink(FormToolkit toolkit, |
| Composite parent, Image image, String toolTip) { |
| ImageHyperlink link = toolkit.createImageHyperlink(parent, SWT.LEFT |
| | SWT.TOP); |
| GridData gridData = new GridData(GridData.BEGINNING); |
| link.setLayoutData(gridData); |
| link.setImage(image); |
| link.setToolTipText(toolTip); |
| return link; |
| } |
| |
| public static Section createSection(FormToolkit toolkit, Composite parent, |
| String title, String description) { |
| Section section = toolkit.createSection(parent, Section.DESCRIPTION |
| | Section.TWISTIE | Section.EXPANDED); |
| GridData gd = new GridData(GridData.FILL_BOTH); |
| section.setLayoutData(gd); |
| section.setText(title); |
| section.setDescription(description); |
| toolkit.createCompositeSeparator(section); |
| section.setLayout(new GridLayout()); |
| return section; |
| } |
| |
| public static Section createSection(FormToolkit toolkit, Composite parent, |
| String title, String description, int gdStyle) { |
| Section section = toolkit.createSection(parent, Section.DESCRIPTION |
| | Section.TWISTIE | Section.EXPANDED); |
| GridData gd = new GridData(gdStyle); |
| section.setLayoutData(gd); |
| section.setText(title); |
| section.setDescription(description); |
| toolkit.createCompositeSeparator(section); |
| section.setLayout(new GridLayout()); |
| return section; |
| } |
| |
| public static Composite createComposite(FormToolkit toolkit, |
| Section section, int numOfColumns, boolean expanded) { |
| Composite composite = toolkit.createComposite(section); |
| composite.setLayoutData(new GridData(GridData.FILL_BOTH)); |
| composite.setLayout(new GridLayout(numOfColumns, false)); |
| if (!expanded) |
| section.setClient(composite); |
| else |
| composite.setVisible(false); |
| return composite; |
| } |
| |
| public static Composite createComposite(FormToolkit toolkit, |
| Composite parent, int gridStyle) { |
| Composite pane = toolkit.createComposite(parent, SWT.NONE); |
| GridData gridData = new GridData(gridStyle); |
| pane.setLayoutData(gridData); |
| pane.setLayout(new GridLayout()); |
| return pane; |
| } |
| |
| public static Composite createComposite(FormToolkit toolkit, |
| Composite parent, int gridStyle, int numOfColumns, |
| boolean equalSizeColumn) { |
| Composite pane = toolkit.createComposite(parent, SWT.NONE); |
| GridData gridData = new GridData(gridStyle); |
| gridData.horizontalSpan = numOfColumns; |
| pane.setLayoutData(gridData); |
| GridLayout layout = new GridLayout(numOfColumns, equalSizeColumn); |
| layout.marginBottom = 0; |
| layout.marginHeight = 0; |
| layout.marginLeft = 0; |
| layout.marginRight = 0; |
| layout.marginWidth = 0; |
| pane.setLayout(layout); |
| return pane; |
| } |
| |
| private static Button _createButton(FormToolkit toolkit, Composite parent, |
| String buttonStr, int style, int horizontalSpan) { |
| Button control = toolkit.createButton(parent, buttonStr, style); |
| GridData gridData = new GridData(GridData.FILL_HORIZONTAL); |
| gridData.horizontalSpan = horizontalSpan; |
| control.setLayoutData(gridData); |
| return control; |
| } |
| |
| private static Button _createButton(FormToolkit toolkit, Composite parent, |
| String buttonStr, int style) { |
| Button control = toolkit.createButton(parent, buttonStr, style); |
| control.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); |
| return control; |
| } |
| |
| |
| |
| private static Combo _createCombo(FormToolkit toolkit, Composite parent, |
| int style, int horizontalSpan) { |
| Combo combo = new Combo(parent, style); |
| GridData gridData = new GridData(GridData.BEGINNING); |
| gridData.horizontalSpan = horizontalSpan; |
| combo.setLayoutData(gridData); |
| return combo; |
| } |
| |
| public static Combo createCombo(FormToolkit toolkit, Composite parent, |
| int horizontalSpan) { |
| return _createCombo(toolkit, parent, SWT.SINGLE | SWT.FLAT |
| | SWT.READ_ONLY, horizontalSpan); |
| } |
| |
| public static Button createButton(FormToolkit toolkit, Composite parent, |
| String buttonStr) { |
| return _createButton(toolkit, parent, buttonStr, SWT.NONE); |
| } |
| |
| |
| public static Button createButton(FormToolkit toolkit, Composite parent, |
| int style, int horizontalSpan) { |
| return _createButton(toolkit, parent, "", style, horizontalSpan); //$NON-NLS-1$ |
| } |
| |
| public static Button createCheckButton(FormToolkit toolkit, Composite parent, int horizontalSpan) |
| { |
| Button control = toolkit.createButton(parent, "", SWT.CHECK); //$NON-NLS-1$ |
| GridData gridData = new GridData(GridData.GRAB_HORIZONTAL); |
| gridData.horizontalSpan = horizontalSpan; |
| control.setLayoutData(gridData); |
| return control; |
| } |
| |
| private static Table _createTable(FormToolkit toolkit, Composite parent, |
| int tableStyle, int gridStyle, int height, int width, |
| int verticalSpan, int horizontalSpan) { |
| Table table = toolkit.createTable(parent, tableStyle); |
| GridData gridData = new GridData(gridStyle); |
| gridData.heightHint = height; |
| gridData.widthHint = width; |
| gridData.verticalSpan = verticalSpan; |
| gridData.horizontalSpan = horizontalSpan; |
| table.setLayoutData(gridData); |
| return table; |
| } |
| |
| public static Table createTable(FormToolkit toolkit, Composite parent) { |
| return _createTable(toolkit, parent, SWT.MULTI, GridData.FILL_BOTH, |
| 200, 200, 1, 1); |
| } |
| |
| public static Table createTable(FormToolkit toolkit, Composite parent, |
| int height) { |
| return _createTable(toolkit, parent, SWT.MULTI, GridData.FILL_BOTH, |
| height, 200, 1, 1); |
| } |
| } |