- 博客(34)
- 资源 (18)
- 收藏
- 关注
翻译 GEF Programmers' Guide 中文版(GEF 交互操作)
<br /><br />GEF中的交互类型<br />这一节我们将讲述GEF框架中包含的各种交互操作和每个交互操作相关联的组件。交互可以是任何影响模型或者UI界面状态的行为。许多交互是可视化的,也有一些不能图形化地显示。交互可能包含一下内容:<br />1. 菜单操作(通常在工具栏、菜单栏和弹出菜单中) <br />2. 点击<br />3. 点击并拖拽. <br />4. 将鼠标停留在某处<br />5. 鼠标拖放<br />6. 按键. <br />同时我
2010-07-08 10:48:00 3174
翻译 GEF Programmers' Guide 中文版(工具和绘图板)
工具(Tools)和绘图板( Palette)GEF的工具处理几乎可以所有的事件,在GEF中,EditDomain用来记录当前有效地工具。应用程序可能会选择使用绘图板(PaletteViewer)来显示多种工具,它允许用户在不用的工具集之间切换。工具如何工作工具的实现有点像状态机,SWT的事件(Event)驱动状态机工作。根据事件和当前状态,工具将执行特定的处理,这些处理包括:1. 请示EditPart是否显示反馈2. 从EditPart中得到命令3. 在命令栈(Command St
2010-07-07 18:19:00 1753
翻译 GEF Programmers' Guide 中文版(Editpart生命周期)
<br />生命周期<br />当我们提到生命周期,EditPart最典型的就是激活(activation)和停用(deactivation)操作,激活过程中它将添加模型属性监听器,而停用时它会移除监听器。但是我们仍然有必要了解一下EditPart完整的生命周期。<br />1) 创建<br />最先的总是创建过程,绝大多数的EditPart会在Viewer的EditPartFactory中被创建出来。在创建以后,将执行以下方法:<br />setModel() – 如果EditPart的构造方法没有将模型
2010-07-07 18:16:00 1268
翻译 GEF Programmers' Guide 中文版(编辑和策略)
<br /><br />编辑和策略<br />现在你已经知道如何进行图形化的显示,接下来就开始尝试图形编辑吧。图形编辑是EditPart提供的最复杂的功能,它不但要求对模型进行修改,同时需要与视图进行交互在界面上反馈修改的结果。GEF使用请求(Request)对交互的源进行抽象,工具和UI解释器创建请求并调用EditPart提供的API方法来完成交互。下面列出的是一些EditPart提供的API方法。<br /> <br />EditPart中使用请求(Request)的方法为:EditPart getTa
2010-07-07 18:11:00 1347
翻译 GEF Programmer‘s Guide 中文版(概述)
决定翻译一点东西了,感觉GEF官方自带的User Guide还是挺不错了,尝试着翻译一下,工作量还真不小。
2010-07-06 18:18:00 2276
原创 GEF回顾——shapes示例分析(Controller篇)
最后轮到GEF中最重要的Controller——控制器了。它们是model和view之间的桥梁。我们先从直观上来分析这种连接作用。1 Connection ConnectionEditPart PolylineConnection2 EllipticalShape ShapeEditPart Ellipse3 RectangularShape ShapeEditPart RectangleFigure4 ShapeDiagram DiagramEdit
2010-07-06 10:06:00 1513
原创 GEF回顾——shapes示例分析(View篇)
最后轮到GEF中最重要的Controller——控制器了。它们是model和view之间的桥梁。我们先从直观上来分析这种连接作用。1 Connection ConnectionEditPart PolylineConnection2 EllipticalShape ShapeEditPart Ellipse3 RectangularShape ShapeEditPart RectangleFigure4 ShapeDiagram DiagramEdit
2010-07-06 09:32:00 1964
原创 GEF回顾——shapes示例分析(Model篇)
接触GEF 已经一年多了,最近有点空,刚好整理一下。 其他的不说了,我主要用到的就是GEF和Draw2D,其他的EMF、GMF都还没有用过(看是看过),这些就不多言了。 先看一个GEF 官方自带的示例——org.eclipse.gef.examples.shapes,这应该是一个最基本的demo示例,但也还有几十个类和文件,GEF的入门的确有点麻烦。 项目的基本结构: 下面开始对源码的分析:1 org.eclipse.gef.exampl
2010-07-05 13:11:00 2061
原创 IFile 与 File 的转换(org.eclipse.core.resources.IFile)
<br />IPath path = new Path(temp.getFilePath());<br />IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("此处为项目名");<br />String relativePath = path.toString().substring(project.getLocation().toString().length() + 1);<br />IFile fi
2010-07-02 16:37:00 3393 1
原创 一种解析大型XML 的可选方案 —— betwixt
使用apche 的 betwixt,相关库为Ø commons-beanutils.jarØ commons-betwixt-1.0-beta-1.jarØ commons-collections-3.2.1.jarØ commons-configuration-1.6.jarØ commons-diges
2010-05-08 10:34:00 1263
原创 No schema found for … extension point 问题
很多时候在编辑plugin.xml 文件的Extension 时,IDE 总提示警告,内容为“No schema found for ‘org.eclipse.core.runtime.applications’ extension point”等,在对应的Extension 中右键内容为“Generic”,没有对应的子项的信息提示。 原因为对应的org.eclipse.core.runtim
2010-04-26 16:26:00 5085 1
原创 RCP Export 错误
在进行Export 操作时,经常会出现意外的错误,比如:Ø Exprot——Deployable plug-insand fragments 出现错误或警告提示,完全排除编译和项目错误。这种情况下最好打开导出目录下的log.zip,查看具体的提示。一般的意外导出错误都是由中文字符串引起的,比如在项目中使用了汉字字符串,但是没有进行使用.properties文件进行国际化
2010-04-26 16:18:00 1186
原创 RCP 项目运行时发生No Application Id found 等错误
错误示例:java.lang.RuntimeException: Application"rcp.demo.application" could not be found in the registry. Theapplications available are: org.eclipse.equinox.app.error. atorg.eclipse.eq
2010-04-26 16:17:00 1998 1
原创 自定义 RCP 编辑器和视图标题关闭操作
的关闭操作特指标题栏最右方的关闭按钮操作。一般来说编辑器的关闭事件都是自己默认的实现,比如继承了ISavePart2的编辑器在Dirty 属性为true 时点击这个按钮会出现确定信息框,这个是由ISavePart2 .promptToSaveOnClose()实现的,一般情况下重写这个函数即可。这种情况下编辑器标题上会出现一个“*”号代表当前编辑器有未保存的修改。 多讲
2010-04-26 16:14:00 1755
原创 修改 RCP 编辑器和视图标题菜单
编辑器和视图标题中有许多默认的菜单,这些菜单不是由IEditorPart或者 IViewPart控制的,而是通过AbstracPresentationFactory 来初始化和进行处理的。Eclipse 提供一个默认的实现——WorkbenchPresentationFactory,核心代码如下:public StackPresentationcreateEditorPresent
2010-04-26 16:12:00 1509
原创 Eclipse Rich Client Platform Application 教程(共享版 1.0)
最近一段时间学习RCP,搜集了一些前辈们的经验,整理了一下,做成这个入门级别的教程。 这本教程的最大特点为:代码很丰富,而且大部分可以直接COPY 执行,基于Eclipse 3.3 版本。 声明一下:本人仅为整理制作,素材基本来自互联网,版权归原著者所有,此教程为共享版,请勿用于商业用途。 PS:1.0版本为基础部分,以后还会陆续有更新,主要会加入一些自己开发中遇到的问题,理解等
2010-03-25 15:23:00 1276
原创 OBSERVER 模式
接下来是Observer 模式。Observer,观察者模式,这个模式在面向对象设计中使用的相当普遍,它遵循OCP、LSP、ISP等设计原则。下面使用一个日常生活中的示例来讲解一下观察者模式。Observer1:Firer(消防员)Subject:Building(大厦) 消防员来时刻关注大厦的情况,一旦出现火灾,必须马上响应——response()。但是消防员不能一天24
2010-03-11 19:26:00 761
原创 FACTORY 模式
在任何使用new 的地方使用Factory 模式,这将最大程度上降低具体类之间的依赖性。这是Factory 模式的设计初衷。A a = new A();使用Factory 模式以后A a = AFactory.createA();如何存在多种继承和关联关系,那么使用Factory 模式无疑比简单的new 更加合理。public abstract class Shape{
2010-03-11 19:25:00 556
原创 COMPOSITE 模式
Composite 模式是一个非常简单但具有深刻内涵的模式。它使一组对象表现得像单一一个对象。还是Shape 的例子。public interface Shape{ void draw();}public class CompositeShape implements Shape{ private List shapes = new LinkedList():
2010-03-11 19:25:00 682
原创 SINGLETON 模式和MONOSTATE 模式
Singleton 和 Monostate 都是用来实现单例模式的,但二者实现机制上有所不同。Singleton 模式使用私有构造函数,一个静态变量以及一个静态方法对实例化进行控制和限制;而Monostate 则是简单的把对象的所有变量都编程静态的。Monostate 模式实例:public class Monostate{ private static int x = 0;
2010-03-11 19:24:00 532
原创 NULL OBJECT 模式
Null Object 模式的使用比较特别,主要用来实现程序的稳定性和统一化。一下代码很常见:public void do(Object obj){ if(obj == null){ ....//code 1 }else{ ...//code 2 }}如果忘记了判断obj,则会出现无法预料的情况。但是,太多的null
2010-03-11 19:24:00 738
原创 FACADE 模式
Facade (正面)模式,用于为一组负责的功能接口,提供一个简单而且特定的接口。比如Java.sql 提供了许多操作数据库的接口,功能众多,现在有一个BookData 对象,需要与数据库进行交互,根据FACADE 模式,设计出一个DB 类,封装了BookData的数据库操作。这样,DB 类与java.sql 直接交互,对外提供了BookData 的操作接口。public class DB
2010-03-11 19:23:00 424
原创 MEDIATOR 模式
Mediator(调停人) 模式也是用来把某种策略施加到另一组对象上,不同与Facade 模式的是,它采用隐蔽的方式去施加策略。外部在感受到这个变化的同时,觉察不到实现上的修改。Mediator 对用户是隐藏的。比如实现文本输入高亮显示程序。Facade 模式实现:public class HighLightText extends JText{ ... //Code to
2010-03-11 19:23:00 582
原创 STRATEGY 模式
Strategy 模式实现与Template Method 模式类似的功能,实现通用算法与具体实现的分离。不同点在于,它使用另外一种方式解除了通用算法与具体实现的依赖性。再来看BubbleSorter 基类。将抽象方法提取出来,定义到一个SortHandler 接口中,在BubbleSorter 基类中调用接口的方法。接口:public interface SortHandler{ p
2010-03-11 19:22:00 574
原创 TEMPLATE METHOD 模式
Template Method 模式使用继承,来分离通用的算法和具体的上下文。简单的讲,我有一个冒泡排序的程序,用来对int 型数据排序,要想对double 类型的数据排序,可能又得重新编写一个排序程序。Template Method 模式则避免了这种冗余的做法,它将通用的算法过程抽象出来,形成抽象基类,然后不同的算法采用自己的继承子类实现。冒泡排序抽象基类:public abstract
2010-03-11 19:21:00 514
原创 COMMAND 模式
Command 模式大概是最简单的设计模式了,说其简单是因为它形式上看起来非常简单,该模式仅由一个具有唯一功能特性的方法组成。public inerface Command{ public void do();} Command 模式在事务操作上应用尤其广泛,例如数据库事务处理。假定现在要对数据库中的雇员信息表进行操作,可能涉及到增、删、改、查四种操作,这四种操作就
2010-03-11 19:20:00 638
原创 ConnectionLayer 与 PrimaryLayer
接触GEF也有半年多了 还有一些概念始终不大清楚 内置的RootEditPart中的ConnectionLayer 和 PrimaryLayer, 能不能调换个位置显示呢?
2009-11-26 19:33:00 674
原创 几个有用的blog (Wix相关)
1,Alex Shevchuk http://blogs.technet.com/alexshev/archive/2008/08/23/from-msi-to-wix-part-4-features-and-components.aspx 2,Bob Arnsonhttp://www.joyofsetup.com/author/admin/ 3,Windows Ins
2009-11-17 12:03:00 1521 4
原创 Wix 使用总结(续)--关于Feature和Component的状态判断安装过程
安装过程中,有时候需要根据用户的设置来进行不同的安装,其中一个方面就是根据用户选择安装的Feature或者Component,来判断下一步的操作。 Wix中提供了相关的判断方法和内置的状态值。 Prepending some special characters to the names will give them extra meaning: % environmen
2009-11-17 12:01:00 2228
原创 Wix使用整理(四)
1) 安装时用户权限的判断使用MSI程序进行安装时,一般要进行用户权限的判断,可以使用内置的属性Privileged进行判断,也可以通过设置Package的相关属性进行判断。Privileged属性 Privileged 当用户不具备管理员权限时,安装停止并给出提示消息。使用Package属性设置,一般来说有2中安装方式,面向用户和面向机器
2009-11-02 16:51:00 2604
原创 Wix使用整理(三)
1) 安装卸载时进行日志记录Wix制作的Installer的调试很麻烦,没有直接的Bug工具,可以通过记录安装日志的方式进行间接调试。命令为msiexec /i package.msi /l log.txt详细参考:msiexec /Option [Optional Parameter]安装选项 安装或配置产品
2009-11-02 16:49:00 3149
原创 Wix使用整理(二)
1) Language与Codepage的设Language指所在地区使用的语言,为数字编号。Codepage指所在地区的代码页,用来进行区域区分。下来列举几个常见的区域代号:语言 语言-国家 Language CodepageEnglish
2009-11-02 16:47:00 3643 1
中国Eclipse社区开发资料整理二
2012-05-13
中国Eclipse社区开发资料整理一
2012-05-13
Eclipse RCP Plug-in开发自学教程 源码
2011-02-17
Eclipse RCP Plug-in开发自学教程(Eclipse3.6)
2011-02-17
SWT Designer_v7.6.0_for_Eclipse3.5(part 1)
2010-09-02
Addison Wesley Eclipse Rich Client Platform Oct 2005
2010-07-13
Addison Wesley Eclipse Rich Client Platform 2nd Edition May 2010
2010-07-13
微软创建NT和未来的夺命狂奔:观止
2009-08-31
GEF进阶 IBM社区文档整理
2009-08-25
Eclipse RCP 自学教程
2009-05-21
eclipse rcp 程序设计 一个前辈自己写的书 还不错
2009-05-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人