/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.components.cpacs.vampzeroinitializer.gui; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.layout.FillLayout; 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.Layout; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; /** * Vampzero GUI SWT Factory. * * @author Arne Bachmann * @author Markus Kunde */ public class FormToolkitSwtHelper extends AbstractSwtHelper { /** * Color value. */ private static final int WHITE = 255; /** * Widget creator. */ private FormToolkit tk; /** * Our custom components simplification. */ private WidgetHelper widgetHelper; /** * The color used mostly. */ private Color whiteColor; /** * The pane. */ private ScrolledForm form; public FormToolkitSwtHelper(final Composite parent, final String title) { super(parent.getDisplay()); whiteColor = new Color(parent.getDisplay(), WHITE, WHITE, WHITE); tk = new FormToolkit(parent.getDisplay()); // factory to create fancy form controls and // layout widgetHelper = new WidgetHelper(tk, whiteColor); form = tk.createScrolledForm(parent); form.setText(title); form.getBody().setLayout(new FillLayout()); } @Override public void dispose() { super.dispose(); whiteColor.dispose(); } @Override public Composite createMainComposite() { return tk.createComposite(form.getBody()); } @Override public Composite createComposite(final Composite parent) { return widgetHelper.newComposite(parent); } @Override public Composite createComposite(final Composite parent, final int columnsContained, int... columns) { return widgetHelper.newComposite(parent, columnsContained, columns); } @Override public Label createSeparator(final Composite parent, final boolean vertical, final int... columns) { return widgetHelper.newSeparator(parent, true, columns); } @Override public Text createText(final Composite parent, final String initialText, final int... colSpan) { return widgetHelper.newText(parent, initialText, colSpan); } @Override public Button createButton(final Composite parent, final String text, final Listener listener, final int... alignment) { return widgetHelper.newButton(parent, text, listener, alignment); } @Override public Label createLabel(final Composite parent, final String text, int... columns) { return widgetHelper.newLabel(parent, text, columns); } @Override public Combo createCombo(final Composite parent, final String[] initialTexts, final Listener listener) { return widgetHelper.newReadonlyCombo(parent, initialTexts, listener); } @Override public Layout createDefaultLayout(final int columnsContained) { return widgetHelper.newDefaultLayout(columnsContained); } }