Aurora ????????

2012-03-08 13:15:13by jessen

Aurora 原型开发工具介绍

周升洋

Hand

2012-03-05

简介

这个工具的目的是,在项目开始阶段快速的产生项目原型,提高沟通和需求确认的效率,避免由于需求确认的问题影响项目进度。 由于我们产生的代码是直接可以运行的,所以这个功能也可以提供代码框架供2开使用。

使用这个工具,发开者可以根据模板快速的实现从bm到screen页面的过程,省去了绝大部分需要编写代码的操作。

原型

BM特殊属性说明

为了实现整个过程的自动化,我们在bm的某些Tag上增加了一些特殊的属性,这些属性具有特殊的目的,目前只会在我们的原型编辑器中起作用。

下面列出这些属性的相关信息

Table 1. bm特殊属性列表

属性名所在Tag可选值说明
defaultDisplayFieldmodel当前bm的一个field或ref-field的name当此bm被用作comboBox的数据源时,指明哪个字段作为displayField
defaultEditorfield(同常规输入组件:textField,lov等)指明这个字段默认使用哪种编辑器来显示或编辑
optionsfield(bm的classpath形式)当此field使用lov(或comboBox)作为编辑器的时候,指定lovService(或options的model)

开发流程

有了符合要求的bm以后,就可以根据合适的模板来使用我们的设计器了。

bm是整个过程的基础,模板是整个过程的入口。

一个小例子

现在有3个表:uip_emp,uip_dept,uip_job

所用bm可在附件中下载

现在要做一个页面,完成对uip_emp表的增删改查操作。

新建原型工程

原型工程不同于Aurora工程,但必须关联一个Aurora工程才可以。如果新建的时候没有选择关联工程,也可以以后通过“工程属性”页进行修改,重新设置。

原型工程默认包含3个目录:model_prototype,template,ui_prototype。

*model_prototype主要用来存放一些与bm自动生成生成有关的文件,这在将来会用得到。
*template用来存放模板及其相关文件。
*ui_prototype用来存放原型文件(*.uip),此目录的结构会自动对应到 所关联 Aurora工程的 [web]目录的结构。

新建原型文件

下面我们开始在ui_prototype目录下新建原型文件,由于要从模板开始,新建文件请使用向导来完成。

接下来开始选择模板。

在向导页面上,我们可以浏览所有模板(预览图),选择一个合适的模板后就可以进入下一步。

为模板选择合适的bm

虽然我们有3个bm,但是主bm只有一个:uip_emp(根本原因是:选择的模板只需要一个bm),另外两个是被uip_emp引用的,这种引用关系会被自动解析得到。

在编辑器中继续完善

根据bm和模板自动生成的页面,大概就是编辑器中显示的样子

5.生成代码

修改完成并保存以后就可以生成代码了。点击工具栏上的按钮

代码会自动生成到关联的Aurora工程[web]目录下,并保持目录结构。

接下来就可以去做一些配置(如注册页面,分配bm等),然后测试一下功能是不是完善。

进阶

自动生成的页面是比较简单的,如果希望进一步实现一些特殊的功能,则需要配置一下。

设计器中容器类(可以放置其他组件)组件分为4种类型:

* 查询区域,用于放置一些输入组件,形成查询条件(如Form,Fieldset等)
* 按钮区域,用于放置button(如hbox等)
* 结果区域,查询的结果显示区域(如grid等)
* 无,普通的组件

自定义Button

位于Grid的ToolBar上的Button,有5种标准的类型可以选择,还可以添加自定义按钮。

设计器默认提供了几种预定义的button类型(这些类型screen中并不存在),使得设计者只需进行简单的设置就可以自动生成js代码。

当预定义类型仍不能满足要求时,可以自己写一些js代码。

Table 2. button类型

类型描述
查询选择一个作为“结果区域”的组件
重置选择一个作为“查询区域”的组件,重置它绑定的DataSet
保存选择一个作为“结果区域”的组件,提交它绑定的DataSet
打开新弹出窗口,显示指定的页面
关闭关闭指定的窗口(id)
自定义写一个javascript函数

自定义Renderer

renderer主要用于Grid column上的数据渲染。(screen上的renderer用途不仅限于此,目前我们的设计器仅在此处使用renderer)

使用renderer可以使用特定的格式去显示数据,或者以超链接的形式展示其他的页面。

column默认都是不适用renderer,如果使用的话,有3中预定模式可供选择:

Table 3. 

类型描述
(不使用)默认不使用renderer
页面跳转使用指定的显示文本,指定页面,生成一个超链接,可以打开一个窗口显示指定页面
内置函数内置了3个用于格式化日期、数字的函数
自定义函数自己写一个渲染函数

复合表头

复合表头需要的操作很简单:只需额外新建一列,把需要的列拖进去即可。

组件类型变换

查询区域的输入组件的默认类型都来自bm文件的信息。如需要改变其类型,则可右击,选择TypeChange

如Form,FieldSet,HBox,VBox等容器类组件也可以改变类型,操作同上。

Grid column 也可以设置编辑器,如需改变,只需在属性区域进行简单选择即可。

Demo
    Attachments
    1. uiptest.zip

    Comments

    0 Responses to the article

    暂时没有评论。

    发表评论