Package com.dubture.composer.ui.utils

Source Code of com.dubture.composer.ui.utils.WidgetFactory

package com.dubture.composer.ui.utils;

import org.eclipse.swt.SWT;
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.Text;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;

public class WidgetFactory {
 
  protected FormToolkit toolkit;
 
  public WidgetFactory(FormToolkit toolkit) {
    this.toolkit = toolkit;
  }
 
  private static WidgetFactory builder(FormToolkit toolkit) {
    return new WidgetFactory(toolkit);
  }
 
 
  // ---- Button
 
  public Button createButton(Composite parent) {
    return createButton(parent, SWT.DEFAULT);
  }
 
  public static Button createButton(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createButton(parent);
  }
 
  public Button createButton(Composite parent, int style) {
    if (toolkit == null) {
      return new Button(parent, style);
    } else {
      return toolkit.createButton(parent, "", style);
    }
  }
 
  public static Button createButton(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createButton(parent, style);
  }
 
 
  // ---- Label
 
  public Label createLabel(Composite parent) {
    return createLabel(parent, SWT.NONE);
  }
 
  public static Label createLabel(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createLabel(parent);
  }
 
  public Label createLabel(Composite parent, int style) {
    if (toolkit == null) {
      return new Label(parent, style);
    } else {
      return toolkit.createLabel(parent, "", style);
    }
  }
 
  public static Label createLabel(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createLabel(parent, style);
  }
 
 
  // ---- Composite
 
  public Composite createComposite(Composite parent) {
    return createComposite(parent, SWT.NONE);
  }
 
  public static Composite createComposite(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createComposite(parent);
  }
 
  public Composite createComposite(Composite parent, int style) {
    if (toolkit == null) {
      return new Composite(parent, style);
    } else {
      return toolkit.createComposite(parent, style);
    }
  }
 
  public static Composite createComposite(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createComposite(parent, style);
  }
 
 
  // ---- ExpandableComposite
 
  public ExpandableComposite createExpandableComposite(Composite parent) {
    return createExpandableComposite(parent, SWT.NONE);
  }
 
  public static ExpandableComposite createExpandableComposite(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createExpandableComposite(parent);
  }
 
  public ExpandableComposite createExpandableComposite(Composite parent, int style) {
    if (toolkit == null) {
      return new ExpandableComposite(parent, style);
    } else {
      return toolkit.createExpandableComposite(parent, style);
    }
  }
 
  public static ExpandableComposite createExpandableComposite(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createExpandableComposite(parent, style);
  }
 
  public ExpandableComposite createExpandableComposite(Composite parent, int style, int expansionStyle) {
    if (toolkit == null) {
      return new ExpandableComposite(parent, style, expansionStyle);
    } else {
      ExpandableComposite ec = new ExpandableComposite(parent, style | toolkit.getOrientation(),
          expansionStyle);
      ec.setMenu(parent.getMenu());
      toolkit.adapt(ec, true, true);
      return ec;
    }
  }


  // ---- Text
 
  public Text createText(Composite parent) {
    return createText(parent, SWT.DEFAULT);
  }
 
  public static Text createText(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createText(parent);
  }
 
  public Text createText(Composite parent, int style) {
    if (toolkit == null) {
      return new Text(parent, style);
    } else {
      return toolkit.createText(parent, "", style);
    }
  }
 
  public static Text createText(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createText(parent, style);
  }
 
 
  // ---- ComboBox
 
  public Combo createCombo(Composite parent) {
    return createCombo(parent, SWT.BORDER);
  }
 
  public static Combo createCombo(FormToolkit toolkit, Composite parent) {
    return WidgetFactory.builder(toolkit).createCombo(parent);
  }
 
  public Combo createCombo(Composite parent, int style) {
    if (toolkit == null) {
      return new Combo(parent, style);
    } else {
      Combo combo = new Combo(parent, style);
      toolkit.adapt(combo, false, false);
      return combo;
    }
  }
 
  public static Combo createCombo(FormToolkit toolkit, Composite parent, int style) {
    return WidgetFactory.builder(toolkit).createCombo(parent, style);
  }
}
TOP

Related Classes of com.dubture.composer.ui.utils.WidgetFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.