五、 TheModel全局类的用途
TheModel全局唯一,职责如下:
负责应用所有定制事件的订阅/分发;
负责持有工具条和系统菜单属性;
负责持有剪贴板,实现各个画板之间的节点拷贝/剪切。
六、 ProcessDesigner与ProcessEditor
ProcessDesigner负责整个应用的布局,目前由三部分组成,系统菜单、工具条和TabNavigator(TabBar管理器),TabBar管理器负责添加和删除Tab,由Tab加载画板,这样实现对多流程定义同时编辑的支持(即多Tab)。
ProcessEditor是应用的入口,它持有ProcessDesigner,实现了IGraphicalEditor接口。目前其对graphicViewer()方法的实现是返回当前激活状态Tab的画板。
同时,ProcessEditor负责统一监听工具条/键盘事件,并将这些事件处理委派给当前处于激活状态的Tab画板处理。
七、 Xml框架
位于org.jbpmside.xml下,使用E4X,使用binding对各种类型的节点进行解析,不集中在一个文件完成解析和转换,一个节点类型对应一个binding。使用代码如下:
Java代码
public function parse(xml:String):ProcessDefinition{
var parser:Parser=new Parser();
return parser.createParse().setString(xml).
execute().getProcessDefinition() as ProcessDefinition;
}
测试代码位于test目录下,是目前唯一可以进行单元测试的部分。
八、 还需要完成的工作
1、 xml框架还需要大量的解析工作完成(以支持jpdl4)
2、 第一个版本为本地应用,需要增加对本地文件操作的支持
3、 模型迁移至org.jbpmside.model.common
4、 工具条使用flexlib重写,新的16位图标,节点属性弹出框
5、 Command目前只实现了对undo的支持,需要实现对redo的支持