`

Flex开发流程设计器的经验之谈(2) (转)

 
阅读更多

第一篇写于2个多月前,其间赶上春节,同时去年底突然安排了新任务,忙于另外的研究去了,从而一直没有再继续总结。还有个原因,是因为期间在断断续续的flex设计器原型系统研发过程中发现很多原有的一些细节设计之处不足,又作了很多细节性的重构和完善。这几天又接着完成了一个阶段的原型实现,才有空闲再接着写总结。
第一篇地址:
http://blog.csdn.net/james999/archive/2008/11/16/3313861.aspx

首先回顾一下上一篇的内容。其实上一篇是非常“原则性的设计思路”,很多人可能读完以后会觉得很空洞,但真正在研发过程中,真正有价值的反而是这种看似空洞的指导思想和思路。——不信,可以尝试从零做做看,你就会发现,你真正需要的是什么了。

上一篇主要讲了几个原则:

(1) 一定要MVC架构,这个MVC架构不是说那个诸如PureMVC那种框架性架构,而是指的剥离“流程图形”“流程模型”“控制器”的设计结构,也就是eclipse gef中“Model-EditPart-Figure”这个架构。

(2) 玻璃板技术,外围拦截鼠标键盘事件,进行处理。

(3) Command模式,来处理操作。可以轻松解决redo-undo。而且严格记住,你的command作用的对象是“model”,而不是“图形”。

(4) 使用Layer模式,将不同的图元放于不同的图层上。比如底层的Grid放在某个层,活动节点放于某个层,连接线放于某个层,拖拽的阴影放于某个层等等。

(5) 利用EditorEditorDomainSelectManager等等对象来维护针对当前流程的管理空间。这个在eclipse gef中是基本概念,不清楚的建议看看相关资料。

现在进入正题。

WorkbenchPartEditorPartViewPart

如果对Eclipse GEF/UI了解的话,看到这三个对象,你一定知道接下来要说什么。

对一个Flex流程设计器来讲,不仅仅只是流程图绘制这一块,你还需要涉及到一些额外的“视图(View)”,比如你可能需要显示当前流程图的OutLine,你可能需要显示问题列表,显示xml格式视图等等情况。借鉴eclipse gef/ui中的EditorPartViewPart设计思路,是非常不错的。

 




如上图,IEditorPart接口的实现代表一个图形化的设计区域编辑器,而IViewPart代表视图,其中每个ViewPart都会有一个Viewer,来表示真正的视图实现。注意,此处Viewer本身不是一个Flash DisplayObject对象,或者说不是一个Flex UIComponent对象,其内部的viewerControl才是表明此View的真正展示对象,比如是一个Tree,还是一个DataGrid,抑或是其他的UIComponent

IeditorPartIviewPart本身也不是DisplayObject,其仅仅表示这是一个View或者是一个Editor对象,索引一些资源。

看看IWorkbenchPart这个接口:

[javascript] view plaincopyprint?
  1. package com.primeton.framework.workbench
  2. {
  3. import mx.core.Container;
  4. import mx.core.UIComponent;
  5. public interface IWorkbenchPart {
  6. function createPartControl ( parent:Container=null ):Container;
  7. }
  8. }

 

 

 

这个接口允许把Parent Contaier这个Display Object传递进来构建,也可以不传递进来。EditorPart和ViewPart都必须实现这个接口方法,来初始化其所代表的Display Object实现。

 

今天写的少了点,赶明再接着写。

分享到:
评论

相关推荐

    Flex流程设计器

    Flex流程设计器是一款基于Adobe Flex技术开发的业务流程设计工具,其源码的提供为开发者提供了深入理解并定制流程设计功能的机会。Flex是一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript编程...

    flex wf流程设计器(Workflow)

    Flex WF流程设计器是一款基于Adobe Flex技术开发的可视化工作流设计工具。它允许用户通过图形化界面来设计和构建复杂的业务流程,最终生成的XML文件能够与各种后台系统进行集成,符合JBPM(Java Business Process ...

    flex4 流程设计器

    不错的流程设计器,实现了连线,拖动,修改属性等,,,

    基于Flex的Web流程设计器开发

    基于 Flex 的 Web 流程设计器开发 本文将详细介绍基于 Flex 的 Web 流程设计器的开发,包括其背景、技术路线选择、架构设计、前端设计和后台设计等方面的内容。 Web 流程设计器的背景 ------------------ 在开发 ...

    流程设计器(flex版)

    《流程设计器(flex版)详解》 流程设计器(flex版)是一种基于Adobe Flex技术的图形化工具,主要用于设计和构建业务流程。Flex是Adobe公司推出的一种开放源代码的富互联网应用(RIA)开发框架,它允许开发者创建具有...

    Flex 开发流程 了解Flex开发的流程

    Flex开发流程详解 Flex是一种由Adobe推出的用于构建富互联网应用(Rich Internet Applications,简称RIA)的框架,它包含了Flex SDK、编译器、框架、调试工具以及开发环境Flex Builder等核心组成部分。Flex 3 SDK...

    flex 流程设计器

    flex 流程设计器,flex 流程设计器

    flex流程设计器源码

    2. **图形用户界面(GUI)设计**:作为一款图形化设计器,Flex流程设计器利用了Flex中的图形绘制和布局管理功能,如Canvas组件用于自定义绘图,以及Layout Manager来处理组件的排列和尺寸计算。 3. **工作流模型**...

    flex web工作流程图

    综上所述,"flex web工作流程图"涉及到的技术点包括Flex框架、MXML和ActionScript编程、图形组件设计、数据绑定、事件处理、自定义组件开发、状态管理、布局和动画效果,以及后端服务集成。通过这些技术,开发者可以...

    flex 工作流设计器

    Flex工作流设计器是一种基于Adobe Flex技术的工具,用于创建、编辑和管理业务流程。它提供了图形化的用户界面,使得非技术人员也能理解并构建复杂的业务逻辑。在本文中,我们将深入探讨Flex工作流设计器的主要功能、...

    FlexForm表单设计器

    FlexForm表单设计器是一款基于Adobe Flex技术开发的高级表单设计工具,专为构建用户界面提供强大支持。Flex是一种开放源代码的框架,主要用于构建富互联网应用程序(RIA),它使用MXML和ActionScript编程语言,结合...

    flex 实现 的流程设计器

    2. **图形绘制**:在流程设计器中,我们需要实现图形的绘制和编辑功能。这涉及到对矢量图形的理解,如使用Shape和Graphics类来绘制线条、矩形、圆形等基本形状,代表工作流中的活动和决策点。 3. **事件处理**:...

    flex工作流程编辑器

    Flex工作流程编辑器是一款专为开发人员设计的强大工具,它简化了基于Flex的工作流配置过程。Flex是一种由Adobe开发的开放源代码框架,主要用于构建富互联网应用程序(RIA),尤其是在使用ActionScript和MXML编程时。...

    精典flex图形化流程设计器源码

    Flex图形化流程设计器源码是一套用于创建和编辑工作流的高级开发工具,它基于Adobe Flex技术,提供了直观的可视化界面,使得用户可以方便地构建、定制和管理各种业务流程。这一源码对于开发者来说是极其宝贵的资源,...

    flex 3.0流程编辑器修改版源码

    总结来说,Flex 3.0流程编辑器修改版源码涉及到图形用户界面设计、事件处理、图形绘制等多个技术领域,对于深入理解Flex框架以及提高RIA开发能力具有重要价值。通过学习和实践,开发者不仅能掌握流程编辑器的实现...

    pentaho平台 flex 仪表盘设计器 插件

    6. **Flex 仪表盘设计器用户使用手册.pdf**:这份用户手册提供了关于如何使用Flex 仪表盘设计器的详细指南,包括界面介绍、操作流程、自定义选项等,帮助用户充分利用这个工具。 7. **replace.zip**:这个文件可能...

    flex 画流程图 流程编辑

    2. **Graph或Diagram库**:为了简化流程图的绘制,Flex社区中存在一些专门用于绘制图表和流程图的第三方库,如FLEXIGRAPH、 mxGraph等。这些库提供了预定义的图形元素和布局算法,便于快速构建流程编辑器。 3. **...

    流程设计,extjs、flex、web下的流程设计

    总的来说,这些文件和标签涉及到的技术和工具都集中在Web环境下的流程设计和管理上,无论是EXTJS的组件化开发,Flex的富客户端展示,还是各种流程设计器的使用,都是为了实现更高效、更直观的业务流程自动化。...

    flex css设计器

    在压缩包中包含的`Flex2StyleExplorer.swf`文件是Flex CSS设计器的可执行文件,它是Flash Player能够运行的SWF格式的文件。为了使用这个工具,你需要确保你的计算机上安装了Adobe Flash Player,或者使用支持SWF文件...

    flex 自定义 制作 流程图 (五种)

    flex 流程图 制作 flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex 流程图 制作flex ...

Global site tag (gtag.js) - Google Analytics