#拓扑图编辑器介绍

Graph.Editor是一款基于HTML5技术的拓补图编辑器,采用jquery插件的形式,是Qunee图形组件的扩展项目

数据可视化是一件有趣的工作,冰冷的数据变成美观的图形,如同命令行之于Mac OS X图形界面的,传统的图形组件以图表(Chart)居多,不少优秀的开源或者商业的作品,

比如d3js, echarts, highcharts,而拓扑图、流程图组件相对少一些,知名的有yfiles,本项目则基于Qunee图形组件,是Qunee的扩展项目,旨在为客户提供可供扩展的拓扑图编辑工具,

提供拓扑图展示、编辑、导出、保存等功能,此外本项目也是学习HTML5开发,构建WebAPP项目的参考实例。

注意:本项目内核使用Qunee for HTML5,Qunee本身是一个商业产品,默认仅限本机(localhost)使用,非商业用途可以申请免费授权,商业用途请购买相应授权,官网:qunee.com

##在线演示:

##入门示例

Hello Graph.Editor

Hello Qunee

$('#editor').graphEditor({callback: function(editor){

var graph = editor.graph;

var hello = graph.createNode("Hello", -100, -50);

hello.image = Q.Graphs.server;

var qunee = graph.createNode("Qunee", 100, 50);

var edge = graph.createEdge("Hello\nQunee", hello, qunee);

graph.moveToCenter();

}});

编辑器的基本示例相比Hello Qunee要复杂些,除了Qunee类库外,还用到了一些第三方组件:jquery, bootstrap, layout.border,

此外就是Graph.Editor自身的类库,这里我们引用在线的js和css

实际代码部分,采用了jquery的写法,如下:

$('#editor').graphEditor({

callback: 回调函数,

data: json数据地址,

images: 拖拽图标信息

})

本例中,通过回调函数获取editor.graph对象,并创建了两个节点和一条连线

###运行效果

更多用法请查看其他demo和代码

##编辑器交互快捷键说明v

shift:按住此键拖拽节点,或者是从toolbox中拖拽创建节点,可以将节点拖入到分组内

shift:按住此键,按图标实际比例调整节点大小

方向键:移动画布

ctrl / commond + 方向键:移动选中图元的坐标,微调

dblclick 空白处:缩放画布到整个窗口

delete:删除当前选中的图元

ctrl / commond + S:导出当前画布图片

ctrl / commond + A:全选图元

ctrl / commond, 按住此键可以多选图元

ESC:取消全选

#准备工作

项目用到nodejs,~~使用bower包管理(v2.5版本改成了直接引用相关js文件),~~用到Gulp相关的插件打包和发布

本项目使用以下工具:

安装nodejs

* 安装bower - 包管理

安装Gulp - 任务自动管理工具

##开始开发环境

切换到项目目录,然后运行下面的命令,完成开发环境的安装

npm install

##前端第三方包

>bower install

##项目结构

项目主要代码在app目录,其中脚本代码在app/src/内,

app/

--src/

--common/ 编辑器扩展插件

--Exportpane.js 图片导出模块

--JSONSerializer.js 数据序列化模块

--PopupMenu.js 右键菜单模块

--Toolbar.js 工具栏模块

--PropertyPane.js 属性面板模块

--ToolBox.js 左侧工具箱模块

--GridBackground.js 网格背景模块

-- ... others

--images/

--graph.editor.js 拓扑图编辑器插件

--graph.editor.css

--libs/ 第三方类库

--scripts/ 示例脚本

--images/ 示例资源

--data/ 示例资源

--index.html 编辑器主页面

--demo.html 编辑器插件示例

-- ... other demos

dist/ 输出目录

demos/ 使用在线editor类库的示例

node_modules/ 开发环境相关包目录,运行npm install后自动生成

... 其他文件(包含一些后台相关的尚未完成的代码,可能你没法直接使用,仅作为参考,可以忽略)

##编辑运行

开发过程中直接运行app中的html文件即可,不需要gulp打包,所有的.html文件都可以直接在IDE中运行,有一些动态加载json数据的可能需要web服务器部署访问

##编译打包

gulp

输出目录结构

dist/

data/

images/

libs/

bootstrap/ 第三方类库bootstrap样式和资源目录

graph.editor/ graph.editor类库

images/

graph.editor.css

graph.editor.js

js.js 第三方类库(jquery, bootstrap, layout.border)

scripts/

styles/

index.html

编辑器主要的类库文件位于libs/graph.editor/, 第三方类库(jquery, bootstrap, layout.border)位于libs/js.js,bootstrap样式和资源目录位于libs/bootstrap/

