`
qq123zhz
  • 浏览: 523950 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

eclipse 插件开发-编辑器脏处理

阅读更多

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插件开发-编辑器详解

    IWorkbenchPart(无论是eidtor part还是view part)的容器,肯定会接受workbench page的管理。看了一下,IWorkbenchPage接口定义中确实提供给了如下打开编辑器的操作

    eclipse插件开发-javabean表格编辑器自动生成类

    eclipse插件开发表格编辑器自动生成类小demo,初学者参考。高手勿入、详情见博客。http://blog.csdn.net/wm198966/article/details/9423839。文件类有图有说明有源代码

    Eclipse插件开发中编辑器代码的定位及背景色改变高亮

    Eclipse插件开发中编辑器代码的定位、背景色改变、高亮

    eclipse插件开发form编辑器

    eclipse插件开发form编辑器,不错的文档,教你怎么使用form

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse 插件开发01

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

    Eclipse插件开发学习笔记 第三四篇(22-25).rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发学习笔记

    资源名称:Eclipse插件开发学习笔记内容简介:《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面...

    eclipse插件开发打开编辑器.pdf

    eclipse插件开发打开编辑器.pdf

    Eclipse插件开发-测试用例自动生成工具.zip

    提供集成开发环境(IDE),如Visual Studio、Eclipse、Android Studio和Sublime Text等,这些工具集成了文本编辑器,支持语法高亮、自动补全、代码片段管理和版本控制等功能,有助于开发者高效编写和维护代码。...

    《Eclipse插件开发学习笔记》源码

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse-jee-oxygen-R-win32-x86_64.zip

    Java 编辑器 在适合的位置自动插入大括号。Java > Editor > Typing > Automatically insert at correct position > Braces 这个选项默认启用。在需要大括号的时候将会自动插入。 Javadoc 中注释类型元素的默认值:...

    Eclipse插件开发学习笔记(第二篇 核心技术 9-13章)

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括 SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发+学习笔记(完整 清晰) part1

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发基础6-10

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括 SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse插件spket-1.6.18破解版(附安装说明)

    Spket IDE是XML开发工具包为功能强大的JavaScript和 对于JavaScript中,使用XUL / XBL的和雅虎... 喜欢的JavaScript编辑器提供代码完成,语法高亮和内容概要,帮助开发人员高效地创建高效率的特点JavaScript代码。

    Eclipse+插件开发学习笔记

    第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包括行为(Action)、视图(ViewPart)、编辑器(Editor)、透视图(Perspective)等10章的内容;第三篇主要讲述插件开发的高级内容,包括开发高级内容...

Global site tag (gtag.js) - Google Analytics