社区
Eclipse
帖子详情
eclipse插件开发问题
Areslp
2007-01-23 03:56:26
写了一个插件,我想在eclipse里面点运行时,得到一个打开的编辑框的画布里的图形,让这个图形改变颜色,编辑框是用gmf做的,以前没有做过插件,我不知道要实现这种效果应该是在launch里面去想办法得到图形对象还是还需要在editor里面做些事情,麻烦大家指点一下,谢谢了:)
...全文
290
4
打赏
收藏
eclipse插件开发问题
写了一个插件,我想在eclipse里面点运行时,得到一个打开的编辑框的画布里的图形,让这个图形改变颜色,编辑框是用gmf做的,以前没有做过插件,我不知道要实现这种效果应该是在launch里面去想办法得到图形对象还是还需要在editor里面做些事情,麻烦大家指点一下,谢谢了:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iloveu521
2007-09-24
打赏
举报
回复
EList elist=diagram.getChildren(); //为什么运行到这里就死掉了呢?
diagram.getChildren(); 返回的是List
Areslp
2007-01-31
打赏
举报
回复
up一下,现在取到editpart对象了,但是按照八进制blog上写的((org.eclipse.gmf.runtime.notation.View) EditPart.getModel()).getElement()或ViewUtil.resolveSemanticElement(view)确出现问题,程序最后跑到
private void runEventLoop(Window.IExceptionHandler handler, Display display)里死循环
现在代码如下:
public void launch(ISelection selection, String mode) {
// TODO 自动生成方法存根
try {
System.out.println("start");
IWorkbenchPage page = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IEditorPart ieditorpart = page.getActiveEditor();
MindmapDiagramEditor editor = (MindmapDiagramEditor) ieditorpart;
// TransactionalEditingDomain domain=editor.getEditingDomain();
// DiagramEditPart diagrameditpart=editor.getDiagramEditPart();
// Diagram diagram = editor.getDiagram();
//editor.close(false);
editor.setFocus();
// cn.edu.buaa.testsuite.diagram.edit.parts.MapEditPart o=(cn.edu.buaa.testsuite.diagram.edit.parts.MapEditPart)editor.getDiagramEditPart();
// System.out.println(o.getClass());
Object o=editor.getAdapter(GraphicalViewer.class);
if(o==null){
System.out.println("o is null");
}else{
System.out.println(o.getClass());
}
GraphicalViewer view=(GraphicalViewer)o;
List editparts=view.getContents().getChildren();
Iterator it=editparts.iterator();
while(it.hasNext()){
EditPart editpart=(EditPart)it.next();
if(editpart instanceof StateNodeEditPart){
StateNodeEditPart realeditpart=(StateNodeEditPart)editpart;
System.out.println("in::"+realeditpart);
Object temp=realeditpart.getModel();
System.out.println(temp.getClass());
EObject r=ViewUtil.resolveSemanticElement((View)temp);
}
if(editpart instanceof TopicEditPart){
TopicEditPart realeditpart=(TopicEditPart)editpart;
System.out.println("in::"+realeditpart);
}
System.out.println(editpart.getClass());
}
System.out.println("over");
} catch (Exception e) {
e.printStackTrace();
}
}
另外eclipse有时对gmf的某些类不能代码提示了,方法都显示不出来。。
上面那个死循环错误,我老遇到,但是又不知道是为什么,取到diagram对象的也是,debug都看到里面的children里是我想要的图形对象了,但是一调用getChildren就死循环了。。
Areslp
2007-01-30
打赏
举报
回复
public void launch(ISelection selection, String mode) {
// TODO 自动生成方法存根
try {
System.out.println("start");
IWorkbenchPage page = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IEditorPart ieditorpart = page.getActiveEditor();
MindmapDiagramEditor editor = (MindmapDiagramEditor) ieditorpart;
// TransactionalEditingDomain domain=editor.getEditingDomain();
DiagramEditPart diagrameditpart=editor.getDiagramEditPart();
Diagram diagram = editor.getDiagram();
EList elist=diagram.getChildren(); //为什么运行到这里就死掉了呢?
System.out.println("over");
} catch (Exception e) {
e.printStackTrace();
}
}
大头贼
2007-01-23
打赏
举报
回复
应该两边都要做吧,事件触发是在Launch里,但是launch里的操作还是要用到editor啊
基于
eclipse
的git
插件
--Egit
在此提供一个关于
eclipse
的git
插件
(在网上找到的),可以作为
eclipse
与git的连接工具,方便在
开发
过程中使用git分布式文件管理系统
eclipse
-SDK-3.1.2最新下载
Eclipse
是一个开放源代码的、基于 Java 的可扩展
开发
平台。就其本身而言,它只是一个框架和一组服务,用于通过
插件
组件构建
开发
环境。幸运的是,
Eclipse
附带了一个标准的
插件
集,包括 Java
开发
工具(Java Development Tools,JDT)。 虽然大多数用户很乐于将
Eclipse
当作 Java IDE 来使用,但
Eclipse
的目标不仅限于此。
Eclipse
还包括
插件
开发
环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展
Eclipse
的软件
开发
人员,因为它允许他们构建与
Eclipse
环境无缝集成的工具。由于
Eclipse
中的每样东西都是
插件
,对于给
Eclipse
提供
插件
,以及给用户提供一致和统一的集成
开发
环境而言,所有工具
开发
人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java
开发
工具。尽管
Eclipse
是使用 Java 语言
开发
的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的
插件
已经可用,或预计会推出。
Eclipse
框架还可用来作为与软件
开发
无关的其他应用程序类型的基础,比如内容管理系统。
eclipse
my
eclipse
插件
relo 天涯浪子
Relo是一个帮助
开发
人员研究大型代码库的好工具,它能够一步步的跟踪你所展开的代码包,并快速生成类似UML的类图。
eclipse
-jee-mars 32位和64位 下载
官网下载
eclipse
-jee-mars 32位和64位
Eclipse
是著名的跨平台的自由集成
开发
环境(IDE)。最初主要用来Java语言
开发
,通过安装不同的
插件
Eclipse
可以支持不同的计算机语言,
eclipse
-java-luna-SR2-win32-x86_64工具
Eclipse
是一个开放源代码的、基于Java的可扩展
开发
平台。就其本身而言,它只是一个框架和一组服务,用于通过
插件
组件构建
开发
环境。幸运的是,
Eclipse
附带了一个标准的
插件
集,包括Java
开发
工具(Java Development Kit,JDK)。
Eclipse
58,454
社区成员
49,449
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章