1、强行添加command使编辑器脏。
getEditor().getCommandStack().execute(new Command() {});
2、
//第一步,对editor的构造函数添加EditDomain
public MyGraphicalEditor() {
setEditDomain(new DefaultEditDomain(this));
}
//第二步,对Command堆栈进行监听
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
super.init(site, input);
getCommandStack().addCommandStackListener(this);
}
//第三步,重载CommandStackListener的CommandStackChanged()方法
public void commandStackChanged(EventObject event) {
super.commandStackChanged(event);
firePropertyChange(IEditorPart.PROP_DIRTY);// 别忘了
}
//第四步,定义一个boolean类型的变量dirty,并写其set方法。供涉及Command堆栈之外的操作对“脏”状态改的需求
public void setDirty(boolean dirty){
if (dirty != this.dirty) {
this.dirty = dirty;
firePropertyChange(IEditorPart.PROP_DIRTY);
}
}
//第五步,重载editor的isDirty()方法
public boolean isDirty() {
return (getCommandStack().isDirty()) | dirty;
}
// 最后一步,doSave()方法的处理
public void doSave(IProgressMonitor arg0) {
getCommandStack().markSaveLocation();
dirty = false;
firePropertyChange(IEditorPart.PROP_DIRTY);
// Todo others.....
}
分享到:
相关推荐
在深入探讨Eclipse插件开发中编辑器的具体实现之前,我们首先需要明确几个关键概念。Eclipse作为一款强大的集成开发环境(IDE),其内部架构高度模块化,支持丰富的插件扩展机制。在这个过程中,`IWorkbenchPart`...
QT+eclipse插件qt-eclipse-integration是一个强大的开发工具集成,它允许开发者在Eclipse环境中无缝地进行QT应用程序的开发。这个插件是专为Linux和Windows平台设计的,提供了一个集成的开发环境,使得程序员可以...
首先,"eclipse插件开发---简单例子"这个标题暗示我们将探讨的是如何构建基本的Eclipse插件。Eclipse插件基于OSGi框架,它允许开发者创建可复用的模块化组件,这些组件可以与其他Eclipse插件交互,以提供定制化的...
Eclipse 插件开发 - JDT Eclipse 插件开发中的 JDT(Java Development Tools)是用于定义 Java 核心元素和 API 的插件。在开发特定于 Java 的功能部件时,总是应该将此插件列示为先决条件。JDT 核心包使您能够访问 ...
### Eclipse插件开发指南知识点概览 #### 一、Eclipse概述 **1.1 Eclipse简介** - **1.1.1 Eclipse的历史背景** - Eclipse最初由IBM于2001年11月发布,版本号为1.0。 - 随着时间的发展,Eclipse逐渐成为了一个...
eclipse插件开发表格编辑器自动生成类小demo,初学者参考。高手勿入、详情见博客。http://blog.csdn.net/wm198966/article/details/9423839。文件类有图有说明有源代码
本指南将深入探讨Eclipse插件开发中的GEF框架,帮助开发者快速入门并掌握相关知识。 首先,让我们理解Eclipse插件开发的基本概念。Eclipse采用插件化架构,每个功能模块都是一个独立的插件,这些插件通过OSGi(Open...
选择这个选项,jd-eclipse插件就会自动反编译对应的.class文件,并在一个新的编辑器窗口中展示源代码。这种方式不仅节省了开发者在多个工具之间切换的时间,也提高了工作效率。 jd-eclipse-site-1.0.0-RC2插件的...
标题中的"axis2-eclipse-codegen-plugin-1.6.2.zip"和"axis2-eclipse-service-plugin-1.6.2.zip"是两个与Apache Axis2相关的Eclipse插件,用于简化Web服务的开发过程。Apache Axis2是Java平台上一个成熟的Web服务...
Eclipse插件开发中编辑器代码的定位、背景色改变、高亮
### Eclipse插件开发Form编辑器的关键知识点 #### 一、Eclipse Forms简介 Eclipse Forms是一种用于创建丰富客户端界面的技术,它可以让你的应用程序在不使用Web浏览器的情况下展现出类似Web的效果。这种技术允许...
Eclipse 是一个开源的集成开发环境(IDE),主要用于Java应用程序的开发,但通过插件也可支持其他编程语言,如C++、Python等。Eclipse-JEE版本是专门为Java企业级开发设计的,它包含了用于Web和企业应用开发的工具集...
解压后的"eclipse"文件夹包含了Eclipse IDE的所有组件,如工作台(Workbench)、编辑器、调试器、构建工具以及项目管理器等。在其中,你可以找到以下关键组件: 1. `eclipse.exe`:这是Eclipse的启动程序,双击即可...
1. **Java开发工具**:Eclipse Mars提供了强大的Java开发工具集,包括代码编辑器、调试器、构建工具等,支持Java 8的新特性,如lambda表达式和默认方法。 2. **Web和Java EE支持**:该版本强化了对Web和Java EE应用...
- **XML编辑器**:处理XML文件,支持验证和格式化。 - **数据库工具**:连接到数据库,执行SQL查询,管理数据表。 - **Maven和Gradle集成**:通过内置支持,简化构建过程。 - **插件系统**:Eclipse的强大力量之一,...
它以其强大的代码编辑器、调试工具、项目管理功能和丰富的插件系统而闻名。Eclipse为开发者提供了便捷的工作环境,支持多种编程语言,而"java"标签则明确了这个版本专为Java开发设计。 "linux"标签表明这个Eclipse...
在Eclipse插件开发中,定制向导是创建用户友好且高效的工作流程的关键步骤。向导是一种引导用户逐步完成复杂任务的交互式界面,它能够简化和规范化数据输入过程。在本文中,我们将深入探讨如何在Eclipse环境中开发一...
它不仅仅是一个编辑器,还集成了构建工具、调试器、版本控制和项目管理等功能,使得开发者能够在一个统一的环境中进行开发工作。 2. C++支持: Eclipse CDT(C/C++ Development Tools)是Eclipse IDE的一个插件,为...
Java作为Eclipse插件开发的基础语言,开发者需要掌握Java编程基础,包括类、对象、接口、异常处理、多线程等。在Eclipse中,Java用于编写插件的主要组件,如命令、视图、编辑器等。 3. **SWT(Standard Widget ...
2. **开发环境**:Eclipse C++ IDE包含了代码编辑器、构建工具、调试器等必备组件。编辑器支持语法高亮、自动完成、错误检测等功能,帮助开发者编写高质量的代码。同时,内置的CDT(C/C++ Development Tools)提供了...