阅读更多

5顶
0踩

编程语言

原创新闻 GrailsUI 1.0发布

2008-11-03 13:13 by 资深编辑 ╱/罒呍唲 评论(2) 有4745人浏览
dangertree 说道:GrailsUI(GUI)的插件已经悄悄地在几个月前建立了,现在,它已经准备好向公众展示。它提供了一个收集有用的内置JavaScript工具,使用Yahoo! UI库(2.6.0版本)。更多的文档在Grails 的网站上。

GrailsUI 建立在三个主要的概念上,我认为GrailsUI的主要灵感来自于现存UI插件所缺少的部分。

配置传递

所有的属性传递进入GrailsUI的标签,GrailsUI没有完全确认和通过tag库标识,而是传递到后台的YUI对象作为配置选项。因此,如果你知道你所作的事情,你能获得在widget中进行任何客户配置的好处,不需要担心GUI是否处理正确。从字面上说,所有你的配置属性都将传送给YUI配置对象。不用担心,你可以使用GrailsUI插件不用关心你正在使用这个功能。

组件可访问性

任何组成部分在整个访问的网页直接的访问YUI对象是很容易的,通过引用GRAILSUI命名空间和ID 。这意味着,如果您创造了一个dataTable <gui:dataTable id="myDataTable"/>,你可以很容易的在JavaScript中通过GRAILSUI命名空间:GRAILSUI.myDataTable 来引用。
这可以让您在您的网页中创建一个自定义的事件来处理图形用户界面工具。
一些字符串的有效性,在使用HTML元素ID无效时,转变为JavaScript的变量名。例如,字符串“myElement:3”是合法的,因为它是一个HTML元素的属性,但是你却无法使用这个字符串作为一个JavaScript的变量名。在这个例子中,ID传递给GUI标记转化为一个JavaScript友好的字符串使用。这将所有不好的字符的ID变为加“_”底线的字符。例如:<gui:richEditor id="editor:4"/> 变为 GRAILSUI.editor_4 。


易于依赖映射

GrailsUI提供了资源标记,其中您可以定义页面的组件。所有您需要做的就是列举出组件,他会照顾所有的CSS和JavaScript的依赖关系,没有冗余。

<gui:resources components="[’richEditor’, ‘dataTable’, ‘accordion’, ‘datePicker’]" />

这将会为您提供依赖关系,这样您就可以将其使用任何指定的组件内。


从何入手?

所有您需要的开始使用图形用户界面的信息都在grails.org的维基网页 。每个图形用户界面都被定义了,也进行了细致的说明,你可以从谷歌代码中找到所有组件的例子


你想与我一起分享吗?

