2007-02-28

[zt]方便管理plugin或rcp的icons

关键字: Eclipse Plugin icons
From:http://blog.csdn.net/moneyice/archive/2006/04/25/677423.aspx 每个UI程序都离不开图片,一般的Eclipse插件,在一个类中定义了若干静态常量,每一个常量指定一个icon的名字,在程序中用到图片的时候,通过这个常量计算得到图片。Eclipse的插件一般规模较大,图片很多,而且分不同的像素,彩色,灰白等。这样有利于统一的管理和开发人员的沟通。        但并不是每个plugin或者rcp都要用到这么多图片,如果只有很少的图片的话,可以用图片的名字作为key,来 ...
2007-02-28

[zt]Master/Details 模式在Eclipse Forms中的应用

关键字: Eclipse Forms Master Details
From:http://www.eclipseworld.org/bbs/read.php?tid=1296  Master/Details是UI设计中常见的一种模式。他有一组(列表或成树状结构)的master和一个被选中 master驱动的details集组成。     master是一些不同的对象,通过对master的选择,驱动details的UI发生变化。在下面的图中,有3各不同的master,分别对应3种不同的UI: 描述:1 初始状态:只有master的树状列表 图片: 描述:2 选中一个master,是一个对象 图片: ...
2007-02-21

[zt]上海观光路线推荐

关键字: 上海 观光
FROM:http://www.51766.com/articles/8459/ 经常有外地朋友问我上海有什么好玩,说实话,上海真没什么好玩的,和壮丽的大山大河、秀美的湖泊丛林比起来、到上海来玩真不能叫做旅游,如果一定要慕着上海的虚名来观光一下,我就随便推荐一下吧: 一、 景点 1. 人民广场(1/2号线人民广场站,博物馆、规划馆、大剧院) 2. 南京东路(2号线河南中路/人民广场站,步行街,购物、观光) 3. 外滩(2号线河南中路站,观光、浦江游览,观光隧道不坐也罢) 4. 陆家嘴(2号线陆家嘴站,滨江大道、东方明珠、金茂大厦、世纪大道、绿地、海洋馆、昆虫馆) ...
2007-02-14

[zt]第2章 图形元素(Figure)类设计层次

关键字: Draw2D LightweightSystem Figure
FROM:http://blog.csdn.net/javamxj/archive/2005/04/29/368432.aspx     Draw2d是一个轻量级widget系统,定义了类似控件的一些图形元素,也定义了一些形状。图形元素能够相应各种事件,可以直接在事件处理函数中处理这些事件并对模型进行修改。     如果不需要对编辑图形元素执行编辑过程,只需要应用draw2d就可以完成显示目的。使用draw2d开发图形显示应用程序一般需要三个步骤:   1.  创建一个画布控件。画布控件是一个容器控件,充当一 ...
2007-02-14

[zt]1. Draw2d 设计思想

关键字: Draw2D Figure LightweightSystem Canvas
FROM:http://blog.csdn.net/javamxj/archive/2005/04/20/356232.aspx Draw2d是一个宿主在SWT Composite控件中的轻量级的构件(widge)系统。一个Draw2d应用程序由一个 SWT Composite控件, 一个轻量级系统, 以及其内容(figures)组成。Figures是Draw2d的建造块。下面的“Hello World”例子程序演示了如何实现一个最简单的draw2d程序。 Listing for "Hello World" java 代码 ...
2007-02-14

[zt]工具栏(Action Bar)

关键字: GEF Action
FROM:http://www.blog.edu.cn/user1/19180/archives/2006/1406358.shtml 对于图形界面工具来说,工具栏是必不可少的支持。对于Eclipse插件而言,工具栏可以分为两种:主工具栏(全局)和视图工具栏。从实现的角度上,二者没有什么太大区别,只是在初始化的时候略有不同。   工具条上的每一个按钮实际上是一个Action,每个Action负责执行一些功能。Action分为普通的Action和RetargetAction两种,我们看到的工具栏上的按钮其实都是RetargetAction,他们负责提供按钮的图标、说明等等,而真正 ...
2007-02-14

