`
edi
  • 浏览: 24273 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

基于Flex的Web流程设计器开发第二季---Tabbed Properties View

    博客分类:
  • flex
阅读更多
第一季回顾
基于Flex的Web流程设计器开发第一季
在08年四月份采用Flex开发完成了Web流程设计器第一个版本。具体请参见开篇的链接。这个版本的Web流程设计器的属性页采用的是HTML页面,当初主要考虑采用HTML属性页易于与业务系统的页面进行集成。HTML属性页虽然有易于集成的优点,但缺点太多。具体缺点如下:
  • 与流程设计器整体风格不一致,用户体验差;
  • 代码复杂,不易于维护;
  • JavaScript存在浏览器兼容问题;
  • 运行效率低;

综上原因,对属性页进行改良势在必行。

Tabbed Properties View
通过回顾第一季,已经认知到HTML属性的不足,那么如何改进呢?在这里又要再次感谢Eclipse开源组织,因为Eclipse平台提供了Tabbed Properties View。在Eclipse版本的流程设计器中,属性页就采用了Tabbed Properties View。Tabbed Properties View不但布局美观,而且表现丰富,更重要的是可以按需灵活配置。所以萌发了用Flex实现一套Tabbed Properties View的想法。
语言总是枯燥的,我们还是上图吧。
Web流程设计器第二季全景如下图所示。

希望这张能清晰点。


Flex Tabbed Properties View 设计思路
Flex Tabbed Properties View 实现参考了Eclipse Tabbed Properties View 的设计思路。但对其进行了精简,因为Flex Tabbed Properties View 只需要满足流程设计器自己的需求就可以。
Flex Tabbed Properties View 的设计目标是可以灵活的对属性页进行组装。构成属性页最小单元工件为Tab页
看看效果,开始节点属性只有一个Tab页构成。

手动节点属性页由五个Tab页构成。

用一句话来说设计思路---在配置文件中存储属性页配置信息,在运行期用反射进行控件初始化,然后进行属性页组装。

经验总结
在开发中遇到的问题,可能也不都是Flex的缺陷,也有可能是我的用法有问题,和大家交流下。
  • Flex的反射存在缺陷,不支持如Java那样根据类名生成实例对象。
  • ComboBox控件要慎用,它在初始化data provider时,会触发Selection Change事件。
  • RadioGroup控件也存在缺陷,在RadioGroup初始化完成前,无法check其中某个radio。

因为保密协议的存在,我只能能谈谈设计思路,希望对读者有益。
  • 大小: 56.5 KB
  • 大小: 10.3 KB
  • 大小: 3.9 KB
6
0
分享到:
评论
7 楼 zhangchunlailai 2012-09-05  
程序员要打破门户之见,共享源码。zhangchunlailai@163.com
6 楼 liufeng_4466 2012-08-23  
您好,看了您的这篇文章,对我很有启发,能不能发一套源码给我。谢谢
liufeng_4466@sina.com
5 楼 liuhaoyi490 2011-03-22  
效果很不错,以前怎么没发现呢
这是我自己做着玩的,刚写完一个内核,多提宝贵意见
http://liuhaoyi490.iteye.com/admin/blogs/941550
4 楼 edi 2010-01-04  
潜心修炼 写道
引用
Flex的反射存在缺陷,不支持如Java那样根据类名生成实例对象


建议看一下这个文章 http://www.ibm.com/developerworks/cn/web/0908_liuqing_flex_reflect/index.html

当时没有深入研究这个问题,只记得需要先声明。多谢指点。
3 楼 潜心修炼 2009-12-06  
引用
Flex的反射存在缺陷,不支持如Java那样根据类名生成实例对象


建议看一下这个文章 http://www.ibm.com/developerworks/cn/web/0908_liuqing_flex_reflect/index.html
2 楼 zdonking 2009-08-01  
这个,设计器源码能共享吗?
1 楼 iceawake 2009-05-14  
想回复实在是太难了……被“言行拷问”了好多版规
看见楼主新鲜出炉的文章,我终于忍不住潜水多年回帖了
我09年下半年的计划是用FLEX写个工作流编辑器,没想到水这么深,我的初衷只是学习flex,看来想完成这个计划要学的东西多了去了,向楼主致敬
我也是大连的,等我脱离了初级水平,有上点档次的问题时候一定请教你

相关推荐

    3-9(Tab-Tabbed-menu).zip_Tabú

    在安卓应用开发中,Tab-Tabbed Menu 是一个常见的用户界面设计模式,它允许用户通过在顶部或底部的标签之间切换来浏览不同的内容区域。在本案例“3-9(Tab-Tabbed menu).zip_Tabú”中,我们将会探讨如何在Android...

    Python库 | ftw.tabbedview-3.5.0.tar.gz

    在Python中,ftw.tabbedview可能基于Tkinter或其他的GUI库实现,Tkinter是Python的标准GUI库,易于学习且跨平台。使用ftw.tabbedview,开发者可以避免直接与底层GUI库交互的复杂性,而专注于应用的逻辑和用户体验。 ...

    mini-tabbed-pages

    "mini-tabbed-pages"是一个关于创建网站Tab切换功能的代码资源。Tabbed界面设计在网页设计中非常常见,它能够有效地组织和展示大量信息,提高用户体验。这种设计允许用户通过不同的选项卡在多个内容面板之间切换,而...

    flex手机开发

    Flex是一种强大的Web应用程序开发框架,由Adobe公司推出,主要用于构建具有丰富用户界面的应用程序。随着移动互联网的兴起,Flex也被广泛应用于移动应用的开发中。Flex移动开发不仅能够提供出色的用户体验,还能实现...

    Tabbed Postman - REST Client.crx

    chromeFOR.COM_tabbed-postman-rest-clien_v0.8.4.19 谷歌插件

    tabbed postman.rar

    **二、使用Web版Tabbed Postman** 1. **登录与注册**:首先,你需要在Postman网站上创建账户,或者使用已有的账户登录。网页版Postman允许你同步桌面应用的数据,使你在任何地方都能继续工作。 2. **创建和管理...

    Multi-Tabbed PuTTY.zip

    在描述中提到的“多标签页PuTTY”,通常指的是MTPuTTY(Multi-Tabbed PuTTY)或Tabbed PuTTY,这是一个 PuTTY 的第三方修改版,它在原生PuTTY的基础上添加了标签页功能,让用户可以方便地在不同的会话之间切换,而...

    tabbed_view:受经典的桌面样式选项卡组件启发的小部件

    tabbed_view Flutter小部件的灵感来自经典的桌面样式选项卡组件。 支持可定制的主题。 TabbedView呈现模型的表示。 TabbedViewModel将选项卡数据存储为名称,内容,按钮或任何动态值。 开始吧 默认主题为...

    ASP.NET MVC Tabbed Menu Control

    ASP.NET MVC Tabbed Menu Control.Source Code. http://www.dev102.com/2009/04/14/creating-a-tabbed-menu-control-for-aspnet-mvc/

    react-native-tabbed-menu

    "react-native-tabbed-menu"组件正是基于这一理念,为开发者提供了一个易于集成和定制的选项卡组件。 组件的平移动画效果是其一大亮点,这种动画使得用户在切换选项卡时体验到流畅的过渡,增强了用户体验。在React ...

    [使用Flex4.5开发黑莓平板应用].源代码

    《使用Flex4.5开发黑莓平板应用》的源代码包包含了多个项目示例,旨在帮助开发者深入理解和实践如何在BlackBerry平板设备上利用Flex4.5技术进行应用开发。Flex4.5是Adobe Flash Platform的重要组成部分,它提供了...

    chromeFOR.COM_tabbed-postman-rest-clien_v0.8.4.19.rar

    1. **解压文件**:首先,你需要将下载的rar压缩文件解压,这通常可以通过Windows自带的资源管理器或第三方解压软件如WinRAR完成。解压后,你会得到一个包含该扩展程序文件夹的目录。 2. **打开Chrome扩展程序管理**...

    Android开发

    - **视图结构**:两种开发方式均提供了不同的视图结构,如Flex Mobile中的ActionBar、TabbedView等,以及ViewNavigator结构中的pushView()和popView()方法,用于实现视图的切换。 - **UI组件**:Android SDK提供了...

    has-tabbed:小型助手,可实现更好的对焦行为

    |用法从npm获取npm install --save has-tabbed 并使用它import HasTabbed from 'has-tabbed' ;const tabbed = new HasTabbed ( ) ; 就是这样。 默认情况下,创建实例时库处于活动状态。 您可以使用addEvents和...

    基于iOS的应用开发模板

    "基于iOS的应用开发模板"通常包含一系列预定义的代码、界面元素和配置文件,使得开发流程更加标准化和模块化。 一、Xcode项目模板 Xcode是Apple官方提供的iOS开发集成开发环境(IDE),它内置了一些基本的项目模板...

    chromeFOR.COM_tabbed-postman-rest-clien_v0.8.4.19.zip

    谷歌浏览器插件postman,开启开发者模式,加载已经解压的文件,安装成功。

    Teebo OfficeMDI Tabs (Tabbed MDI for VB )

    OfficeMDI Tabs is the no-code-required solution for providing tabbed MDI interfaces in your VB applications. It works with your existing MDI applications: Just add the controls to your forms, change a...

    WEB设计大全

    前言 <br>第一部分 Web设计核心问题 <br>第1章 什么是Web设计 <br>1.1 Web设计的金字塔 <br>1.2 建设Web站点 <br>1.3 为用户建设 <br>1.4 从纸张到软件 <br>1.5 Web的图形用户界面传统 ...

    10个Web前端开发中免费且非常有用CSS代码.docx

    ### Web前端开发中免费且非常有用的CSS代码 随着互联网技术的发展与用户需求的多样化,Web前端开发变得越来越重要。为了提高工作效率并确保项目的高质量完成,前端开发者常常会寻找那些能够帮助他们快速构建美观且...

Global site tag (gtag.js) - Google Analytics