CodeGen按钮循环
CodeGen按钮循环
按钮循环是一个模板文件构造,它允许您迭代CodeGen拥有的按钮信息集合。 在按钮循环中处理的按钮的定义可以来自两个位置之一。
如果基于UI工具箱输入窗口定义进行处理,则默认情况下,按钮集合由该输入窗口定义中的按钮确定。否则,按钮集合由名为默认按钮.xml,您将在安装CodeGen的文件夹中找到。
注意:即使是基于UI工具箱输入窗口定义进行处理,也可以选择忽略窗口中找到的按钮的定义,并使用中的定义DefaultButtons.xml通过–b命令行选项。
按钮循环由一对匹配的<Button_LOOP>和</Button_LOOP>标记分隔,这些标记围绕要为每个按钮插入的模板代码。按钮循环的开始和结束标记之间的代码对于按钮集合中的每个按钮重复。
按钮循环令牌是只能在按钮循环中使用的令牌:
•Button Loop Expansion Tokens
•Button Loop Expression Tokens
有两种类型的按钮循环,多行按钮循环和在线按钮循环。
Multi-Line Button Loops多行按钮循环
当打开和关闭按钮循环标记出现在模板文件中的单独行上时,会发生多行按钮循环,并将一行或多行模板代码分隔开,如下所示:
[code]
<BUTTON_LOOP>
code
</BUTTON_LOOP>
[code]
多行按钮循环为处理的每个按钮生成一行或多行输出代码。
In-Line Button Loops串联按钮回路
当打开和关闭按钮循环标记出现在模板文件中的同一行上时,将存在行内按钮循环,并分隔模板代码行的一部分,如下所示:
[code] <BUTTON_LOOP> code </BUTTON_LOOP> [code]
行内按钮循环只将代码生成到当前输出行中。
默认按钮
默认按钮在中定义DefaultButtons.xml,如下所示:
<?xml version='1.0'?>
<CodeGenDefaultButtons>
<Button name="Ok" caption="OK" image=""
method="" elb="" quickselect="O" />
<Button name="Cancel" caption="Cancel"
image="" method="" elb=""
quickselect="C" />
<Button name="Help" caption="Help"
image="" method=""
elb=""quickselect="H" />
</CodeGenDefaultButtons>
Special Button Processing
生成应用程序源代码时,尤其是表单时,将按钮标识为“确定”按钮(通常保存数据并关闭表单)或“取消”按钮(关闭表单而不保存数据)通常很有用。不幸的是,无法从UI工具箱输入窗口脚本中的信息轻松地识别这一点。
如果“确定”一词出现在按钮的名称或标题中,CodeGen会将该按钮视为“确定”按钮。
如果按钮名称或标题中出现单词“Cancel”,或者按钮名称中出现单词“discard”(放弃),CodeGen会将按钮视为“Cancel”按钮(UI Toolkit程序员通常将Cancel按钮命名为O_ABANDON)。
可以使用按钮循环表达式<IF OKBUTTON> 和 <IF CANCELBUTTON>测试作为OK或Cancel按钮的状态a按钮。