首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Eclipse RCP中,如何根据编辑器中的"脏"属性禁用保存工具栏按钮

在Eclipse RCP中,要根据编辑器中的"脏"属性禁用保存工具栏按钮,可以通过以下步骤实现:

  1. 首先,在编辑器中添加一个监听器来监听"脏"属性的变化。
代码语言:java
复制
public class DirtyListener implements IPropertyChangeListener {
    @Override
    public void propertyChange(PropertyChangeEvent event) {
        if (event.getProperty().equals(IEditorPart.PROP_DIRTY)) {
            // 更新工具栏按钮状态
        }
    }
}
  1. 在编辑器的init方法中添加监听器。
代码语言:java
复制
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
    setSite(site);
    setInput(input);
    // 添加监听器
    editorPart.addPropertyChangeListener(new DirtyListener());
}
  1. DirtyListener中更新工具栏按钮状态。
代码语言:java
复制
public class DirtyListener implements IPropertyChangeListener {
    private ToolItem saveToolItem;

    public DirtyListener(ToolItem saveToolItem) {
        this.saveToolItem = saveToolItem;
    }

    @Override
    public void propertyChange(PropertyChangeEvent event) {
        if (event.getProperty().equals(IEditorPart.PROP_DIRTY)) {
            boolean isDirty = (boolean) event.getNewValue();
            // 更新工具栏按钮状态
            saveToolItem.setEnabled(!isDirty);
        }
    }
}
  1. 在编辑器的createPartControl方法中获取工具栏按钮并添加监听器。
代码语言:java
复制
@Override
public void createPartControl(Composite parent) {
    // 创建工具栏
    ToolBar toolbar = new ToolBar(parent, SWT.FLAT);

    // 创建保存按钮
    ToolItem saveToolItem = new ToolItem(toolbar, SWT.PUSH);
    saveToolItem.setText("Save");
    saveToolItem.setImage(ImageDescriptor.createFromURL(getClass().getResource("/icons/save.png")).createImage());
    saveToolItem.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            // 保存编辑器内容
        }
    });

    // 添加监听器
    editorPart.addPropertyChangeListener(new DirtyListener(saveToolItem));
}

通过以上步骤,可以实现在Eclipse RCP中根据编辑器中的"脏"属性禁用保存工具栏按钮的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GEF入门实例_总结_04_Eclipse插件启动流程分析

(2)每个工作台窗口又包括菜单栏、工具栏、状态栏 和 多个工作台页面 (3)每个工作台页面又包含多个视图、编辑器 顶层窗口就是Eclipse工作台窗口 ?...程序入口,它实现了IApplication接口,RCP程序启动时会执行该接口start方法。...(2)可以该类实现程序启动或关闭时某种处理 (3)主要方法 序号 方法名 生命周期 用法 1 initialize 最先调用。工作台开始运行之前执行一些初始化操作。...(3)主要方法 序号 方法名 生命周期 用法 1 preWindowOpen 窗口控件创建之前调用 可用于设置窗口初始大小、状态栏、工具栏可视性 2 postWindowRestore 当窗口根据上一次保存状态恢复创建之后调用...4 getImageDescriptor 根据插件相对路径返回图片描述符,可用于获取图片 四、Eclipse插件启动流程图 有问题地方:第9步实际具体流程我暂时还不清楚。

1K40

eclipse自定义工具栏

你可以根据自己需要定制菜单栏和工具栏,其中“Tool Bar Visibility”可以定制工具栏工具栏每一条还可以上下左右拖动,“Menu Visibility”可以定制菜单栏,让那个你eclipse...4.保存即可,就会发现exe图标已经换了,不同尺寸下都显示正常。 ps:可能会出现图标会没替换到样子,这时你可以换个目录来看,就正常,那只是应用图标没刷新而已。 (4)....其中透视图和编辑区名称都好理解,而产品名称是eclipse\plugins\org.eclipse.epp.package.rcp_4.4.2.20150219-0708\plugin.xml里面定义...2.我收集了Eclipse 常用Id,同样因为篇幅原因,我把他收集另一篇文章Eclipse 扩展点常量ID 3.可能有人会发现,上面常量ID可能不够,有些我们想隐藏没有在里面,那怎么办。...我用了一种比较蠢但能解决问题办法,同样因为篇幅原因,我把他写在另一篇文章Eclipse 寻找迷失ID

2.6K20

【插件开发】—— 2 插件入门

