继续来讲编辑器的需求, 前面介绍了拖拽建立节点、以及连线的方法,并加入到了其后的 Qunee 类库,实际应用中须要更多功能,Qunee 的拓扑图编辑器也在逐渐完善,一方面增长多种编辑交互,一方面提供数据导入导出,同时也在摸索编辑器的总体界面设计和前端开发框架 html
延续以前提供的功能,增长更多可配置选项(可设置节点类型,样式和属性),支持按住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 ide
增长了拐点编辑交互器(Q.PointsInteraction),默认编辑状态时,双击多边形进入编辑模式 spa
经过右键菜单(移动平台下能够选择长按),点击在不一样类型的图元上,弹出不一样的设置菜单项.net
graph.html.oncontextmenu = function(evt){ Q.stopEvent(evt); showMenu(evt, graph); } graph.addCustomInteraction({ onstart: function (evt) { menu.hide(); } });
经过扩展,实现exportJSON和parseJSON方法,实现对拓扑图的导入导出,便于存储 设计