VML模拟Rose画流程图代码
作者:小贩 来源:51js 发布时间:2008-09-02 10:58:00
图形由json格式加载,可以灵活配置。
下一步是完善用户的操作,做这个感觉还是蛮有意思的。呵呵。
截图:
部分源码:
<script type="text/javascript">
gSoft.$("tt").value = "";
var selectCategory = 0;
gSoft.$("firstNode").onclick
= gSoft.$("endNode").onclick
= gSoft.$("status").onclick
= gSoft.$("route").onclick
= gSoft.$("control").onclick
//= gSoft.$("polyLine").onclick
= function(){
selectCategory = parseInt(this.category);
}
gSoft.$("sharpArea").onmousedown = function(){
event.cancelBubble = true;
if(selectCategory<=0) return;
//this.setCapture();
var getSharp = function(){
var sharp = null;
switch(selectCategory){
case 1:
//sharp= demo[3];
//sharp.index = 3;
break;
case 2:
break;
case 3:
sharp= new gSoft.flow.roundRect({left:event.x,top:event.y,name:""});
break;
case 4:
//sharp= demo[0];
//sharp.index = 0;
sharp= new gSoft.flow.line({from:{x:event.x,y:event.y},to:{x:event.x+100,y:event.y+100}});
//sharp.move([{x:event.x,y:event.y},{x:event.x,y:event.y}])
break;
case 5:
break;
case 6:
//sharp= demo[1];
//sharp.index = 1;
break;
default:
break;
}
return sharp;
}
var sharp = getSharp();
if(sharp){
//gSoft.$("tt").value = sharp;
sharp.draw();
}
/*if(sharp){
if(sharp.index==0||sharp.index==1){
sharp.move([{x:event.x,y:event.y},{x:event.x,y:event.y}])
} else if(sharp.index==2||sharp.index==3){
sharp.move({left:event.x,top:event.y});
}
gSoft.$("tt").innerHTML = [event.x,event.y].join(",");
}
//移动
this.onmousemove = function(){
var sharp = sharp || getSharp();
if(sharp.index==0){
sharp.setTo({x:event.x,y:event.y});
} else if(sharp.index==1){
sharp.move([{x:sharp.points[0].x,y:sharp.points[0].y},{x:event.x,y:event.y}])
} else if(sharp.index==2||sharp.index==3){
//gSoft.$("tt").value =event.x+":"+event.y+","+sharp.left+":"+sharp.top;
var width = Math.abs(event.x - sharp.left);
var height = Math.abs(event.y - sharp.top);
sharp.setSize({width:width,height:height});//alert(sharp.outerHTML)
}
};
//松开
this.onmouseup = function(){
this.releaseCapture();
this.onmousemove = null;
if(sharp){
var cloneSharp = sharp.clone();
//gSoft.$("tt").value =cloneSharp;
sharp.hidden();
}
};*/
}
var data =[
{
id:1,
type:1,
name:"节点1",
left:20,
top:20
},
{
id:2,
type:1,
name:"节点2",
left:50,
top:180
},
{
id:3,
type:1,
name:"节点3",
left:100,
top:300
},
{
id:4,
type:2,
name:"路由1",
from:1,
to:2
},
{
id:5,
type:2,
name:"路由2",
from:2,
to:3
},
{
id:6,
type:3,
name:"控制1",
route:4
},
{
id:7,
type:3,
name:"控制2",
route:5
},
{
id:8,
type:1,
name:"节点4",
left:50,
top:420
},
{
id:9,
type:2,
name:"路由3",
from:3,
to:8
}/*,
{
id:11,
type:1,
name:"节点5",
left:200,
top:20
},
{
id:10,
type:2,
name:"路由4",
from:1,
to:11
}*/
];
var flow = new gSoft.flow(data);
flow.draw();
</script>
完整VML流程图源码下载地址:VML-Rose流程图.rar (6.20 KB)


猜你喜欢
- python取对数可以采用两种工具包,math包可对单一数字取对数,numpy可以数列整体取对数。1、仅对单一数字取对数import mat
- 发现问题在Anaconda配置好虚拟环境后,需要将环境添加进PyCharm中。(或者新建项目时,设置针对某一项目的运行环境),选择Conda
- 示例matplotlib中的animation提供了动态绘图功能,下面列举一个最简单的动态绘制三角函数的例子,来初步演示一下。import
- 微软开源了一个非常强大的自动化项目叫 playwright-python它支持主流的浏览器,包含:Chrome、Firefox、Safari
- SQL Server中加密是层级的,每一个上层为下提供保护。如图:实例:/** SMK(Service Master Key)在SQL Se
- 我就废话不多说了,大家还是直接看代码吧~old_record=numpy.load('exist.npy')temp_rec
- 前言在翻Golang官方库的过程中,发现一个有趣的库golang.org/x/time ,里面只有一个类rate,研究了一下发现它是一个限流
- 前言最近在用python写一个项目,发现一个很恶心的bug,就是同由一个类生成的两个实例之间的数据竟然会相互影响,这让我非常不解。后来联想到
- 思路懒得写了.依赖python-nmap,先在电脑上装nmap,不然用不了.openpyxl实际上没有用到,可以不安装.makeEx()没用
- 目录什么是信号Python的信号处理Python对信号的处理信号枚举信号函数signal.alarm(time)signal.pause()
- Python 字符串描述Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格).语法rstrip()方法语法
- 1、此api已经关闭https://api.map.baidu.com/highacciploc/v1?qcip=220.181
- poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步。POP3协议并不复杂,它也是
- 1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数
- sql server端口,我们可以通过\"服务器端网络试用工具\"和\"客户端实用工具\"来设定,设
- xlwt与xlrd只能针对xls格式的excel进行操作,如果想对xlsx格式进行操作请使用openpyxl模板对excel进行操作xlwt
- 本文为大家分享了python实现大音频文件语音识别功能的具体代码,供大家参考,具体内容如下实现思路:先用ffmpeg将其他非wav格式的音频
- 本文实例讲述了Python基于TCP实现会聊天的小机器人功能。分享给大家供大家参考,具体如下:一 代码1、服务端程序import socke
- 因为一些原因,卸载了Anaconda2的版本,转向3..发现Jupyter挂了.百思不得其解.后来了解到是因为内核找不到的问题导致的.这里整
- 一、多层索引1.创建环境:Jupyterimport numpy as npimport pandas as pda=pd.DataFram