首先认识一下Eclipse,这个大家应该很熟了!   1 红色部分是我们工具栏   2 蓝色部分是视图   3 黄色部分是编辑器   通常我们使用编辑器,进行代码操作,或者业务操作。...视图,进行一些资源查看等。红色引入一些常用功能,辅助我们操作。 我们先做一个简单工具栏控件,了解一下eclipse插件开发流程!   1 新建一个插件工程 ?   ...最后是选择是否开发RCP,富客户端应用,暂且不用,选否就行了。   4 使用插件模板,创建一个插件工具 ? 选择hello world.这是一个工具栏按钮。  5 下一步,进行按钮信息设置。...默认会生成类名字,路径(包名),以及工具栏按钮出发消息提示。   6 点击finish,完成插件创建。   这样,我们就完成了一个插件创建,那么看一下,eclipse都为我们生成了什么。...启动方式1 直接在overview界面点击;    启动方式2 也可以点击运行或者DEBUG按钮,运行方式选择Eclipse Application。

2.3K90

GEF入门实例_总结_03_显示菜单和工具栏

一、前言 本文承接上一节: GEF入门实例_总结_02_新建初始RCP空项目 这一节,我们来给我们插件加上菜单。...单击菜单、工具栏图标按钮或者按键时执行某项处理 menubar 菜单栏 coolbar 工具栏 2.菜单在哪里加 还记得上一节我们新建类: ApplicationActionBarAdvisor 吗...传送门:GEF入门实例_总结_01_教程、源码、开发环境准备 注: Eclipse插件开发时,图片都默认保存在icons文件夹,请不要修改文件夹名称。...window; public final static String ID = "gef.tutorial.step.action.DiagramAction"; /** * 一、构造方法设置基本属性...(toolBarManager); } } 2.设置显示工具栏 ApplicationWorkbenchWindowAdvisor 类 preWindowOpen方法中有一句

88020

GEF入门实例_总结_05_显示一个空白编辑器

一、前言 本文承接上一节:GEF入门实例_总结_04_Eclipse插件启动流程分析 第三节( GEF入门实例_总结_03_显示菜单和工具栏  ),我们创建了菜单和工具栏。...这一节,我们来实现:点击菜单后,打开一个编辑器。 二、添加扩展 1.选择扩展点 (1)双击plugin.xml,extensions页,点击Add..., ?...window; public final static String ID = "gef.tutorial.step.action.DiagramAction"; /** * 一、构造方法设置基本属性...* 单击菜单、工具栏图标按钮或者按键时会执行Actionrun方法 * */ @Override public void run() { //1....(2)出现下图文件对话框,选择保存文件路径,然后点击打开 ?  (3)出现一个带有调色板空白编辑器 ?

64030

【插件开发】—— 12 GEF入门

GEF,每一个模型都有自己Editpart,也就是Controller,也有自己Model,这个Model通常包含了模型属性以及相关信息。而Figure则是自己一种展现方式。   ...GEF可以编辑接近所有的图形,在你模型,你既可以简单修改模型特性,也可以进行一些复杂操作。所有的修改操作都符合一般性操作习惯,比如拖拽,删除,复制,粘贴,或者从菜单或工具栏上触发。   ...另外呢, http://www.eclipse.org/gef上也有很多GEF相关资料,比如一些代码,样例以及文档。    ...也可以使用图形化编辑器来修改一些代码样例,配置,服务器等等。...Eclipse Desginer   这个工具是基于SWT设计工具,能够帮助我们可视化完成一些RCP应用程序UI部分编辑 ?

88990

Eclipse使用入门教程

工作区目录会有一个名为.metadata目录来保存所有设置信息。Eclipse启动时候会让你选择要使用工作区。如果输入工作区目录不存在,Eclipse会自动创建它。...然后To archive file:输出框中选中要保存文件名,一般写成项目名.zip,然后点击Finish按钮即可导出当前项目。...2.4快速修正代码错误 Eclipse编辑器编写代码以及编译后会显示检查出来错误或者警告并在出问题代码行首隔条上显示红色灯泡。...点击项目属性对话框Java Compiler可以设置代码编译器级别。...} 那么点击菜单Edit -> Paste 或者Package Explorer视图项目节点上下文菜单中选择Paste,或者按下快捷键Ctrl + V,那么Eclipse根据这段代码自动生成一个新

1.4K20

Eclipse使用入门教程

工作区目录会有一个名为.metadata目录来保存所有设置信息。Eclipse启动时候会让你选择要使用工作区。如果输入工作区目录不存在,Eclipse会自动创建它。...然后To archive file:输出框中选中要保存文件名,一般写成项目名.zip,然后点击Finish按钮即可导出当前项目。...2.4快速修正代码错误 Eclipse编辑器编写代码以及编译后会显示检查出来错误或者警告并在出问题代码行首隔条上显示红色灯泡。...点击项目属性对话框Java Compiler可以设置代码编译器级别。...那么点击菜单Edit -> Paste 或者Package Explorer视图项目节点上下文菜单中选择Paste,或者按下快捷键Ctrl + V,那么Eclipse根据这段代码自动生成一个新

1.3K00

《Android应用开发揭秘》连载2

