Package org.gwt.mosaic.application.client.util

Source Code of org.gwt.mosaic.application.client.util.ApplicationFramework

package org.gwt.mosaic.application.client.util;

import org.gwt.beansbinding.core.client.util.GWTBeansBinding;
import org.gwt.mosaic.actions.client.ActionMap;
import org.gwt.mosaic.actions.client.ButtonBindings;
import org.gwt.mosaic.actions.client.CheckBoxMenuItemBindings;
import org.gwt.mosaic.actions.client.ImageButtonBindings;
import org.gwt.mosaic.actions.client.MenuItemBindings;
import org.gwt.mosaic.actions.client.RadioButtonMenuItemBindings;
import org.gwt.mosaic.actions.client.ToolButtonBindings;
import org.gwt.mosaic.application.client.Application;
import org.gwt.mosaic.ui.client.ImageButton;
import org.gwt.mosaic.ui.client.ToolButton;
import org.gwt.mosaic.ui.client.ToolButton.ToolButtonStyle;
import org.gwt.mosaic.ui.client.util.ButtonHelper.ButtonLabelType;

import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.MenuItem;

public class ApplicationFramework {

  static {
    GWTBeansBinding.init();
  }

  public void setupActions() {
    // Nothing to do here!
  };

  protected ApplicationFramework() {
    // Nothing to do here!
  }

  private static ActionMap actionMap;

  protected static ActionMap getActionMap() {
    if (actionMap == null) {
      actionMap = Application.getInstance().getContext().getActionMap();
    }
    return actionMap;
  }
 
  // ---
 
  public static ImageButton newImageButton(final String action) {
    final ImageButtonBindings bindings = new ImageButtonBindings(getActionMap().get(action));
    final ImageButton imageButton = (ImageButton) bindings.getTarget();
    bindings.bind();
    return imageButton;
  }

  // ---

  public static Button newButton(final String action) {
    return newButton(action, ButtonLabelType.TEXT_ON_RIGHT);
  }

  public static Button newButton(final String action,
      final ButtonLabelType labelType) {
    final ButtonBindings bindings = new ButtonBindings(getActionMap().get(
        action));
    final Button button = (Button) bindings.getTarget(); // FIXME
    bindings.setLabelType(labelType);
    bindings.bind();
    return button;
  }

  // ---

  public static ToolButton newToolButton(final String action) {
    return newToolButton(action, ToolButtonStyle.PUSH,
        ButtonLabelType.TEXT_ON_RIGHT);
  }

  public static ToolButton newToolButton(final String action,
      final ToolButtonStyle style) {
    return newToolButton(action, style, ButtonLabelType.TEXT_ON_RIGHT);
  }

  public static ToolButton newToolButton(final String action,
      final ButtonLabelType labelType) {
    return newToolButton(action, ToolButtonStyle.PUSH, labelType);
  }

  public static ToolButton newToolButton(final String action,
      final ToolButtonStyle style, final ButtonLabelType labelType) {
    final ToolButtonBindings bindings = new ToolButtonBindings(
        getActionMap().get(action));
    final ToolButton toolButton = bindings.getTarget();
    toolButton.setStyle(style);
    bindings.setLabelType(labelType);
    bindings.bind();
    return toolButton;
  }

  // ---

  public static MenuItem newMenuItem(final String action) {
    final MenuItemBindings bindings = new MenuItemBindings(getActionMap().get(
        action));
    final MenuItem menuItem = bindings.getTarget();
    bindings.bind();
    return menuItem;
  }

  public static MenuItem newCheckBoxMenuItem(final String action) {
    final CheckBoxMenuItemBindings bindings = new CheckBoxMenuItemBindings(
        getActionMap().get(action));
    final MenuItem menuItem = bindings.getTarget();
    bindings.bind();
    return menuItem;
  }

  public static MenuItem newRadioButtonMenuItem(final String name,
      final String action) {
    final RadioButtonMenuItemBindings bindings = new RadioButtonMenuItemBindings(
        name, getActionMap().get(action));
    final MenuItem menuItem = bindings.getTarget();
    bindings.bind();
    return menuItem;
  }

}
TOP

Related Classes of org.gwt.mosaic.application.client.util.ApplicationFramework

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.