[zt]第四章 GEF框架(3)

关键字: GEF Request
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/1025573.shtml 4.4   请求说明     处于MVC核心地位的EditPart,负责控制模型和视图,以及接受用户的请求。请求(Request)构成了用户一种用户接口(UI),系统将各种操作(鼠标、键盘)封装成不同的Request传递给EditPart进行处理。     另一个和请求有关的概念是EditPolicy,这可以看成是一种代理,它可以分担EditPart处理请求的责任,增加软件的 ...
2007-02-14

[zt]第四章 GEF框架(2)

关键字: GEF Command EditPolicy Request
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/375050.shtml 4.2 创建一个元素     下面讨论一下如何创建一个元素,因为如果不能创建新元素,我们就没法测试其他的功能。     首先讨论系统如何知道何时创建新的元素以及如何创建这个元素。在初始化主界面类的时候,我们设置了一个Palette,我们就利用Palette提供的功能告知系统何时及如何创建元素。设置Palette的时候,我们使用了CreationToolEntry,当用户点击这个ToolEntry的 ...
2007-02-14

[zt]第四章 GEF框架(1)

关键字: GEF MVC
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/375044.shtml 4.1 概述     GEF是一套建立在Draw2D基础之上的eclipse插件,它为Draw2D提供控制功能,它监听各种事件,如鼠标、键盘、Workbench的事件,并进行响应。GEF是一套框架,它提供一套完整的图形用户接口系统的基本处理方式,但是具体的功能需要我们实现,这一点和MFC的窗口系统不同。     GEF使用MVC模式,它成功的将模型、视图、控制器三个部分剥离。模型是由用户编写的任何 ...
2007-02-14

[zt]第三章 Draw2D简介

关键字: GEF Draw2D
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/375038.shtml 3.1 概述 Draw2D是一个轻量级图形组件工具包,这些组件称为Figure。所谓轻量级系统,就是说Draw2D的组件与操作系统中的图形系统没有对应关系,Draw2D对象不过是一个普通的Java对象。Figure可以通过一种父子关系组合起来。每一个Figure都有一个边界(Bounds),它的子女必须都在这个边界中,而布局管理器用来管理子女的位置。一般来说,子女的位置会根据边界而变化,但是对于线状图元,它的边界会根据子女的位置和自己的形状发生变化。 &n ...
2007-02-14

[zt]第二章 主类和主界面类的实现(2)

关键字: GEF Palette Outline EditPartFactory
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/372857.shtml 3 Palette的设置     如果你的主界面的继承自GraphicalEditorWithPalette抽象类,那么在初始化主界面的时候,我们必须实现接口getPaletteRoot函数,向系统返回Palette的根。     之前曾经说过,Palette是一个树形结构,在这个结构中有四种主要的节点类型:PaletteRoot、PaletteGroup、PaletteDrawer、ToolEn ...
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/372845.shtml 1 插件主类     所谓的插件主类,就等同于一般Java程序中的main函数。它实现了如何启动、停止插件等动作。这个类实际上就是一个实现了org.eclipse.ui.plugin.AbstractUIPlugin的类,这个类的代码比较简单,利用向导生成的默认代码就可以了。如果你删除了默认的文件,下面的示例可以帮助你编写新的类: java 代码 package pku.oo.notationB ...
FROM:http://www.blog.edu.cn/user1/19180/archives/2005/372830.shtml 1.1 向导     创建一个Plug-In Development->Plug-In Project,中间选择一路next直到选择模板的时候什么也不选择,直接按Finish。此时创建了一空的插件项目。     之后删除META-INF目录,然后在项目文件夹下新建plugin.xml文件,在文件中输入: xml 代码 <?xml versio ...
2007-02-13

[zt]使用GEF实现几何图形编辑器

