MetaNodeMouseListener.js
资源名称:WorkFlow.rar [点击查看]
上传用户:ahit0551
上传日期:2009-04-15
资源大小:2345k
文件大小:6k
源码类别:
xml/soap/webservice
开发平台:
Java
- /**
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) xio.name 2006</p>
- * @author xio
- */ function MetaNodeMouseListener(metaNodeModel, wrapper) { this.metaNodeModel = metaNodeModel; this.wrapper = wrapper; } MetaNodeMouseListener.prototype = new MouseListener(); MetaNodeMouseListener.prototype.onMouseDown = function (e) { this.moved = false; if (e.button != MouseEvent.BUTTON_LEFT) { return; } this.down = true;
- // var state = this.wrapper.getStateMonitor().getState(); switch (state) { case StateMonitor.SELECT: if (this.metaNodeModel.isEditing()) { return; } var selectedMetaNodeModels = this.wrapper.getModel().getSelectedMetaNodeModels(); var selectedTransitionModels = this.wrapper.getModel().getSelectedTransitionModels(); if ((selectedTransitionModels.size() <= 1) && (selectedTransitionModels.size() <= 1) && (!e.ctrlKey)) { this.wrapper.getModel().clearSelectedMetaNodeModels(); this.wrapper.getModel().clearSelectedTransitionModels(); this.wrapper.getModel().addSelectedMetaNodeModel(this.metaNodeModel); //双击节点,可以编辑节点名称;鼠标在节点右下角的点上托拽可以编辑节点尺寸 this.wrapper.setStatusInfo("u53ccu51fbu8282u70b9uff0cu53efu4ee5u7f16u8f91u8282u70b9u540du79f0uff1bu9f20u6807u5728u8282u70b9u53f3u4e0bu89d2u7684u70b9u4e0au6258u62fdu53efu4ee5u7f16u8f91u8282u70b9u5c3au5bf8"); } break; case StateMonitor.TRANSITION: var transitionMonitor = this.wrapper.getTransitionMonitor(); if (this.metaNodeModel.isNewFromAvailable()) { transitionMonitor.setFromMetaNodeModel(this.metaNodeModel);
- //可以从 ×× 建立连接 this.wrapper.setStatusInfo("u53efu4ee5u4ece" + this.metaNodeModel + "u5efau7acbu8fdeu63a5"); } else {
- //无法从 ×× 建立连接 this.wrapper.setStatusInfo("u65e0u6cd5u4ece" + this.metaNodeModel + "u5efau7acbu8fdeu63a5"); } break; } }; MetaNodeMouseListener.prototype.onMouseMove = function (e) { if (e.button != MouseEvent.BUTTON_LEFT) { return; } if (this.down) { this.moved = true; } }; MetaNodeMouseListener.prototype.onMouseOver = function (e) { var state = this.wrapper.getStateMonitor().getState(); switch (state) { case StateMonitor.TRANSITION: var transitionMonitor = this.wrapper.getTransitionMonitor(); var fromMetaNodeModel = transitionMonitor.getFromMetaNodeModel(); if (fromMetaNodeModel) { if ((this.metaNodeModel.isNewToAvailable()) && (fromMetaNodeModel != this.metaNodeModel)) { transitionMonitor.setToMetaNodeModel(this.metaNodeModel); //可以到 ×× 建立连接 this.wrapper.setStatusInfo("u53efu4ee5u5230" + this.metaNodeModel + "u5efau7acbu8fdeu63a5"); } else { //无法到 ×× 建立连接 this.wrapper.setStatusInfo("u65e0u6cd5u5230" + this.metaNodeModel + "u5efau7acbu8fdeu63a5"); } } break; } }; MetaNodeMouseListener.prototype.onMouseOut = function (e) { var state = this.wrapper.getStateMonitor().getState(); switch (state) { case StateMonitor.TRANSITION: var transitionMonitor = this.wrapper.getTransitionMonitor(); if (transitionMonitor.getFromMetaNodeModel() !== null) { transitionMonitor.setToMetaNodeModel(null); //未找到连接结束点 this.wrapper.setStatusInfo("u672au627eu5230u8fdeu63a5u7ed3u675fu70b9"); } break; } }; MetaNodeMouseListener.prototype.onMouseUp = function (e) { this.down = false; if (e.button != MouseEvent.BUTTON_LEFT) { return; }
- // var state = this.wrapper.getStateMonitor().getState(); switch (state) { case StateMonitor.SELECT: if (this.moved) { return; } if (e.ctrlKey) { if (this.metaNodeModel.isSelected()) { this.wrapper.getModel().removeSelectedMetaNodeModel(this.metaNodeModel); } else { this.wrapper.getModel().addSelectedMetaNodeModel(this.metaNodeModel); } //您正在多选节点,按下键盘的方向键,或者托拽鼠标,可以移动选择节点的位置;按下删除按钮或者按下Delete键盘按键,可以删除选择的元 this.wrapper.setStatusInfo("u60a8u6b63u5728u591au9009u8282u70b9uff0cu6309u4e0bu952eu76d8u7684u65b9u5411u952euff0cu6216u8005u6258u62fdu9f20u6807uff0cu53efu4ee5u79fbu52a8u9009u62e9u8282u70b9u7684u4f4du7f6e;u6309u4e0bu5220u9664u6309u94aeu6216u8005u6309u4e0bDeleteu952eu76d8u6309u952euff0cu53efu4ee5u5220u9664u9009u62e9u7684u5143"); } else { this.wrapper.getModel().clearSelectedMetaNodeModels(); this.wrapper.getModel().clearSelectedTransitionModels(); this.wrapper.getModel().addSelectedMetaNodeModel(this.metaNodeModel); //双击节点,可以编辑节点名称;鼠标在节点右下角的点上托拽可以编辑节点尺寸 this.wrapper.setStatusInfo("u53ccu51fbu8282u70b9uff0cu53efu4ee5u7f16u8f91u8282u70b9u540du79f0uff1bu9f20u6807u5728u8282u70b9u53f3u4e0bu89d2u7684u70b9u4e0au6258u62fdu53efu4ee5u7f16u8f91u8282u70b9u5c3au5bf8"); } break; case StateMonitor.TRANSITION: var transitionMonitor = this.wrapper.getTransitionMonitor(); // var fromMetaNodeModel = transitionMonitor.getFromMetaNodeModel(); var toMetaNodeModel = this.metaNodeModel; if ((this.metaNodeModel.isNewToAvailable()) && (fromMetaNodeModel) && (fromMetaNodeModel != toMetaNodeModel)) { var transitionModel = new TransitionModel(fromMetaNodeModel, toMetaNodeModel); this.wrapper.getModel().addTransitionModel(transitionModel); //从 ×× 到 ×× 建立连接成功 this.wrapper.setStatusInfo("u4ece" + fromMetaNodeModel + "u5230" + toMetaNodeModel + "u5efau7acbu8fdeu63a5u6210u529f"); } else { //添加连接失败 this.wrapper.setStatusInfo("u6dfbu52a0u8fdeu63a5u5931u8d25"); } // transitionMonitor.reset(); break; } };