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. Thinkphp5之Bootstrap自定义BootstrapDetailed分页插件的实现

    首先,在此目录建立一个newcrm\thinkphp\library\think\paginator\driver\BootstrapDetailed.php文件,代码如下: <?php // ...

  2. 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火

    神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...

  3. Portswigger web security academy:Clickjacking (UI redressing)

    Portswigger web security academy:Clickjacking (UI redressing) 目录 Portswigger web security academy:Cl ...

  4. base64stego 还不懂base64的隐写,详解15行代码带你领略

    网上写了好多关于xctf MISC新手篇的base64Stego隐写的教程,但大都不太清楚,基本上都是讲了一段隐写原理,直接上代码了.但是代码是这道题的关键,代码讲了如何解码这个隐写的完整流程,这次我 ...

  5. 【大白话 mysql】mysql 事务与日志原理

    在后端面试中,mysql是比不可少的一环,其中对事务和日志的考察更是"重灾区", 大部分同学可能都知道mysql通过redolog.binlog和undolog保证了sql的事务性 ...

  6. 16.分类和static

    1.案例驱动模式 1.1案例驱动模式概述 (理解) 通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题 1.2案例驱动模式的好处 (理解) 解决重复代码 ...

  7. CocoaPods 构建自己的 Pod 库

    构建一个自己的库供其它人使用是不是一件很酷(苦)的事情,通过CocoaPods 可以快捷的构建自己库,并向全世界分享你的成果 一.创建 Podspec 有两种方式: 使用命令 pod lib crea ...

  8. [OS] 操作系统课程(五)

    系统启动 启动过程 CPU加电稳定后从0XFFFF0读取第一条指令 BIOS 固化到计算机主板上的程序 包括系统设置.自检程序和系统自启动程序 系统加电后读BIOS 加电自检POST,内存.显卡等关键 ...

  9. centos保存rpm到本地以及使用yum完全卸载软件包

    目录 保存安装的rpm到本地 方法一: 方法二(推荐): yum卸载软件包包括依赖 保存安装的rpm到本地 方法一: [root@ServerA ~]# vim /etc/yum.conf [main ...

  10. CentOS 7磁盘寻找不到,卡在sulogin,造成的开机失败问题--Error getting authority...

    今天早上使用内网gitlab仓库的时候,发现页面无法打开,ssh也无法连接. 到机房接上显示器,发现如下错误: Error getting authority: Error initializing ...