关键字: GEF 几何图形编辑器
FROM:http://www.eclipse.org/articles/Article-GEF-diagram-editor/shape_cn.html 概要 图形编辑框架(Graphical Editing Framework - GEF)为创建用于可视化编辑任意模型的编辑器提供了强大的基础。它的功能依赖于模块化的结构,合理选用的设计模式,和相对独立的组件,这些组件构成了一个完整的编辑器。对于一个新手来说,GEF中所涉及的大量概念和技术可能是令人难以承受的。然而,一旦这些技术被掌握并正确使用,它们就可以帮助开发出具有高扩展性和维护性的软件。本文将对GEF作相对全面的介绍。文中将描述一 ...
2007-02-13

[zt]使用GEF创建数据库模型编辑器

关键字: GEF 数据库模型
FROM:http://www.rcp.org.cn/bbs_topic.do?forumID=7&postID=164 原文:http://www.eclipse.org/articles/Article-GEF-editor/gef-schema-editor.html 用过Eclipse相关产品的人经常会看到一些涉及到图形应用的插件,比如Struts、UML、DatabaseDesign相关的插件;或者企业中自己要定制自己的图形化的工作流编辑器,组织结构图等。这些都涉及到图形编辑,以前我们大多用Win32 API或JFC/Java2D技术自己做框架来实现这些功能,复杂且工作量 ...
2007-02-13

[zt]15 分钟学会 Eclipse GMF

关键字: GMF
FROM:http://www.ibm.com/developerworks/cn/opensource/os-ecl-gmf/index.html Chris Aniszczyk (zx@us.ibm.com), 软件工程师, IBM 2006 年 11 月 27 日 本文介绍了 Graphical Modeling Framework(GMF)项目,说明了如何开发一个简单的 Eclipse Modeling Framework(EMF)模型,并使用 GMF 的工具将其转换成典型的图形化编辑器。 背景  坦白说:过去在 Eclipse 里使用 Graphical Edit ...
2007-02-13

[zt]GEF 进阶,第三部分: Layer

关键字: GEF Layer
FROM:http://www.ibm.com/developerworks/cn/opensource/os-ecl-gef/part3/index.html 马 若劼 (maruojie@cn.ibm.com), 软件工程师 2006 年 11 月 30 日 在GEF中,画板是由多个Layer(层)组成的,层也可以看作是对图形进行的一种分类管理,它使图形更加明确,层次清晰。程序结构上也更容易理解和维护。层同样也是可以定制的,本文演示如何实现并插入一个自定义层,并指出了插入自定义层所应该注意的一些问题。 Layer (层) GEF的图形是可能分布在多个层上面的,比如连线是放 ...
2007-02-13

[zt]GEF 进阶,第二部分: Router

关键字: GEF Router
FROM:http://www.ibm.com/developerworks/cn/opensource/os-ecl-gef/part2/index.html 2006 年 11 月 30 日 Router(连线路由器)是对连线进行布局的重要组件,本文介绍了路由器的基本概念和应用场景,剖析了一个连线路由器的接口并给出了一个简单实例。最后演示了如何把自定义的路由器应用到图形中,使得不同的连线可以有不同的路由器。 ConnectionRouter(连线路由器) 图形之间连线的路线,是由连线路由器来决定的。在Shapes Examples中,使用了最短路径路由器,这个路由器会帮我们绕开 ...
2007-02-13

[zt]GEF 进阶,第一部分: Anchor

关键字: GEF Anchor
FROM:http://www.ibm.com/developerworks/cn/opensource/os-ecl-gef/part1/index.html 2006 年 11 月 30 日 GEF(Graphical Editing Framework)是Eclipse Tools的子项目,它在底层使用Draw2D作为布局和渲染引擎,在整体上使用MVC模式管理模型和视图。利用GEF,开发者可以从应用模型开始,迅速的构造一个可视化编辑环境。正如其名字所说,它只是一个框架,很多具体的事情仍然要靠开发者完成,但这也是GEF灵活的一方面,只要你掌握了相关的概念,你就可以对一个GEF应用进行充 ...
FROM:http://www-128.ibm.com/developerworks/cn/linux/opensource/os-gef/ 2003 年 10 月 10 日 本文描述了使用图形编辑框架(Graphical Editing Framework,GEF)创建一个基于 Eclipse 的应用程序所涉及的初始步骤。GEF 被用来构建各种用于 Eclipse 的应用程序,包括状态图、活动图、类图、用于 AWT、Swing 和 SWT 的 GUI 构建器以及过程流编辑器。Eclipse 和 GEF 都是开放源码技术。二者也都包含在 IBM 的 WebSphere Studio ...
2007-02-10

