from:http://www.blogjava.net/hopeshared/archive/2006/07/25/59983.html 使用TreeViewer贡献视图(根据《Eclipse入门到精通》中的例子进行的改编) 作者:李红霞 2005-8-13 本文章允许转载,但请要求注明文章作者及出处 一 创建插件项目 创建一个插件项目example.my.treeview,这个例子将向eclipse贡献一个视图,这个视图采用树(Treeviewer)来实现。 下图是本例的文件清单 二 准备数据模型 首先我们准备数据模型,这些数据模型都保存在exa ...
2007-03-25

[zt]Eclipse插件开发两点小结

关键字: Extension Extension-Point
FROM:http://bbs.buaa.edu.cn/pc/pccon.php?id=35&tid=0&nid=749&s=all   这两天看了一下Eclipse的插件开发,参考的书就是那本著名的Contributing to Eclipse。 把两点体会记录如下: 1、Extension和Extension-point Extension和Extension-point是相互关联的,由Extension-point定义插件具备的扩展点并且定义了如何使用这些扩展点(由Schema中定义),而Extension则是根据扩展点中定义的Schema来 ...
2007-03-25

[zt]自己动手编写Eclipse扩展点

关键字: extension-point
FROM:http://wjj-tt.spaces.live.com/blog/ 扩展(Extension)是Eclipse中一个关键的机制,plug-in利用扩展向Eclipse平台添加新功能。但是扩展不能随意地创建,必须按照扩展点(extension point)定义的规范进行明确的声明,Eclipse才能认出这些扩展。我们不仅可以使用Eclipse提供的众多现成的扩展点,而且还可以定义新的扩展点,并在该扩展点上进行扩展。   当然,扩展点的定义比较复杂。不过Eclipse为用户提供了图形化的编辑界面,我们只要输入一些信息,Eclipse就会自动生成代码,使扩展点的定义变得非 ...
2007-03-22

2007-03-18金山归来

关键字: 金山 骑行
集体照       骑行队伍   金山石化 在路上 飞驰中的GAINT 在路上 前进中 金山海滩 午餐、酸菜鱼 金山·海滨公园  
2007-03-22

Eclipse Plugin依赖设置问题

关键字: Eclipse Plugin 依赖
·如何设置两个plugin工程之间的依赖关系,必须在被依赖方project的mainfest里面的exprot package设置要给依赖方可用的package,在依赖方的dependency里面要设置被依赖的project名 ·两个plugin工程,a依赖b,a在运行时候需要使用jar包中的c类,编译的时候没有,运行时在遇到c的地方报ClassNotFoundException异常,这个可能的原因就是在b工程的manifest文件的runtime->classpath没有把依赖的所有jar包加进来。 ·我有两个工程a,b,b依赖a,同时a和 ...
2007-03-17

EMF的存储设置

关键字: EMF 存储
一般我们在对EMF模型内容进行输出,这里需要进行一些定制,下面是我在项目中做的一些定制,第一个是要将EMF Model输出的xml中去掉一些名称空间的信息,第二个就是希望把某些信息由Attribute类型转换成Content类型,在得到的content类型的内容默认情况下会对<, >, &等字符进行转换,这个也可以进行控制。借鉴EMF开发指南的做法,其实很简单,这里要注意save和load使用的控制选项设置必须一致。 具体做法如下, 因为保存和加载xml是在XMLResourceImpl里面进行的,所以我们需要从该类继承,overriding 相应的load和save方 ...
2007-03-16

最近的plugin开发总结

关键字: Plugin EMF JFace
·在采用Dynamic EMF方式生成EMF model的时候,使用EFactory创建的EClass一定要加到EPackage中去,否则在创建EObject的时候会出错 ·在使用JFace Text Editor的时候,必须加入org.eclipse.ui.workbench.texteditor依赖,否则会报StatusTextEditor找不到的异常 ·对于需要添加SelectionListener来说,一般都是从SelectionAdapter来继承创建自己的Listener,而不是从ISelectionListener实现 &m ...
2007-03-16

如何在JFace Text Editor中对非文件内容进行编辑

关键字: JFace Text Editor 非文件
最近开发中碰到要在EMF中对某个模型的内容放到JFace Text Editor中去编辑,于是把Text Editor研究了一番,发现其默认的实现是基于文件的,而我希望对一段字符串进行编辑,看了半天代码没有找到突破口,曾经想过使用临时文件来处理这个问题,好在eclipse.org上找到一篇文章解决了我们的问题,其做法就是使用IStorageEditerInput 来作为Text Editor的输入。原文如下: FROM:http://wiki.eclipse.org/index.php/FAQ_How_do_I_open_an_editor_on_something_that_is_not_ ...
2007-03-16

