此灵感源自 Eclipse E4 项目的 XWT UI Trigger 特性。
对于XWT,它是基于SWT的,因此可以内置SWT的所有特性,例如各种事件监听等。而作为更加通用的XML应用程序,在设计上需要更谨慎些。经过一些研究,决定先实现属性触发器(Bean Property Trigger),这样所有符合Bean格式的类都可以进行触发。
下面看看代码:
<Shell xmlns="com.cmspad.xmla.swt" xmlns:t="com.cmspad.osgi" xmlns:e="com.cmspad.xmla.swt.event" xmlns:l="com.cmspad.xmla.swt.layout" text="XML Application" size="200,60"
l:layout="fill">
<Button t:id="b1" style="CHECK" text="Button 1" enabled="false">
<t:trigger t:property="enabled">
if(b1.enabled){
b1.selection = false;
}else{
b1.selection = true;
}
</t:trigger>
</Button>
<Button t:id="b2" text="Button2" style="CHECK" e:Selection="buttonSelected"/>
<t:script>
function buttonSelected(e){
if(b2.selection){
b1.enabled = true;
}else{
b1.enabled = false;
}
}
</t:script>
</Shell>
可以看到,trigger部分代码就是对其enabled属性进行监听,当其他部件调用setEnabled方法时,触发其事件。
运行界面,当鼠标选择 Button 2 时,Button 1 变为可用了
因为XML应用程序能够更适应几乎所有的程序类,属性监听机制的实现可能会很复杂。此特性已经加入到了开发计划中,敬请期待~
- 大小: 28.1 KB
分享到:
- 2009-10-17 16:48
- 浏览 1826
- 评论(0)
- 论坛回复 / 浏览 (0 / 1388)
- 查看更多
相关推荐
--行级触发器 create or replace trigger insert_person after insert on person for each row begin insert into person2 values(:new.id,:new.name,:new.password); end; create or replace trigger update_...
触发器,trigger
oracle触发器(trigger).pdf
oracle触发器(trigger)[定义].pdf
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,,sql触发器的写法,简化代码量
他的作用很明显了,可以保证数据的完整性,下面有一个实例来说明他的好处,以及如果使编写代码不那么复杂二,触发器语法代码如下:CREATE TRIGGER trig
触发器的一些例子,可以快速的使用触发器进行数据库编程
本文分步骤给大家详细介绍了SQL Server 使用触发器(trigger)发送电子邮件的方法,需要的朋友可以参考下
触发器9.18触发器9.18触发器9.18触发器触发器9.18触发器9.18触发器9.18触发器
功能比较强大,但也有不好地方,所以推荐必要的时候才能用哦
主要讲解数据库中关于触发器的内容 触发器常用的功能 DML触发器 CREATE TRIGGER语法
主要介绍了mysql触发器(Trigger)简明总结和使用实例,需要的朋友可以参考下
springTrigger 触发器,很多时候有一些事情需要交给程序定时自动执行,java项目中使用spring触发器方式实现这个功能的方式很常见,配置文件说明已打包,需要自己下载jar包
触发器.pptTrigger PPT documentTrigger PPT document
触发器(Trigger)在数据库里以独立的对象存储。 存储过程通过其它程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。 触发器被事件触发。运行触发器叫做...
sqlserver的触发器。简单介绍了对表的增删改查触发效果有具体实例。便于理解
答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(trigger)和序列(sequence)来模式实现。 示例: 1、建立表 代码如下:create table user ( id number(6) not null, name varchar2(30) not ...
从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE)。这些系统级别的触发器包括数据库启动触发器,DDL触发器和最终用户登陆/注销触发器。...