我希望让更多的人关注图形用户界面。如果你想开始使用它,你可以在这下载源代码 。只需要输入http://svn.codehaus.org/grails-plugins/grails-grails-ui grails-ui-readOnly。如果您发现错误,请与我联系或登录自己的“Grails Plugins”项目,“Grails-UI”的组件部分。


  * Daniel Honig ,建立了两个不同的插件,我们最早将他们结合在GUI。他负责核心的概念和逻辑背后的图形界面用户的依赖绘图系统。
  * [url= http://marceloverdijk.blogspot.com/]Marcel Overdijk[/url]有很多的博客帖子 关于,连接一个YUI DataTable,使用服务器端翻页和排序。使用这个核心的逻辑增加而外的功能,图形用户界面的DataTable扩展。
  * Zach Leatherman 最初[url= http://www.zachleat.com/web/2007/08/28/enlarging-your-yui-datatable-in-29-seconds-or-less]DataTable连续扩展[/url]的想法。

5
0
评论 共 2 条 请登录后发表评论
2 楼 avidmouse 2008-11-03 17:55
感觉和dojo的思路差不多,受Visual studio的影响比较深,适合IDE拖拽开发。如果手写代码,还是jQuery的UI比较清晰、清爽,个人感觉。
1 楼 rockjava 2008-11-03 14:09
GrailsUI???难道是groovy版的"JSF"???

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • WINDOWS窗口的客户区域拖动技术及其应用

    WINDOWS窗口的客户区域拖动技术及其应用

  • win11 拖动窗口显示内容

    win11怎么更改拖动时显示窗口内容

  • windows sdk编程系列文章 ---- 文件拖放

    理论: 拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同 一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向 操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的 对象。 拖放有两种类型:OLE拖放

  • 计算机窗口功能介绍,微软详解Win10窗口全新Snap功能

    IT之家讯窗口Snap功能最早出现于Win7系统。当时其正式名称为Aero Snap,作为Windows7的招牌功能之一,用户可以通过拖动窗口来实现各种形态和大小改变,包括最大化、半屏、还原等。到了Win8/Win8.1时代,该功能又得到了扩展。由于Modern应用自身特点,尤其是在Windows8中不能实现传统的窗口化显示,因此Snap让用户在使用Modern应用时,能够在屏幕上合理安排应用占...

  • Qt在指定区域内拖动窗口

    将窗口中的小窗口按住拖动,使其在该窗口中移动。 效果图如下: 鼠标左键按住上图中的彩色窗口,就可以在窗口的客户区中来回拖动窗口。 项目的文件结构如下: 创建基于QWidget的应用程序,main.cpp的程序没有做任何的改变,主要的实现的代码如下: dialog.h #ifndef DIALOG_H #define DIALOG_H #include &lt;QDialog&gt; QT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NA

  • modbus功能码定义和样例

    modbus完整支持很多功能码,但是实际在应用的时候常用的也就那么几个。具体如下: 0x01: 读线圈寄存器 0x02: 读离散输入寄存器 0x03: 读保持寄存器 0x04: 读输入寄存器 0x05: 写单个线圈寄存器 0x06: 写单个保持寄存器 0x0f: 写多个线圈寄存器 0x10: 写多个保持寄存器 如上所示一共8种功能码。这其中有涉及到线圈、离散输入、保持、输入四种寄存器。这名字也不...

  • MFC 对话框添加背景图片

    1.插入一个Bitmap的资源图片,假设资源名称为:IDC_BITMAP1 2.在CXXXDialog::OnPaint()中实现: void CMyDialogDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_IC...

  • float 和int转换是怎么做到的

    转载自:http://blog.sina.com.cn/s/blog_5c6f79380101bbrd.html 那么真正存在内存里的这个二进制数,转化回十进制,到底是比原先的十进制数大呢,还是小呢?答案是It depends。人计算十进制的时候,是四舍五入,计算机再计算二进制小数也挺简单,就是0舍1入。对于float,要截断成为23位,假如卡在24位上的是1,那么就会造成进位,这样的话,存起来的...

  • 创建客户区窗口,列表框之间项的拖拽操作

    我写了一个小类库,其中包含一个类,CDragDropMgr,用这个类可以在自己的应用程序窗口间添加拖拽行为。我还写了一个测试程序,DDTest,示范了如何使用 CDragDropMgr 类(参见 Figure 2)。Figure 3 是程序运行的画面。DDTest 有两个列表框和一个编辑框。你可以将第一个列表框中的项目拖拽到第二个列表框,或者编辑框。此外,你还能在第二个列表框里通过拖拽重排项目。D...

  • 在客户区拖动窗体

    当你设计一个应用程序时,或许你希望用户能够通过客户区来拖动窗体,比如:当窗体没有标题栏或创建的是不规则的窗体时,就只有通过客户区来拖动窗体了。 一个发生在我们身边很好的例子就是Microsoft Windows Media Player。Media Player有项功能是根据用户的爱好可以随意换掉外观(换肤),这个时候标题栏就隐藏了,但是你能够通过客户区来拖动窗体。 首先必须了解Windows...

  • 自学QT之实现窗口移动

    此时窗口的移动则需要重写鼠标的移动事件来解决。 这里需要定义两个,一个是鼠标按下,一个是鼠标移动。 void Title_Widget::mousePressEvent(QMouseEvent *event)//窗口移动事件 { if(event-&gt;button...

  • 如何在Windows 10上将窗口移动到另一个监视器

    If you run a multiple-monitor setup on your Windows 10 PC, it’s essential to know how to move windows between displays. With a few drags of the mouse or a simple keyboard shortcut, it’s easy to manage...

  • QT随意拖动窗体位置

    实现窗体拖动 如果我们不使用操作系统自带的标题栏,首先就应该将Windows标题栏去掉,这个功能只要一条语句就能够实现,那就是在构造函数中加入setWindowsFlags(Qt::FramelessHint),但是窗体就固定不动了,既不能拖动也不能拉伸,下面我就介绍一种方法来实现窗体的拖动。 1. 在类声明中添加两个私有变量: QPoint mousePoint; ...

  • 简单实现窗口拖动

    简单的实现窗口拖拽 在OnLButtonDown中加上一句话。如下:   void CTsDlg::OnLButtonDown(UINT nFlags, CPoint point)    {   SendMessage(WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x, point.y)); 或者 SendMessage( WM_NC

  • Qt------自定义标题栏(最小化、最大化、关闭、边框拉伸、拖动)

    Qt之界面(自定义标题栏、无边框、可移动、缩放)

  • 在窗口客户区拖动窗体 - VC6

    在窗口客户区拖动窗体 - VC61、原理把客户区的鼠标左键点击事件的消息,转换成:在标题栏(非客户区)上的左键点击事件的消息。  2、Code void CPrjShutDownPCDlg::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/o

  • 一个ModBus RTU程序(支持01、02、03、05、06、15、16功能码)

    有两点需要注意的:1、modbus rtu标准协议规定:每帧数据间隔至少为3.5个字符时间。 2、接收发送数据最好改为中断模式,不然通信速度不够。 #include "RS485.h" #include "CRC.h" /////////////////////////////////////////////////////////// u32 RS485_Baudrate=9600;//通

Global site tag (gtag.js) - Google Analytics