#其他说明

项目中包含一些后台相关的尚未完成的代码,可能你没法直接使用,仅作为参考,可以忽略

android 工具 拓扑图,GitHub - AndroidHelper/graph.editor: HTML5拓扑图编辑器相关推荐

  1. 拓扑图生成器python_HTML5拓扑图编辑器项目 - Graph.Editor

    拓扑图编辑器介绍 Graph.Editor是一款基于HTML5技术的拓补图编辑器,采用jquery插件的形式,是Qunee图形组件的扩展项目 数据可视化是一件有趣的工作,冰冷的数据变成美观的图形,如同 ...

  2. qt实现拓扑图_数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇

    HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization. 这口号是当年心目中的产品方向,接着就朝这个方向慢慢打 ...

  3. android系统(9)---android工具网站

    网站介绍:http://www.androiddevtools.cn/ AndroidDevTools 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程 ...

  4. Android 工具类

    前言 相信用过工具类的各位仁兄都觉得工具类好用,小弟不才,今天斗胆拿出自己感觉比较顺手的工具类. 1.Activity控制类 public class ActivityCollector{//acti ...

  5. vue-devtools工具点击open in editor 自动跳转到对应的组件页面

    vue-devtools工具点击open in editor 自动跳转到对应的组件页面 点击open in editor 后自动跳转选中的组件的页面 1.const launchMiddleware ...

  6. 【安卓开发系列 -- 开发环境】Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具)

    [安卓开发系列 -- 开发环境]Unbuntu 下 Android 持续集成打包环境搭建 -- Jenkins 构建工具安装(gradle + git + android 工具) [1]Unbuntu ...

  7. ( 持续更新,目前含 200+ 工具类 ) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。

    DevUtils GitHub About ( 持续更新,目前含 200+ 工具类 ) Roadmap DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 ...

  8. (持续更新, 目前含100+工具类) DevUtils 是一个 Android 工具库

    DevUtils Github About (持续更新, 目前含100+工具类) DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用. ...

  9. android导入github项目,上传Android项目至github的解析

    这是一个新的系列的文章,github项目,主要讲解了自己的github项目开源实践,github项目解析等. 本文主要讲解了如何将自己的android项目上传至github,相信大家平时在开发过程中为 ...

  10. html5 游戏可视化编译,HTML5可视化编辑器工具

    HTML5可视化编辑器工具是一款好用的且功能强大的编辑系统,操作简单,上手容易,没有编程知识一样可以使用,也能轻松生成html5页面,相当于是一款可视化编辑器,可兼容所有的框架,使用很灵活.有需要的小 ...

最新文章

  1. 如何参与贡献Dubbo社区
  2. 制造业采购审批流程设计示例
  3. C#获取和设置环境变量
  4. 万变不离其宗之海量数据下的算法问题处理思路
  5. 矩形液体包装纸箱行业调研报告 - 市场现状分析与发展前景预测
  6. Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
  7. efi 炫龙dd3plus_散热真的“秀”,炫龙DD3 Plus细节感受魅力
  8. matlab的实时编辑器介绍以及应用示例
  9. Python 自动化测试实战
  10. 双十一优惠算不清凑单太麻烦?苏宁“千人千面”帮你搞定
  11. 面试问到这个我直接蒙了,你呢?
  12. 用计算机测试生日,超准生日爱情配对测试
  13. NOIP(普及组):AK的故事之英语学习篇
  14. 基于Web的电子商务解决方案(1)(转)
  15. LC谐振电路跟和LC振荡电路
  16. 青岛海信网络java面试题_Java常见面试题(六、网络)
  17. app点餐点菜订餐订菜系统(前台h5,后台Java,SSH,mysql)
  18. delphi7 TRichView 安装
  19. Spring之XML解析
  20. 信息学奥赛一本通-1014

热门文章

  1. ios-webkit-debug-proxy 说明
  2. VeryCD关闭音乐视频下载视频网站的正版化历程
  3. 《Two-Archive Evolutionary Algorithm for Constrained Multiobjective Optimization》阅读笔记
  4. Xilinx ZYNQ Ultrascale+ 性能测试之 Video Multi Scaler
  5. 5.9 学习日记 万事成蹉
  6. Python量化交易学习笔记(50)——程序化交易1
  7. 算法题:卖股票,求最大利润
  8. 如何写 peer review
  9. 投入产出与投入占用产出技术在经济分析中的应用(指标计算和投入产出分析)...
  10. cvr存储服务器的优势,CVR是什么