(3)右键单击“我电脑”,选择“属性”菜单项,选择“高级”选项卡,选择“环境变量”,找到“Path”变量名(如果没有就新建一个名为“Path”变量),点击“编辑”按钮,添加JDK安装目录“bin”...Eclipse最近发布了一个名为Babel project项目,这个项目就是用来解决国际化问题,旨在为每一个插件提供独立语言包。这样,当做RCP项目的时候,根据需要对语言进行打包即可!...eclipse/”“https”更改为“http”,接下来对话框中选中“Name”下所有选项,根据提示即可完成后续安装过程。...为了 Debug 透视图编辑器中计算表达式值,选择设置了断点那行代码,在上下文菜单,通过 Ctrl+Shift+I 或右键单击你感兴趣变量并选择 Inspect 选项。...以上列举了一些Eclipse编辑器中常用调试方式,当然调试方式很多,读者同样可以根据自己需要选择不同方式进行调试。

1K50

不到200行 JavaScript 代码如何实现富文本编辑器

actions 对象 文件定义了一个名为 actions 对象,对应是下图工具栏这一行按钮, actions 每个子对象都保存了一个按钮属性。...bold,italic,underline 三个对象属性,对应于工具栏前方加粗、斜体、下划线按钮,可以看出它们结构是相同,都有下列三个属性: icon: 如何工具栏显示 title: 就是...下面代码 settings.actions 即为此数组,其中每个元素都对应一个显示工具栏按钮。settings.actions 生成规则会在后面进行解释。...=action.result // 将创建按钮添加到工具栏上 actionbar.appendChild(button) }) 这样数组每个元素就都生成了一个工具栏按钮了。...actions 数组可以有这几种元素: 一个字符串 一个有 name 属性对象 一个对象,没有 name 属性,但有生成一个按钮必需属性 icon,result 等 init() 函数中会把这个

1.6K70

Excel基础:一文带你了解VBA编辑器

项目资源管理器:项目资源管理器显示了VBA项目中所有模块、表单、工作表等组件。您可以项目资源管理器管理和组织您VBA项目结构。属性窗口:属性窗口显示当前选定对象属性属性值。...通过属性窗口,您可以查看和编辑对象各种属性,例如名称、大小、颜色等。调试工具:VBA编辑器提供了丰富调试工具,如设置断点、单步执行、监视变量等功能,帮助您调试和排查代码问题。...工具栏:VBA编辑器工具栏提供了快速访问常用功能按钮,例如运行、停止、调试等。您可以通过工具栏快速执行各种操作。...【自定义功能区】,就会自动打开Excel选项弹窗,右侧开发工具打勾,最后点击确定按钮就可以顶部功能菜单看到【开发工具】标签栏。...具体看动画效果:开发者工具VBA相关组成按钮Visual Basic:点击可以直接打开 VBA 编辑器,作用等同于快捷键 Alt + F11。

11931

【插件开发】—— 1 Eclipse插件开发导盲

之前整理过一篇图片贴,是关于 如何创建一个插件开发工程 ,那么这里就不再对创建工程做过多描述了。   ...必要时候,对生命周期很长对象使用单例模式是必须,比如Plugin对象。   【适配器模式】   对于不同类,编辑器提供不同处理方法。Editor类,就需要对不同类进行适配。   ...那么数据都要保存在命令对象,并且记录在CommonStack里面,必要时候进行Undo,Redo操作。   【策略模式】   对于复杂应用场景,有很多处理方法。...市场上许多UML设计软件都是使用Eclipse插件来开发,而且EclipseRCP富客户端开发,应用也十分广泛。   ...就说目前流行一款思维导图软件XMind,就是使用EclipseRCP技术开发,有一些很好功能,都是需要付费试用,所以“钱景”也是很大。   希望这个方向,能有更多新人注入!

4.1K90

富文本编辑器之游戏角色升级ing

常见工具栏是由若干个功能按钮、状态按钮组、下拉菜单、模态框等组成,如下图所示: 一般,富文本编辑器中都具备管理工具栏配置项,可根据需要查阅官方文档。...输入-模型-输出转化示例图,如下图所示: 自定义工具栏按钮 工具栏按钮是数据控制窗口,可以外显工具栏,也可以隐藏通过快捷键控制。...如果外显工具栏,需要根据具体需求,定制对应状态功能按钮,绑定菜单或者控制操作,可参考4.1.1工具栏扩展一节。 新增事件或命令 确定好数据核心和控制窗口之后,下一步就是制订控制策略。...1、新增功能按钮状态是否与光标位置有关。自定义工具栏按钮这一步骤中就可以完成关联; 2、新增功能是否需要关联菜单栏显示。...,迁移至项目中,可控性和扩展性都能得到最大限度提升;对跨端业务适配度更高,各端只需一套控制方案,各功能组件分渠道定制即可; 缺点:需要将工具栏按钮绑定命令/事件、状态绑定等控制方案转移至新组件

