XiorkFlowToolBar.js
上传用户:ahit0551
上传日期:2009-04-15
资源大小:2345k
文件大小:8k
源码类别:

xml/soap/webservice

开发平台:

Java

  1. /**
  2.  * <p>Title: </p>
  3.  * <p>Description: </p>
  4.  * <p>Copyright: Copyright (c) xio.name 2006</p>
  5.  * @author xio
  6.  */
  7. function XiorkFlowToolBar(xiorkFlow) {
  8.     this.base = ToolBar;
  9.     this.base();
  10.     //
  11.     this.xiorkFlow = xiorkFlow;
  12.     //
  13.     this.addSeparator();
  14.     //
  15.     this.saveButton = new Button(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/save.gif", "u4fddu5b58");
  16.     //保存
  17.     this.saveButton.setToolTipText("u4fddu5b58");
  18.     this.saveButton.addActionListener(new SaveActionListener(this.xiorkFlow));
  19.     this.add(this.saveButton);
  20.     //
  21.     this.nodeButtonGroup = new ButtonGroup();
  22.     //
  23.     this.addSeparator();
  24.     //
  25.     this.selectButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/select.gif", "", true);
  26.     //选择
  27.     this.selectButton.setToolTipText("u9009u62e9");
  28.     this.add(this.selectButton);
  29.     this.nodeButtonGroup.add(this.selectButton);
  30.     this.selectButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_SELECT;
  31.     //
  32.     this.addSeparator();
  33.     //
  34.     this.startButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/start.gif");
  35.     //开始节点
  36.     this.startButton.setToolTipText("u5f00u59cbu8282u70b9");
  37.     this.add(this.startButton);
  38.     this.nodeButtonGroup.add(this.startButton);
  39.     this.startButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_START_NODE;
  40.     //
  41.     this.endButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/end.gif", "");
  42.     //结束节点
  43.     this.endButton.setToolTipText("u7ed3u675fu8282u70b9");
  44.     this.add(this.endButton);
  45.     this.nodeButtonGroup.add(this.endButton);
  46.     this.endButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_END_NODE;
  47.     //
  48.     this.addSeparator();
  49.     //
  50.     this.nodeButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/node.gif");
  51.     //任务节点
  52.     this.nodeButton.setToolTipText("u4efbu52a1u8282u70b9");
  53.     this.add(this.nodeButton);
  54.     this.nodeButtonGroup.add(this.nodeButton);
  55.     this.nodeButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_NODE;
  56.     //
  57.     this.forkButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/fork.gif");
  58.     //分支节点
  59.     this.forkButton.setToolTipText("u5206u652fu8282u70b9");
  60.     this.add(this.forkButton);
  61.     this.nodeButtonGroup.add(this.forkButton);
  62.     this.forkButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_FORK_NODE;
  63.     //
  64.     this.joinButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/join.gif");
  65.     //汇聚节点
  66.     this.joinButton.setToolTipText("u6c47u805au8282u70b9");
  67.     this.add(this.joinButton);
  68.     this.nodeButtonGroup.add(this.joinButton);
  69.     this.joinButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_JOIN_NODE;
  70.     //
  71.     this.addSeparator();
  72.     //
  73.     this.transitionButton = new ToggleButton(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/transition.gif");
  74.     //连接
  75.     this.transitionButton.setToolTipText("u8fdeu63a5");
  76.     this.add(this.transitionButton);
  77.     this.nodeButtonGroup.add(this.transitionButton);
  78.     this.transitionButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_TRANSITION;
  79.     //
  80.     this.addSeparator();
  81.     //
  82.     this.deleteButton = new Button(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/delete.gif");
  83.     //删除
  84.     this.deleteButton.setToolTipText("u5220u9664");
  85.     this.deleteButton.addActionListener(new DeleteMetaActionListener(this.xiorkFlow));
  86.     this.add(this.deleteButton);
  87.     //
  88.     this.addSeparator();
  89.     //
  90.     this.viewerPatternButtonGroup = new ButtonGroup();
  91.     //design
  92.     var designButton = new ToggleButton("", "u8bbeu8ba1", true);
  93.     //设计视图
  94.     designButton.setToolTipText("u8bbeu8ba1u89c6u56fe");
  95.     this.add(designButton);
  96.     this.viewerPatternButtonGroup.add(designButton);
  97.     designButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_DESIGN;
  98.     //table
  99.     var tableButton = new ToggleButton("", "u8868u683c", true);
  100.     //表格视图
  101.     tableButton.setToolTipText("u8868u683cu89c6u56fe");
  102.     this.add(tableButton);
  103.     this.viewerPatternButtonGroup.add(tableButton);
  104.     tableButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_TABLE;
  105.     //混合显示
  106.     var mixButton = new ToggleButton("", "u6df7u5408u663eu793a", true);
  107.     //混合视图
  108.     mixButton.setToolTipText("u6df7u5408u89c6u56fe");
  109.     this.add(mixButton);
  110.     this.viewerPatternButtonGroup.add(mixButton);
  111.     mixButton.getModel().name = XiorkFlowToolBar.BUTTON_NAME_MIX;
  112.     //
  113.     this.addSeparator();
  114.     //
  115.     var helpButton = new Button(XiorkFlowWorkSpace.XIORK_FLOW_PATH + "images/xiorkflow/help.gif", "u5e2eu52a9");
  116.     helpButton.addActionListener(new HelpActionListener());
  117.     //帮助
  118.     helpButton.setToolTipText("u5e2eu52a9");
  119.     this.add(helpButton);
  120. }
  121. XiorkFlowToolBar.prototype = new ToolBar();
  122. XiorkFlowToolBar.prototype.getNodeButtonGroup = function () {
  123.     return this.nodeButtonGroup;
  124. };
  125. XiorkFlowToolBar.prototype.setDesignButtonEnable = function (b) {
  126.     var buttons = this.nodeButtonGroup.getButtons();
  127.     for (var i = 0; i < buttons.size(); i++) {
  128.         buttons.get(i).getModel().setEnabled(b);
  129.     }
  130.     this.deleteButton.getModel().setEnabled(b);
  131. };
  132. XiorkFlowToolBar.prototype.setButtonEnable = function (b) {
  133.     var buttons = this.nodeButtonGroup.getButtons();
  134.     for (var i = 0; i < buttons.size(); i++) {
  135.         buttons.get(i).getModel().setEnabled(b);
  136.     }
  137.     var viewPatternbuttons = this.viewerPatternButtonGroup.getButtons();
  138.     for (var i = 0; i < viewPatternbuttons.size(); i++) {
  139.         viewPatternbuttons.get(i).getModel().setEnabled(b);
  140.     }
  141.     this.deleteButton.getModel().setEnabled(b);
  142.     this.saveButton.getModel().setEnabled(b);
  143. };
  144. XiorkFlowToolBar.prototype.getViewerPatternButtonGroup = function () {
  145.     return this.viewerPatternButtonGroup;
  146. };
  147. //
  148. XiorkFlowToolBar.prototype.update = function (observable, arg) {
  149.     if (arg instanceof Array) {
  150.         if (arg.size() == 2) {
  151.             var property = arg[0];
  152.             var state = arg[1];
  153.             if (property == StateMonitor.OPERATION_STATE_RESET) {
  154.                 switch (state) {
  155.                   case StateMonitor.SELECT:
  156.                     this.selectButton.getModel().setPressed(true);
  157.                     break;
  158.                   case StateMonitor.NODE:
  159.                     this.nodeButton.getModel().setPressed(true);
  160.                     break;
  161.                   case StateMonitor.FORK_NODE:
  162.                     this.forkNodeButton.getModel().setPressed(true);
  163.                     break;
  164.                   case StateMonitor.JOIN_NODE:
  165.                     this.joinNode.getModel().setPressed(true);
  166.                     break;
  167.                   case StateMonitor.START_NODE:
  168.                     this.startNodeButton.getModel().setPressed(true);
  169.                     break;
  170.                   case StateMonitor.END_NODE:
  171.                     this.endNodeButton.getModel().setPressed(true);
  172.                     break;
  173.                   case StateMonitor.TRANSITION:
  174.                     this.transitionButton.getModel().setPressed(true);
  175.                     break;
  176.                   default:
  177.                     break;
  178.                 }
  179.             }
  180.         }
  181.     }
  182. };
  183. //
  184. XiorkFlowToolBar.BUTTON_NAME_SELECT = "BUTTON_NAME_SELECT";
  185. XiorkFlowToolBar.BUTTON_NAME_START_NODE = "BUTTON_NAME_START_NODE";
  186. XiorkFlowToolBar.BUTTON_NAME_END_NODE = "BUTTON_NAME_END_NODE";
  187. XiorkFlowToolBar.BUTTON_NAME_FORK_NODE = "BUTTON_NAME_FORK_NODE";
  188. XiorkFlowToolBar.BUTTON_NAME_JOIN_NODE = "BUTTON_NAME_JOIN_NODE";
  189. XiorkFlowToolBar.BUTTON_NAME_NODE = "BUTTON_NAME_NODE";
  190. XiorkFlowToolBar.BUTTON_NAME_TRANSITION = "BUTTON_NAME_TRANSITION";
  191. //
  192. XiorkFlowToolBar.BUTTON_NAME_DESIGN = "BUTTON_NAME_DESIGN";
  193. XiorkFlowToolBar.BUTTON_NAME_TABLE = "BUTTON_NAME_TABLE";
  194. XiorkFlowToolBar.BUTTON_NAME_MIX = "BUTTON_NAME_MIX";