Package org.springframework.ide.eclipse.webflow.ui.graph

Source Code of org.springframework.ide.eclipse.webflow.ui.graph.WebflowEditorPaletteFactory

/*******************************************************************************
* Copyright (c) 2007, 2008 Spring IDE Developers
* 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:
*     Spring IDE Developers - initial API and implementation
*******************************************************************************/
package org.springframework.ide.eclipse.webflow.ui.graph;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.gef.palette.CombinedTemplateCreationEntry;
import org.eclipse.gef.palette.ConnectionCreationToolEntry;
import org.eclipse.gef.palette.MarqueeToolEntry;
import org.eclipse.gef.palette.PaletteContainer;
import org.eclipse.gef.palette.PaletteDrawer;
import org.eclipse.gef.palette.PaletteEntry;
import org.eclipse.gef.palette.PaletteGroup;
import org.eclipse.gef.palette.PaletteRoot;
import org.eclipse.gef.palette.PaletteSeparator;
import org.eclipse.gef.palette.SelectionToolEntry;
import org.eclipse.gef.palette.ToolEntry;
import org.eclipse.gef.requests.SimpleFactory;
import org.springframework.ide.eclipse.webflow.core.internal.model.Action;
import org.springframework.ide.eclipse.webflow.core.internal.model.ActionState;
import org.springframework.ide.eclipse.webflow.core.internal.model.AttributeMapper;
import org.springframework.ide.eclipse.webflow.core.internal.model.BeanAction;
import org.springframework.ide.eclipse.webflow.core.internal.model.DecisionState;
import org.springframework.ide.eclipse.webflow.core.internal.model.EndState;
import org.springframework.ide.eclipse.webflow.core.internal.model.EntryActions;
import org.springframework.ide.eclipse.webflow.core.internal.model.EvaluateAction;
import org.springframework.ide.eclipse.webflow.core.internal.model.ExceptionHandler;
import org.springframework.ide.eclipse.webflow.core.internal.model.ExitActions;
import org.springframework.ide.eclipse.webflow.core.internal.model.IfTransition;
import org.springframework.ide.eclipse.webflow.core.internal.model.RenderActions;
import org.springframework.ide.eclipse.webflow.core.internal.model.Set;
import org.springframework.ide.eclipse.webflow.core.internal.model.StateTransition;
import org.springframework.ide.eclipse.webflow.core.internal.model.SubflowState;
import org.springframework.ide.eclipse.webflow.core.internal.model.ViewState;
import org.springframework.ide.eclipse.webflow.core.model.IAction;
import org.springframework.ide.eclipse.webflow.core.model.IActionElement;
import org.springframework.ide.eclipse.webflow.core.model.IEntryActions;
import org.springframework.ide.eclipse.webflow.core.model.IExitActions;
import org.springframework.ide.eclipse.webflow.core.model.IRenderActions;
import org.springframework.ide.eclipse.webflow.ui.editor.Activator;
import org.springframework.ide.eclipse.webflow.ui.editor.outline.webflow.WebflowUIImages;
import org.springframework.ide.eclipse.webflow.ui.graph.model.WebflowModelLabelDecorator;

/**
* Utility class that builds the {@link WebflowEditor} toolbar
* @author Christian Dupuis
* @since 2.0
*/
public class WebflowEditorPaletteFactory {

  private static List createCategories(PaletteRoot root, boolean version1) {
    List<PaletteContainer> categories = new ArrayList<PaletteContainer>();
    categories.add(createControlGroup(root));
    categories.add(createComponentsDrawer(version1));
    categories.add(createActionDrawer(version1));
    categories.add(createRenderActionsDrawer(version1));
    categories.add(createEntryActionDrawer(version1));
    categories.add(createExitActionDrawer(version1));
    return categories;
  }