[zt]从插件/RCP中取得文件路径的方法

关键字: 插件 文件路径
FROM:http://www.blogjava.net/hopeshared/archive/2005/12/20/24798.aspx 最近社区里问这个问题的人特别多,所以在这里将自己用到的几个方法写出来。假如以后还有其他的方法,会进行更新。 从插件中获得绝对路径:        java 代码 AaaaPlugin.getDefault().getStateLocation().makeAbsolute().toFile().getAbsolutePath()); &nb ...
2007-03-07

EMF Menu(Action, Command)使用注意事项

关键字: EMF Action Command
当我们的menu item需要根据当前选择不同对象发生动态变化就要注意了,EMF Editor的做法在添加完成之后,将焦点设置到新增的节点上,这样做看似无心,其实是有一定原因的,至少我认为是这样,如果我们增加了一个节点(不管是子节点还是兄弟节点),然后焦点还停留在当前节点上,那么当再增加一个与前一个类型一样的节点时就会失败,其原因在于没有变换焦点,command还是使用前面取得的child作为要添加的节点,而这个节点已经在前面的操作中被作为子节点(或者兄弟节点)添加了,但是如果焦点在新增之后被变换情况就不同了,当需要再添加一个节点的时候,我们必须让焦点回到前面的节点上,这时selection ...
2007-03-07

eclipse forms的master/details 结构分析

关键字: eclipse forms master/details
如果使用了多页编辑器的话,就需要用到FormPage和FormEditor这两个东东,用来显示主要内容结构的是位于左边的MasterBlock(基类的名字是MasterDetailsBlock),而选中内容结构上的每一个节点则会更新位于DetailsBlock的相应内容,在MasterDetailsBlock里面我们会用到的是ManagedForm,通过它来创建Section,然后在Section上面创建Client,最后要显示的控件就是放在Client上,这样Eclipse Forms的一般结构就是:FormEditor->FormPage->MaterBlock(Details ...
2007-03-07

使用Dynamic EMF之后ItemProvider(AdapterFactory)的实现

关键字: Dynamic EMF ItemProvider
当使用dynamic emf的方式来生成emf model的时候,只会使用ReflectiveItemProviderAdapterFactory和ReflectiveItemProvider来充当emf.edit部分,这个时候如果需要定制ItemProvider和AdapterFactory的话,需要从这两个类继承,重载相关的方法,例如: java 代码 List factories = new ArrayList();      factories.add(new  ...
2007-03-07

关于JFace的TreeViewer的Selection

关键字: TreeViewer setSelection
tree.setSelection(tree.getItem(0))和viewer.setSelection(new StructuredSelection(new Object[] { tree.getItem(0).getData() }));之间是有区别的,前者不会触发viewer的selectionChanged事件,后者则会触发,这里还需要注意的是在构造StructuredSelection的时候,传递的参数是item的数据,而不是item,否则触发SelectionChanged事件的时候在event的selection中是没有数据的。
2007-03-07

2007-03-04龙门古镇归来

关键字: 龙门镇 骑行
周六五点起床整理完毕7点半到南站,与其他人等碰面,坐子弹头从上海到杭州,9点多整好单车沿太湖,钱塘江,富春江一路南下,经富阳过江,继续沿富春江骑行60余公里到达孙权故里:龙门镇,从侧门免门票直接进去。 周日天气已经大变,下起乐小雨,于是防雨装备全部整上,骑行80余公里返回杭州,晚上9点坐子弹头返回上海,凌晨到家。 总的说来,龙门古镇,孙权故里,值得一去! 孙权故里 龙门古镇 龙门八阵图 牛牛与牛夫人 卫星 富春江边 路上休息 桃花or梅花? 龙门镇 古镇小道 号称羽毛球拍之乡的富阳,古镇几乎家家编球拍 古镇也是《理发师 ...
2007-03-07

年在上海

关键字: 春节 上海
迷失在人民广场 史上最简单的年夜饭 烟火除夕夜 我们都爱你 城隍庙人山人海   上海新天地繁华中的冷清 水族馆的热带鱼 溜冰正大广场 放风筝的小女孩 逛街 累了,困了,睡了 被囚禁的小鸟 再近点给你来个特写 供人拍照的孔雀