【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(六)

IStructuredModel(DOM Document)分析视图

前面的几节中,我们都已经完整的介绍过了WTP最核心的几个数据模型:语法Document (IStructuredDocument)、语义Document(IDOMDocument、ICSSDocument)和WTP模型 (IStructuredModel)。IStructuredModel在某种程度上可以看作是语义Document和语法Document的门 面,三者关系再罗唆一下:

开发】基于WTP开发自定义的JSP编辑器(六)-eclipse jsp编辑器">

前面在讲完WTP 语法Document(IStructuredDocument)的时候,我们开发过一个Structured Document分析视图,我想通过那个视图可以加深对IStructuredDocument的理解。在本节中,我们在开发 一个视图,来分析一下WTP的语义Document(我们只分析最常用的IDOMDocument),希望也有类似的作用 。

PS:这两个视图其实可以作为一个工具来用,对于想修改或者定制WTP源码(当然也包括基于WTP开发 一些工具)的开发者可以做一个工具,当写代码分析IStructuredDocument(Text Region)和 IDOMDocument(Indexed Region)遇到障碍的时候,这两个视图应该做为一个助手^_^。而且通过这两个 视图内容显示的比较,应该会明白为什么IStructuredDocument是语法Document,为什么IDOMDocument( ICSSDocument)是语义Document。

开发本IStructuredModel(DOM Document)分析视图很多地方和前面的Structured Document分析视 图类似,有不明白的地方(涉及到技术实现的地方),可以参考一下前面的第四节。

【需求】

和前面的Structured Document分析视图需求比较类似,大致如下:

1、提供一个Structured Model分析视图,以树状方式将当前编辑器中的IDOMDocument展示出来

2、交互(编辑器 ---> Structured Model分析视图):

激活WTP JSP编辑器(或者是我们前面自己定制的编辑器),即时更新Structured Model分析视图

当用户光在编辑器中标移动时,自动选中Structured Model分析视图中对应的节点

当编辑器中的内容改变时,即时更新Structured Model分析视图

当前激活编辑器关闭时,清空Structured Model分析视图内容

3、交互(Structured Model分析视图 ---> 编辑器)

双击视图中树状控件中特定节点,对应内容在编辑器中被选中

时间: 2024-10-31 03:21:46

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(六)的相关文章

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(八)

定制StructuredTextEditor自动提示 前面介绍的内容集中在两点:StructuredTextEditor框架和WTP数据模型,在本节中就可以定制一个我 们最常用的WTP StructuredTextEditor的功能,那就是自动提示. [WTP StructuredTextEditor提示功能实现分析] 有关Eclipse文本编辑器框架.JFace Text Framework和WTP StructuredTextEditor的简要知识,参见: [Eclipse插件开发]基于WT

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(十)

WTP TLD内容模型介绍 前面的系列文章中,我们已经分析了WTP的语法Document(IStructuredDocument)和语义Documnt (ICSSDocument或者IDOMDocument)以及和二者密切相关的IStructuredModel,并在这基础之上对WTP默 认提供的StructuredTextEditor进行了部分功能定制. 开发]基于WTP开发自定义的JSP编辑器(十)-eclipse jsp编辑器"> 问题出现了,我们想要的信息全部包含在IStructur

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(九)

定制StructuredTextEditor源码即时校验 上一节我们定制了WTP StructuredTextEditor的自动提示功能特征,本节将定制另外一个功能特征即 时源码校验.所谓源码即时校验,就是在用户编辑过程中(并未保存),针对用户编辑的内容改变做即时 校验,并给用户即时反馈相关的错误或者其他类型的提示信息.在本节中,我们将以标签的即时校验为例 ,演示如何定制WTP StructuredTextEditor的源码即时校验. 在定制之前,我们先来看一下WTP StructuredTex

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(七)

WTP数据模型总结和模型管理 前面已经详细介绍过WTP语法Document(IStructuredDocument).WTP语义Document(IDOMDocument 或ICSSDocument)和WTP Model(IStructuredModel),在本节中将从总体上再看一下对我们后续基于 WTP进行代码定制很重要的点,同时将补充最核心的一个点:WTP中的模型管理机制. PS:如果前面的几节是探微的过程,那边本节将完成知著的过程,"探微知著"^_^ [语法Document.语义

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(五)

WTP Structured Model 有关另外一个WTP重要的数据模型IStructuredDocument已经在前面介绍过了,今天我们看一下另外一 个核心的数据模型IStructuredModel.在继续下面的内容之前,请确保当前工作区中已经导入(无论是 源码方式导入还是二进制方式导入)了如下工程: org.eclipse.jst.jsp.core org.eclipse.jst.jsp.ui org.eclipse.wst.css.core org.eclipse.wst.css.ui

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(三)

WTP Structured Document 上一篇中我们已经基于WTP的StructuredTextEditor建立了自己的JSPEditor,这篇将介绍对于我们 Editor最重要的数据模型之一:IStructuredDocument (org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument),下一篇将介绍另 外一个IStructuredModel.看一下IStructuredDocument的类型体系如

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(一)

基于Eclipse的J2EE开发者,很多人都需要和wtp打交道.本系列文章中将从Eclipse插件开发者视角来 看WTP,以开发一个自定义的JSP编辑器为示例来阐述一下基于wtp进行二次定制开发(称之为基于WTP的插 件开发)的过程中需要关键知识.其实,现在我们所看到的一些开发工具底层很多都是基于WTP开发的, 只是他可能给包装了一下wtp的默认的编辑器,提供了一些额外的功能. 大致的计划如下: 1.整体介绍wtp(wst + jst) (以插件开发角度) 2.介绍wtp的structured

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(二)

基于WTP StructuredTextEditor创建自己的JSPEditor 在本小节中,无论如何先把自己的编辑器给搞出来,为我们后面对wtp提供的JSP编辑器进行定制. [开发环境准备] 1.Eclipse 3.2 + WTP 1.5 2.对应的GEF(3.2.1).EMF(2.2.1)系列插件 3.将必要插件导入到工作区,导入插件列表如下: 因为我们暂时只是阅读并不打算修改wtp源码,所以就先以二进制方式导入,以上导入的6个插件以后 要和我们常打交道-_-. 说明: Eclipse 3.

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(四)

Strucutured Document分析视图 在上一篇中,我们详细阐述了WTP中最重要的数据模型之一IStructuredDocument(我们就称之为WTP Document吧,和另外一个核心数据模型WTP Model----IStructuredModel对应),本节中我们将自己开发 一个工具来分析IStrucutredDocument. PS:千万别着急,后面的文章会对WTP StructuredTextEditor进行功能特征定制的,在真正定制之前 一定要搞清楚WTP Documen