07 2011 档案

摘要:E4中可以使用简单的POJO类替代3.x的ViewPart子类作为视图对象,这样的话就不能使用org.eclipse.ui.views扩展点指定视图类了。 其实我个人觉得E4的Model Fragments更灵活,我们将做一个简单例子试用一下。 测试场景: 一个主E4工程,比如"vwpolo.demo.client”(包含Application.e4xmi、MainView视图) 一个附属插... 阅读全文
posted @ 2011-07-22 15:21 vwpolo 阅读(1870) 评论(1) 推荐(1)
摘要:依赖注入 Annotation @ProcessAdditions void initSelection(MApplication application, IEclipseContext context) { @ProcessAdditions:Use this annotation to describe methods that will participate in the applica... 阅读全文
posted @ 2011-07-21 21:33 vwpolo 阅读(741) 评论(0) 推荐(0)
摘要:一、概述 Eclipse 平台的初衷是构建一个可扩展的IDE组件框架,但它现在已经发展成为一个构建可扩展的任何软件的通用平台。目前,Eclipse应用出现在了各种部署环境中,比如Web服务器、Web浏览器、嵌入式客户端,以及传统的富桌面应用。 E4平台的设计是为了简化软件组件以及基于组件的应用的开发,以满足当前不断变化的计算场景的需求。本文主要介绍e4的架构和编程模型。 二、什么是E4 E... 阅读全文
posted @ 2011-07-19 22:06 vwpolo 阅读(1226) 评论(0) 推荐(0)
摘要:什么是PMF PMF是一个用户界面建模的元模型框架,属于Eclipse Modeling项目的子项目。PMF旨在使用模型驱动的方式简化用户界面开发。 UI 模型驱动架构 简化UI开发 更高的开发效率 明确的分工,让界面开发与业务逻辑开发分离。 可以集成到其他Eclipse建模工具进行UI开发。 开发步骤 1.功能设计 2.技术实现 3.布局 为什么使用PMF UI开发工作... 阅读全文
posted @ 2011-07-15 22:22 vwpolo 阅读(374) 评论(0) 推荐(0)
摘要:EventBroker是E4平台力推的事件处理机制实现,到底这东西有什么好的,我们来看一个例子就知道了 1、创建一个E4工程。 2、假设我们需要在E4平台启动后执行一些任务,那么增加StartupLifeCycleHandler类,可以参考StartupLIfeCycleHandler的使用 3、在StartupLifeCycleHandler定义事件处理机制: package e4d... 阅读全文
posted @ 2011-07-15 18:27 vwpolo 阅读(1444) 评论(1) 推荐(0)
摘要:E4有个非常不错的功能,那就是依赖注入,这可以很方便的获取需要的对象,下面我们以简单的例子了解一下注入自己的对象。 1、首先创建一个E4工程 2、编写需要注入服务对象,比如 /** * 。 * * @author 刘尧兴 * @version at 2011-7-15 */public class TestInjectObject { String name = TestInjectObje... 阅读全文
posted @ 2011-07-15 16:58 vwpolo 阅读(771) 评论(0) 推荐(0)
摘要:常见错误 1、Caused by: java.lang.NullPointerException at org.eclipse.e4.ui.internal.workbench.E4Workbench.processHierarchy(E4Workbench.java:xxxx) 解决方法: 在Application.e4xmi文件中添加: <addons xmi:id="_XGB3wPZ... 阅读全文
posted @ 2011-07-15 14:37 vwpolo 阅读(3059) 评论(0) 推荐(1)
摘要:组件应该可以侦听到任何它感兴趣的事件,它应该可以很容易的发布/订阅事件,同时应当保持代码的良好可读性,方便开发扩展。 Eclipse 3.x API 在Eclipse 3.x中,提供了大量的事件。比如透视图事件存在四个并行事件:IPerspectiveListener、IPerspectiveListener2、IPerspectiveListener3和IPerspectiveListen... 阅读全文
posted @ 2011-07-15 14:22 vwpolo 阅读(640) 评论(0) 推荐(0)
摘要:当模型发生变化(比如只是更改标签组件的Text属性)时,会将事件给通知注册的事件处理器。在E4中使用了全局的事件模式,处理订阅的事件。 订阅模型修改事件 通过UIEvents类生成订阅事件的主题, // subscribe to all events generated from MUILabelseventBroker.subscribe(UIEvents.buildTopic(UIEve... 阅读全文
posted @ 2011-07-15 13:33 vwpolo 阅读(435) 评论(0) 推荐(0)
摘要:目前2.0版本居然没有提供Tree、List和Combo支持,仅支持Table。 深表遗憾 阅读全文
posted @ 2011-07-15 10:16 vwpolo 阅读(177) 评论(0) 推荐(0)
摘要:声明UI的三种方式 1、图形化建模工具 使用图形化建模编辑器,可以让美工参与GUI的设计开发工作。 通过定义好UI模型,指定一个渲染引擎来渲染模型,创建成目标用户界面技术 2、直接编码 Wazaabi 提供了API允许开发人员直接创建UI界面,下面是一个Java例子, // create a composite and set its layoutComposite composite = ... 阅读全文
posted @ 2011-07-15 00:11 vwpolo 阅读(578) 评论(0) 推荐(0)
摘要:新一代用户界面 Wazaabi提供了一个用于描述SWT、Swing和JSF的完整UI模型,也可以被应用到其他UI框架 声明式UI,可以将界面分工,让设计师完成UI设计工作。 模型驱动UI,提供了各种UI模型概念。 不从模型生成UI代码,而是通过UI的渲染引擎生成目标用户界面。 wazaabi框架 wazaabi框架由四个主要部分组成:用户界面模型、编辑器、建模工具和引擎。 通过EMF生... 阅读全文
posted @ 2011-07-14 23:53 vwpolo 阅读(363) 评论(0) 推荐(0)
摘要:TM 全称是Toolkit Model,是用于描述SWT、Swing等UI组件的EMF模型。包括Composite、TabFolder、Text、Layout等概念,可以用于定义用户界面的结构和内容。TM的一个实例代表特定的UI组件,比如像窗口和表单,但它本身并不是可运行的UI组件。不过我们可以将TM的实例绑定到具体的UI框架,这样就可以创建可运行的用户界面了,并且保持TM的实例和具体的UI组件... 阅读全文
posted @ 2011-07-14 23:28 vwpolo 阅读(670) 评论(0) 推荐(0)
摘要:本文是从 What I Wish Someone Had Told Me 4 Years Ago 这篇文章翻译而来。 就在2007年,我毅然离开了微软,加入了创业者的队伍。像很多第一次创业的人一样,我对这种冒险非常的兴奋。同样也跟很多第一次创业的人一样,我茫然没有头绪。 我参加各种活动,聚会,研讨会,和西雅图本地的创业社区密切交往。当我到了硅谷后,我发现这里有更多的活动,聚会,更多的研讨会。在... 阅读全文
posted @ 2011-07-14 21:19 vwpolo 阅读(242) 评论(0) 推荐(0)
摘要:模型 E4的工作区采用Eclipse EMF进行模型化,该模型包含了工作区的图形元素,比如UI部件(视图、编辑器和菜单栏)和非UI的命令框架(handler,command和keybindings),你可以在工作区运行时访问并更改它。 Eclipse 3.x没有工作区模型的概念,它的UI元素是通过扩展点定义的并存储,在运行时登记创建,这不会描述UI元素之间的关系。 E4的工作区比Eclip... 阅读全文
posted @ 2011-07-14 17:13 vwpolo 阅读(738) 评论(0) 推荐(0)
摘要:今天不小心将几篇Blog删除了,cnblogs做的太不好了,难道就不能提供一个回收站吗,退出时再彻底删除不是很好嘛? 害得我连忙Google,试图从网页快照中恢复,结果发现信息不是最新的, 突然想起Liver Writer可能会保持本地草稿, 使用打开命令果然发现了备份: 然后选择文章进行回复 它会先从网上下载最新的文章,如果找不到,再加载本地草稿 谢天谢地,文章恢复了,虽然发表时间次序乱了 感... 阅读全文
posted @ 2011-07-14 15:16 vwpolo 阅读(230) 评论(0) 推荐(0)
摘要:在我的上一篇文章中介绍了XWT的Hello World入门例子,接下来我们将了解一下XWT的事件处理。 先写个简单例子<Shell xmlns="http://www.eclipse.org/xwt/presentation" xmlns:x="http://www.eclipse.org/xwt" x:Class="ui.EventHandler"> <Shell.layout> <GridL... 阅读全文
posted @ 2011-07-14 15:06 vwpolo 阅读(1348) 评论(0) 推荐(0)
摘要:什么是数据绑定? 数据绑定是在应用程序UI与业务逻辑之间建立连接的过程,当设置好绑定关系并提供正确通知方式后,数据值修改时,绑定到数据的元素会自动反应更改。 数据绑定实质上是目标与绑定源之间的桥梁,通常每个绑定都有四个组件:目标对象、目标属性、绑定源和绑定源的值的路径。比如要将Text的内容绑定到Person对象的name属性,目标对象就是Text组件、目标属性是text、绑定源的值是nam... 阅读全文
posted @ 2011-07-14 15:05 vwpolo 阅读(724) 评论(0) 推荐(0)
摘要:所谓的动态UI就是指应用程序在运行时,通过程序动态生成UI,一般动态UI的应用场景如下 高度可配置的应用程序 门户整合的应用 定制和个性化 . . . . . . 同时,还应具有对输入的数据进行动态验证的功能。 动态创建UI比在运行时实例化一个组件要复杂,这会受可视化设计工具的限制,而现实中的需求往往需要从数据库、XML或者用户偏好等数据源创建对应的用户界面。 动态创建用户界面可能... 阅读全文
posted @ 2011-07-14 15:00 vwpolo 阅读(9667) 评论(0) 推荐(0)
摘要:XWT内置了Trident作为动画引擎。 Trident 是一个由 Substance look-and-feel 编写的在应用中驱动动画的动画层的新一代解决方案。底层的动画引擎已经开发和生产应用超过两年了,但是UI API非常难以使用。Trident 的主要目标是保留原项目的强大的功能,性能和现存动画引擎的表现力,同时提供一套简单的API用于使用。 Trident实现原理很像Flash,提供... 阅读全文
posted @ 2011-07-14 14:56 vwpolo 阅读(691) 评论(0) 推荐(0)
摘要:其实XWT是和Eclipse 4.x并排的一种技术。也就是说:Eclipse 4.x 和XWT 之间没有相互依赖关系。 E4不会限定在某个UI框架上,所以你可以使用Java、XWT或者JavaScript等技术做表现层。 阅读全文
posted @ 2011-07-13 09:47 vwpolo 阅读(859) 评论(0) 推荐(0)
摘要:在Eclipse 3.x平台中,如果你需要在程序的插件加载后执行一些任务,比如弹出用户登录对话框,你可以在对应的Application.java的start方法中添加。但在E4中,简化了Application等相关类,而是使用了org.eclipse.e4.ui.workbench.swt插件中的E4Application负责工作区模型的创建和GUI的启动,你没法简单修改了,不过我们可以使用LifeCycleHandler Hook E4应用程序启动,你只需要在plugin.xml添加“lifeCycleURI”属性就行。 阅读全文
posted @ 2011-07-13 00:28 vwpolo 阅读(1817) 评论(0) 推荐(0)
摘要:在这篇文章中我们将会熟悉怎样将E4的依赖注入编程模型引入到普通的3.x平台中,我们将开发一个语言翻译的应用。 阅读全文
posted @ 2011-07-12 18:40 vwpolo 阅读(1613) 评论(0) 推荐(0)
摘要:有了E4,为什么不需要E5了 阅读全文
posted @ 2011-07-12 16:10 vwpolo 阅读(556) 评论(0) 推荐(0)