基于HTML5的拓扑图编辑器(2)

继续来说编辑器的需求, 前面 介绍了拖拽创建节点、以及连线的方法,并加入到了其后的 Qunee 类库,实际应用中需要更多功能,Qunee 的拓扑图编辑器也在逐渐完善,一方面增加多种编辑交互,一方面提供数据导入导出,同时也在摸索编辑器的整体界面设计和前端开发框架
Qunee 编辑器1.6

 

拖拽创建节点

 

延续之前提供的功能,增加更多可配置选项(可设置节点类型,样式和属性),支持按住shift快捷键,直接拖入到分组内 

拖拽创建节点,放入分组内

新增多种交互模式

创建连线和多边形

创建连线交互

 
 
Q.Consts.INTERACTION_MODE_CREATE_SIMPLE_EDGE = "create.simple.edge";
Q.Consts.INTERACTION_MODE_CREATE_EDGE = "create.edge";
Q.Consts.INTERACTION_MODE_CREATE_SHAPE = "create.shape";
Q.Consts.INTERACTION_MODE_CREATE_LINE = "create.line";
可以直接从一个节点拖拽连接到另一个节点,也可以创建中间拐点的连线
 
 
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_EDGE;
直接相连 创建多拐点连线

连线编辑

普通模式下,设置 graph 为可编辑,此时点击可编辑的图元进入编辑模式
 
 
graph.editable =  true;
graph.interactionMode = Q.Consts.INTERACTION_MODE_DEFAULT;
连线拐点编辑

创建多边形

 
 
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_SHAPE;
创建多边形

创建多线段

 
 
graph.interactionMode = Q.Consts.INTERACTION_MODE_CREATE_LINE;
创建多线段 创建多线段

编辑多边形

 
 
graph.editable =  true;
graph.interactionMode = Q.Consts.INTERACTION_MODE_DEFAULT;
调整宽高

改进了Q.ResizeInteraction

调整多边形大小调整线条大小

移动拐点

 

增加了拐点编辑交互器(Q.PointsInteraction),默认编辑状态时,双击多边形进入编辑模式

编辑拐点编辑拐点

右键菜单交互

通过右键菜单(移动平台下可以选择长按),点击在不同类型的图元上,弹出不同的设置菜单项
 
 
graph.html.oncontextmenu =  function(evt){
    Q.stopEvent(evt);
    showMenu(evt, graph);
}
graph.addCustomInteraction({
    onstart:  function (evt) {
        menu.hide();
    }
});
右键菜单-节点 右键菜单-连线

数据导入导出

通过扩展,实现exportJSON和parseJSON方法,实现对拓扑图的导入导出,便于存储 JSON 导出与编辑

在线示例演示

http://demo.qunee.com/editor/Editor1.6.html Qunee 编辑器1.6

转载于:https://www.cnblogs.com/nosand/p/3965669.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值