Command Framework如何实现EMF Model的编辑

关键字: EMF Command AdapterFactory AdapterFactoryItemProvider
源于《EMF.Edit Framework Programmgering's Guide》 EMF.Edit里面有几个类比较绕,很容易被搞得晕头转向,所以需要澄清以下: ★AdapterFactoryContentProvider, ItemProviderAdapterFactory和ItemProviderAdapter之间的关系,ItemProviderAdapterFactory用来创建各种Adapter以及将各种notifier跟这些adapter关联起来,AdapterFactoryContentProvider包装了一个ItemProviderAdapterFactory ...
...
...
...
FROM:http://www.devx.com/Java/Article/29093/0/page/1 he Eclipse Modeling Framework (EMF) is a Java open source framework and code-generation facility for building tools and other applications based on a structured model. While the Eclipse Platform provides a powerful integration framework at the UI ...
FROM:http://www.ibm.com/developerworks/cn/linux/opensource/os-ecemf1/ 2004 年 4 月 01 日 Eclipse Modeling Framework(EMF)是一个开放源代码的模型驱动应用程序开发框架。它可以基于 XML Schema、UML 或经过注释的 Java 中指定的模型,创建 Java 代码,实现图形化的数据编辑、操纵、读取和序列化。EMF 是 IBM WebSphere Studio 和 Eclipse 项目中很多工具的基础。本文将帮助您逐步了解创建模型、生成代码、使用生成的应用程序和定制编辑器的整个过 ...
2007-02-08

Eclipse 开发网址收集

关键字: 网址收集
IBM Eclipse 项目资源中心 http://www-128.ibm.com/developerworks/cn/opensource/top-projects/eclipse.html 主要是GEF方面的 http://www.eclipsezone.com/eclipse/forums/f18130.html GEF 资源 1. http://help.eclipse.org/help31/index.jsp  Eclipse 的在线帮助 2. GEF Description:http://eclipsewiki.editme.com/GefDes ...
2007-02-08

[zt]Item Provider之二 Property Source

关键字: emf PropertySource
FROM:http://www.rcp.org.cn/bbs_topic.do?forumID=8&postID=7 这部分是Eclipse实现的比较复杂费解的一部分,我们知道, Eclipse通过property sheet来显示某个对象的现实的时候通常涉及以下几个类: IPropertySource: 代表其属性要被显示的类,它会提供一个IPropertyDescripter列表,描述它有哪些属性要被显示。比如我们的“主机”。 IPropertyDescripter: 它描述了IProertySource每个属性的具体信息,例如类型和显示在proper ...
2007-02-08

[zt]Item Providers系列之一 Content and Label Provider

关键字: emf item content label provider
FROM:http://www.rcp.org.cn/bbs_topic.do?forumID=8&postID=6 Item providers是EMF.Edit工程里最重要的一部分,事实上该工程里除了plugin.java外就只有Item providers和Item provider factory。Item provider决定了不同类型的对象如何被显示以及他们如何响应用户的操作。我们将首先弄明白生成的代码如何做到的然后我们将探讨如何改变生成代码以满足我们的需要。 缺省情况下,core model里的每一个class都将会生成一个Item provider。Item pro ...
FROM:http://www.rcp.org.cn/bbs_topic.do?forumID=8&postID=163       EMF(Eclipse Modeling Framework)是一个模型架构和代码生成工具,它可以用来建构以结构化数据为基础的工具或者应用。作为MDA和Eclipse的结合体,它发展迅速,IBM的大部分工具产品如RSA等都将建立在它的基础之上。         我们将构建一个简单的手机库管工具,它只维护种类信息 ...