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按钮。

CodeGen按钮循环的更多相关文章

  1. CodeGen标记循环

    CodeGen标记循环 标记循环是一个模板文件构造,它允许您迭代CodeGen拥有的标记信息的集合.为了使用标记循环,必须基于至少定义了一个字段标记的存储库结构生成代码.              标 ...

  2. CodeGen结构循环回路

    CodeGen结构循环回路 structure循环是一个模板文件构造,它允许您迭代CodeGen拥有的有关结构的集合.为了使用结构循环,必须同时基于多个存储库结构生成代码. CodeGen可以通过以下 ...

  3. CodeGen字段循环Field Loop

    CodeGen字段循环Field Loop 字段循环是一个模板文件构造,它允许迭代CodeGen拥有的有关字段的集合.这些字段定义可以来自以下两个位置之一: •如果基于从存储库结构中获取的信息生成代码 ...

  4. js循环出相同name,不同id的按钮,对其进行点击回复操作

    function getseat(){ var option= "<button class='btn'style='margin:5px;' onclick='onclickSeat ...

  5. js for循环中定义clike事件由于闭包导致的循环变量获取不到的问题

    在网上找的 记下来以备不时之需 案例; 本人有一个数组按钮  循环数组按钮 给每个按钮添加click事件 原本以为搞定但是出现了 每个按钮都是数组最后的方法 然后查找问题 发现onclike事件中的i ...

  6. 【代码笔记】Web-JavaScript-javaScript for循环

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  7. 16JavaScript for循环

    1.JavaScript 循环 如果希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. 我们可以这样输出数组的值: 一般写法: document.write(cars[0] ...

  8. 吴裕雄--天生自然 JAVASCRIPT开发学习:for 循环

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. javascript设计模式-工厂方法模式

    工厂方法模式笔记  通过对产品类的抽象使其创建业务主要负责用于创建多类产品的实例  对于创建多类对象,简单工厂不太实用,这是简单工厂模式的应用局限,当然这正是工厂方法模式的价值之所在  通过工厂方法模 ...

随机推荐

  1. 【JVM】JVM中的垃圾收集器

    垃圾收集器组合 Serial+Serial Old Serial+CMS ParNew+CMS ParNew+Serial Old Paralle Scavenge + Serial Old Para ...

  2. CVE-2018-0802:Microsoft office 公式编辑器 font name 字段二次溢出漏洞调试分析

    \x01 前言 CVE-2018-0802 是继 CVE-2017-11882 发现的又一个关于 font name 字段的溢出漏洞,又称之为 "第二代噩梦公式",巧合的是两个漏洞 ...

  3. Windows核心编程 第八章 用户方式中线程的同步(上)

    第8章 用户方式中线程的同步 当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时, M i c r o s o f t Wi n d o w s的运行性能最好.但是,线程很少能够在所有的时 ...

  4. Docker用Dockerfile定制镜像

    用Dockerfile定制镜像 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那之前提示的无法重复的问题 ...

  5. 推荐算法-聚类-DBSCAN

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法,类似于均值转移聚类算法,但 ...

  6. Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章!

    Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! 转载 原文章地址:点击 2014-01-09 Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! ...

  7. Java中浮点数的坑

    基本数据类型 浮点数存在误差 浮点数有一个需要特别注意的点就是浮点数是有误差的,比如以下这段代码你觉得输出的什么结果: public class Demo { public static void m ...

  8. Java学习之jackson篇

    Java学习之jackson篇 0x00 前言 本篇内容比较简单,简单记录. 0x01 Json 概述 概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种 ...

  9. .Net·如何快速上手一个项目?

    阅文时长 | 0.61分钟 字数统计 | 1029.6字符 主要内容 | 1.引言&背景 2.步入正题,如何快速上手一个项目? 3.声明与参考资料 『.Net·如何快速上手一个项目?』 编写人 ...

  10. 5Spring动态代理开发小结

    5Spring动态代理开发小结 1.为什么要有动态代理? 好处 1.利于程序维护 2.利于原始类功能的增强 3.得益于JDK或者CGlib等动态代理技术使得程序扩展性很强 为什么说使得程序扩展性很强? ...