WEB开发网
开发学院软件开发Java 结合 GFX,DnD 与 Dijit 创建基于 Dojo 的 Web 图... 阅读

结合 GFX,DnD 与 Dijit 创建基于 Dojo 的 Web 图形类应用

 2010-08-05 00:00:00 来源:WEB开发网   
核心提示: newdojo.dnd.Moveable(somedijit.domNode)拖放是图形操作类应用中最为常见的一种高级操作,它为用户提供了更为灵活方便的交互方式,结合 GFX,DnD 与 Dijit 创建基于 Dojo 的 Web 图形类应用(7),工作流、流程图等典型的绘图应用中图形的选择,图

 new dojo.dnd.Moveable(somedijit.domNode) 

拖放是图形操作类应用中最为常见的一种高级操作,它为用户提供了更为灵活方便的交互方式,工作流、流程图等典型的绘图应用中图形的选择,图形间连线等操作都使用拖放来完成。GFX 并没有直接的方法对图形的拖放操作进行支持,因而,开发人员只能依赖 Dojo 核心库提供的 DnD 包实现对 GFX 图形的拖放操作。

为了能更好地阐述如何将 DnD 拖放效果运用到图形操作上,这里将以对各种图形的选择拖放功能为例,从实现的角度出发逐一引出 DnD 中所涉及的主要概念。首先,在选择一个图形并将其拖放到指定位置的过程中,源(Source)和目标区域是两个必要的参数,通过 dojoType=dojo.dnd.Source 的方式,可以将一个 HTML 标记定义为一个 DnD 源。事实上,目标区域和源从本质而言没有任何区别,他们都具备相同的事件响应能力,dojo.dnd.Target 仅仅是将 isSource 属性设置为 false 的 Source 类。再进一步,在源区域,我们需要能够选择不同的图形实体,如方形,圆形,椭圆等,也即是我们希望在一个源区域能包括一个或多个源实体对象,并从源区域自身的角度而言能够对这些实体进行管理,这便是 dojo.dnd.Container 类的职责。除此之外,针对源区域的多个图形实体,dojo.dnd.Selector 类还能够实现基于 Ctrl 或 Shift 功能键的多图形的同时选择的能力,这是在继承 Container 类所有方法和属性的基础之上,增加对所管理实体的选择能力。Source 则是 Selector 的子类,它具备所有 Container 和 Selector 的能力,因而,对于一般的拖放需求,我们并不需要对 Container 和 Selector 类进行重写,只需直接定义 Source 和 Target 对象便可以完成。清单 3 显示了如何添加图形的拖放操作。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:结合 GFX DnD

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接