1.3K30

【愚公系列】2023年12月 Winform控件专题 ToolStrip控件详解

使用 ToolStrip 控件,可以为用户提供方便和易于使用界面,使用户更加容易地使用应用程序。常见使用场景如下: 工具栏工具栏上放置常用工具按钮,如打印、保存、撤销、重做等。...编辑器工具栏:像文本编辑器、图形编辑器等应用程序,ToolStrip控件可以提供一些功能按钮,如加粗、斜体、下划线、对齐方式等。...可以使用ToolStrip控件创建右键菜单,为用户提供更多操作选项。 上下文工具栏一些应用程序根据当前用户操作内容,可以动态地改变工具栏按钮。...设置ToolStrip控件Dock属性为Top,使它位于窗口顶部。 ToolStrip控件添加一些按钮,比如“打开”,“保存”,“剪切”,“复制”等。...在这些按钮Click事件,编写相应处理代码,比如实现打开文件、保存文件、剪切文本、复制文本等操作。

39521

2021 最新 IntelliJ IDEA 详细配置步骤演示(图文版)

默认情况下,此选项是禁用,您可以移动所有内容而无需任何额外键。...) 主菜单和上下文菜单项目左侧显示图标。...Menus and Toolbars(菜单和工具栏管理) 自定义菜单和工具栏,使其仅包含所需操作,对其进行重新组合并配置其图标。 可用菜单和工具栏列表,展开要自定义节点,然后选择所需项目。...可以将其视为自定义菜单或工具栏,您可以为其指定快捷方式以进行快速访问。您可以根据需要创建任意数量快速列表。快速列表每个动作均由0到9之间数字标识。...1.单击添加按钮或Alt+Insert按左窗格以创建新快速列表。 2.将此快捷方式分配一个kyeMap ,“设置/首选项”对话框Ctrl+Alt+S,选择“键盘映射”。

28410

【Android应用开发】Android Studio 简介 (Android Studio Overview)

项目 : 尽管 Intelij IDEA 与 Eclipse 目录结构 不同, Intelij 可以导入 Eclipse WorkSpace 或者 Project; -- 导入 Maven..., 单独 Moudle 是无意义; -- Moudle 配置文件 : Moudle 配置信息保存在 moudleName.iml 配置文件, 默认该配置文件 moudle 根目录, 该文件应该纳入版本控制...; -- 启动方式 : 根据你 运行在手机 或者 虚拟机 app, 点击右下角内存管理器按钮, 进入内存管理器界面;  -- 注意 : 使用 debug 模式时才会显示内存管理, 实际数据,...工具集合, 控制设备行为; -- 启动 : 如果开发者要去 调试 Android 调试器, 点击底部工具栏 Android 按钮;  -- 布局层级监控 : 包括 视图组件层级查看器 去帮助开发者优化布局...Translation 编辑器 翻译编辑器 :  -- 作用 : 翻译编辑器插件 增强了多语言支持, 使用该编辑器可以更容易将本地信息添加到 app 翻译文件;  -- 颜色代码 : 有颜色代码表明

2.1K41

Android训练课程(Android Training) - 构建你第一个应用

返回上一屏幕去寻找 开发者选项 Eclipse启动应用: 注意:我们常常使用Eclipse英文版本,对于Eclipse一些英文都不在翻译,以应对读者找不到按钮情形。...Eclipse,点击工具栏Android Virtual Device Manager b....6.模拟器启动后,解锁模拟器屏幕。 Eclipse启动这个应用 1.打开一个你项目中文件,并且点击工具栏 Run。...说明了 布局,ViewGroup对象形式如何分支,和包含其他视图对象。 在这节课,你将创建一个XML布局,它包含了一个文本区和一个按钮。...类,这个类是当你创建项目时由SDK工具自动生成,这样你现在可以启动这个应用看下结果: Eclipse工具栏里点击 Run 。

2.1K00

ReactQuill富文本编辑器汉化及工具栏增加title

React-Quill 是一个基于 React 富文本编辑器组件,它可以轻松地将富文本编辑器集成到 React 应用。可以通过 GitHub 了解他详细功能。...可扩展性: React-Quill 是可扩展,您可以轻松地添加自己自定义工具栏按钮或模块。...'; } } } } 工具栏 title 属性 我还在工具栏添加了一个 title 属性,这样当用户将鼠标悬停在工具栏按钮上时,就会显示该按钮描述,这可以帮助用户更好地理解每个按钮功能...使用方法 您可以通过以下步骤使用我二次开发 React-Quill 文本编辑器: 1、安装 react-quill : npm install react-quill 2、 React 应用中导入...React-Quill 文本编辑器具有中文汉化和工具栏 title 属性,这使得它更加适合中国用户使用。

48210
领券