  private static PaletteContainer createComponentsDrawer(boolean version1) {

    PaletteDrawer drawer = new PaletteDrawer("Web Flow Elements", null);

    List<PaletteEntry> entries = new ArrayList<PaletteEntry>();

    CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry("Action State",
        "Create a new Action State", ActionState.class,
        new SimpleFactory(ActionState.class), WebflowUIImages.DESC_OBJS_ACTION_STATE,
        WebflowUIImages.DESC_OBJS_ACTION_STATE);
    entries.add(combined);

    combined = new CombinedTemplateCreationEntry("View State", "Create a View State",
        ViewState.class, new SimpleFactory(ViewState.class),
        WebflowUIImages.DESC_OBJS_VIEW_STATE, WebflowUIImages.DESC_OBJS_VIEW_STATE);
    entries.add(combined);

    combined = new CombinedTemplateCreationEntry("Subflow State", "Create a Subflow State",
        SubflowState.class, new SimpleFactory(SubflowState.class),
        WebflowUIImages.DESC_OBJS_SUBFLOW_STATE, WebflowUIImages.DESC_OBJS_SUBFLOW_STATE);
    entries.add(combined);

    combined = new CombinedTemplateCreationEntry("Decision State", "Create a Decision State",
        DecisionState.class, new SimpleFactory(DecisionState.class),
        WebflowUIImages.DESC_OBJS_DECISION_STATE, WebflowUIImages.DESC_OBJS_DECISION_STATE);
    entries.add(combined);

    combined = new CombinedTemplateCreationEntry("End State", "Create an End State",
        EndState.class, new SimpleFactory(EndState.class),
        WebflowUIImages.DESC_OBJS_END_STATE, WebflowUIImages.DESC_OBJS_END_STATE);
    entries.add(combined);

    PaletteSeparator sep = new PaletteSeparator(Activator.PLUGIN_ID + ".palette.sep3");
    sep.setUserModificationPermission(PaletteEntry.PERMISSION_NO_MODIFICATION);
    entries.add(sep);

    combined = new CombinedTemplateCreationEntry("Exception Handler",
        "Create an Exception Handler", ExceptionHandler.class, new SimpleFactory(
            ExceptionHandler.class), WebflowUIImages.DESC_OBJS_EXCEPTION_HANDLER,
        WebflowUIImages.DESC_OBJS_EXCEPTION_HANDLER);
    entries.add(combined);

    if (version1) {
      combined = new CombinedTemplateCreationEntry("Attribute Mapper",
          "Create an Attribute Mapper", AttributeMapper.class, new SimpleFactory(
              AttributeMapper.class), WebflowUIImages.DESC_OBJS_ATTRIBUTE_MAPPER,
          WebflowUIImages.DESC_OBJS_ATTRIBUTE_MAPPER);
      entries.add(combined);
    }

    drawer.addAll(entries);
    return drawer;
  }

  /**
   * @param root
   * @return
   */
  private static PaletteContainer createControlGroup(PaletteRoot root) {
    PaletteGroup controlGroup = new PaletteGroup("Control Group");

    List<PaletteEntry> entries = new ArrayList<PaletteEntry>();

    ToolEntry tool = new SelectionToolEntry();
    entries.add(tool);
    root.setDefaultEntry(tool);

    tool = new MarqueeToolEntry();
    entries.add(tool);

    PaletteSeparator sep = new PaletteSeparator(Activator.PLUGIN_ID + ".palette.sep2");
    sep.setUserModificationPermission(PaletteEntry.PERMISSION_NO_MODIFICATION);
    entries.add(sep);

    tool = new ConnectionCreationToolEntry("Transition", "Create a Transition",
        new SimpleFactory(StateTransition.class), WebflowImages.DESC_OBJS_CONNECTION,
        WebflowImages.DESC_OBJS_ELSE_CONNECTION);
    entries.add(tool);
    tool = new ConnectionCreationToolEntry("Else Transition", "Create a Transition",
        new SimpleFactory(IfTransition.class), WebflowImages.DESC_OBJS_ELSE_CONNECTION,
        WebflowImages.DESC_OBJS_ELSE_CONNECTION);
    ;
    entries.add(tool);
    controlGroup.addAll(entries);
    return controlGroup;
  }

  /**
   * Creates the PaletteRoot and adds all Palette elements.
   * @return the root
   */
  public static PaletteRoot createPalette(boolean version1) {
    PaletteRoot flowPalette = new PaletteRoot();
    flowPalette.addAll(createCategories(flowPalette, version1));
    return flowPalette;
  }

  private static PaletteContainer createActionDrawer(boolean version1) {
    List<ToolEntry> entries = new ArrayList<ToolEntry>();
    PaletteDrawer drawer = new PaletteDrawer("Actions", null);
    drawer.setInitialState(PaletteDrawer.INITIAL_STATE_OPEN);

    if (version1) {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry("Action",
          "Create a new Action", Action.class, new ActionModelElementFactory(
              Action.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_ACTION, WebflowUIImages.DESC_OBJS_ACTION);
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Bean Action", "Create a new Bean Action",
          BeanAction.class, new ActionModelElementFactory(BeanAction.class,
              IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_BEAN_ACTION, WebflowUIImages.DESC_OBJS_BEAN_ACTION);
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Evaluation Action",
          "Create a new Evaluation Action", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_EVALUATION_ACTION,
          WebflowUIImages.DESC_OBJS_EVALUATION_ACTION);
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Set", "Create a new Set", Set.class,
          new ActionModelElementFactory(Set.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_SET_ACTION, WebflowUIImages.DESC_OBJS_SET_ACTION);
      entries.add(combined);
    }
    else {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry("Evaluate",
          "Create a new Evaluate", EvaluateAction.class, new ActionModelElementFactory(
              EvaluateAction.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_EVALUATION_ACTION,
          WebflowUIImages.DESC_OBJS_EVALUATION_ACTION);
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Set", "Create a new Set", Set.class,
          new ActionModelElementFactory(Set.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_SET_ACTION, WebflowUIImages.DESC_OBJS_SET_ACTION);
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render",
          "Create a new Render", Action.class, new ActionModelElementFactory(
              Action.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_ACTION, WebflowUIImages.DESC_OBJS_ACTION);
      entries.add(combined);
    }

    drawer.addAll(entries);
    return drawer;
  }

  private static PaletteContainer createRenderActionsDrawer(boolean version1) {
    List<ToolEntry> entries = new ArrayList<ToolEntry>();

    IRenderActions exit = new RenderActions();
    IAction action = new Action();
    action.setElementParent(exit);

    WebflowModelLabelDecorator dec = new WebflowModelLabelDecorator();

    PaletteDrawer drawer = new PaletteDrawer("Render Actions", null);
    drawer.setInitialState(PaletteDrawer.INITIAL_STATE_OPEN);

    if (version1) {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Render Action", "Create a new Render Action", Action.class,
          new ActionModelElementFactory(Action.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render Bean Action",
          "Create a new Render Bean Action", BeanAction.class,
          new ActionModelElementFactory(BeanAction.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render Evaluation Action",
          "Create a new Render Evaluation Action", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render Set", "Create a new Render Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
    }
    else {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Render Evaluate", "Create a new Render Evaluate", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render Set", "Create a new Render Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.RENDER_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
                  .getDecoratedImageDescriptor(WebflowUIImages
                      .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Render",
          "Create a new Render", Action.class, new ActionModelElementFactory(
              Action.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_ACTION, WebflowUIImages.DESC_OBJS_ACTION);
      entries.add(combined);
    }

    drawer.addAll(entries);
    return drawer;
  }

  private static PaletteContainer createEntryActionDrawer(boolean version1) {
    List<ToolEntry> entries = new ArrayList<ToolEntry>();

    IEntryActions exit = new EntryActions();
    IAction action = new Action();
    action.setElementParent(exit);

    WebflowModelLabelDecorator dec = new WebflowModelLabelDecorator();

    PaletteDrawer drawer = new PaletteDrawer("Entry Actions", null);
    drawer.setInitialState(PaletteDrawer.INITIAL_STATE_CLOSED);

    if (version1) {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Entry Action", "Create a new Entry Action", Action.class,
          new ActionModelElementFactory(Action.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Entry Bean Action",
          "Create a new Entry Bean Action", BeanAction.class,
          new ActionModelElementFactory(BeanAction.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Entry Evaluation Action",
          "Create a new Evaluation Action", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Entry Set", "Create a new Entry Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
    }
    else {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Entry Evaluate", "Create a new Evaluate", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Entry Set", "Create a new Entry Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.ENTRY_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
                  .getDecoratedImageDescriptor(WebflowUIImages
                      .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Entry Render",
          "Create a new Entry Render", Action.class, new ActionModelElementFactory(
              Action.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_ACTION, WebflowUIImages.DESC_OBJS_ACTION);
      entries.add(combined);
    }
    drawer.addAll(entries);
    return drawer;
  }

  private static PaletteContainer createExitActionDrawer(boolean version1) {
    List<ToolEntry> entries = new ArrayList<ToolEntry>();

    IExitActions exit = new ExitActions();
    IAction action = new Action();
    action.setElementParent(exit);

    WebflowModelLabelDecorator dec = new WebflowModelLabelDecorator();

    PaletteDrawer drawer = new PaletteDrawer("Exit Actions", null);
    drawer.setInitialState(PaletteDrawer.INITIAL_STATE_CLOSED);

    if (version1) {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Exit Action", "Create a new Exit Action", Action.class,
          new ActionModelElementFactory(Action.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Exit Bean Action",
          "Create a new Exit Bean Action", BeanAction.class,
          new ActionModelElementFactory(BeanAction.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_BEAN_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Exit Evaluation Action",
          "Create a new Exit Evaluation Action", EvaluateAction.class,
          new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Exit Set", "Create a new Exit Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
    }
    else {
      CombinedTemplateCreationEntry combined = new CombinedTemplateCreationEntry(
          "Exit Evaluate", "Create a new Exit Evaluate",
          EvaluateAction.class, new ActionModelElementFactory(EvaluateAction.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action),
          dec.getDecoratedImageDescriptor(WebflowUIImages
              .getImage(WebflowUIImages.IMG_OBJS_EVALUATION_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Exit Set", "Create a new Exit Set",
          Set.class, new ActionModelElementFactory(Set.class,
              IActionElement.ACTION_TYPE.EXIT_ACTION), dec
              .getDecoratedImageDescriptor(WebflowUIImages
                  .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action), dec
                  .getDecoratedImageDescriptor(WebflowUIImages
                      .getImage(WebflowUIImages.IMG_OBJS_SET_ACTION), action));
      entries.add(combined);
      combined = new CombinedTemplateCreationEntry("Exit Render",
          "Create a new Exit Render", Action.class, new ActionModelElementFactory(
              Action.class, IActionElement.ACTION_TYPE.ACTION),
          WebflowUIImages.DESC_OBJS_ACTION, WebflowUIImages.DESC_OBJS_ACTION);
      entries.add(combined);
    }
    drawer.addAll(entries);
    return drawer;
  }

  /**
   *
   */
  private static class ActionModelElementFactory extends SimpleFactory {

    /**
     *
     */
    private IActionElement.ACTION_TYPE type;

    /**
     * @param type
     * @param aClass
     */
    public ActionModelElementFactory(Class aClass, IActionElement.ACTION_TYPE type) {
      super(aClass);
      this.type = type;
    }

    /*
     * (non-Javadoc)
     *
     * @see org.eclipse.gef.requests.SimpleFactory#getNewObject()
     */
    public Object getNewObject() {
      IActionElement action = (IActionElement) super.getNewObject();
      action.setType(this.type);
      return action;
    }
  }
}
TOP

Related Classes of org.springframework.ide.eclipse.webflow.ui.graph.WebflowEditorPaletteFactory

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.