连载-基于插件技术的GIS应用框架(C# + ArcEngine9.3)(四)

问题描述

基于插件技术的GIS应用框架(C#+ArcEngine9.3)(四)-------------------------插件配置文件插件的配置、保存是GIS应用框架的一个重要内容,前述章节,我们介绍了本文框架中插件的保存是以XML来实现的,下面,我们就一个XML实例来说明插件是如何保存的。本文框架插件配置文件如下例:[img=http://static4.photo.sina.com.cn/middle/4c0b48dcgd7db06b5dd13&690][/img]从上面的插件配置文件中,我们可以看到,整个插件配置文件分这么几级:uielements-根节点,属性中stylename、skinname保存的是用户当前界面皮肤的选择情况toolbars-所有工具条的根节点toolbar-工具条和主菜单都可以当做toolbar来处理,利用属性type=mainmenu和type=toolbar来进行区分,caption则为toolbar的标题,dockstyle展示了在用户退出框架前的当前工具条的停靠状态,dockcol,dockrow则是具体停靠的位置,offset是其停靠的偏移量,visible当然就是这个工具条是否可见了。注意toolbar="mainmenu"的第一个子项,itemtype="subitem",表明了这个子项是一个具有更多下拉列表项的菜单组,这是个递归的定义,当然在加载这个插件时,它的子菜单项同样也可以以递归的形式进行加载。itemtype="command"表明这个子项是个命令,但也可能是个tool,这会在框架容器里进行自动判别。其他各子项类型如:itemtype="combobox"表明其是个下拉列表框,大家可以从下图看到,编辑任务、编辑图层插件的XML配置信息:其中,红线框出的部分即为编辑任务列表和编辑图层列表的插件配置情况。http://static3.photo.sina.com.cn/middle/4c0b48dcg8c91e4ef6362&690dockwins节点和contentsviews节点即分别为所有停靠窗体和视图插件的根节点,就不再一一赘叙了。通过对插件配置文件的解析,由框架的插件引擎负责加载当中所有插件到插件池,并完成框架界面的初始化工作。前文提及插件保存在XML配置文件中一个好处就是方便调试,在这里,我们可以通过删减我们不需要调试的插件,从而框架只加载配置文件中你保存的插件信息,这样一来,调试速度就加快了;更为重要的一点,我们可以为不同使用权限的用户发布不同内容的插件配置文件,您所要做的就是开发一个管理模块,来接管插件配置文件的管理工作就可以轻松做到不同权限的用户使用不同功能配置的框架了。

解决方案

解决方案二:
太高深了

时间: 2024-11-08 18:52:18

连载-基于插件技术的GIS应用框架(C# + ArcEngine9.3)(四)的相关文章

连载-基于插件技术的GIS应用框架(C# + ArcEngine9.3)(五)

问题描述 [align=center]基于插件技术的GIS应用框架(C#+ArcEngine9.3)(五)--------------------------插件初始化(1)[/align]在第四节中,我们论及了插件的XML保存格式,对于各个XML节点的属性也有了一个大概的了解,下面,我们就如何利用DevExpress套件就这些插件的加载进行详细的剖析.首先,我们必须从已经编译好的DLL中获取插件的类型信息,这就需要利用C#所提供的反射机制.一.插件的反射///根据反射机制产生插件对象并将其放入

连载-基于插件技术的GIS应用框架(C# + ArcEngine9.3)(三)

问题描述 [align=center]基于插件技术的GIS应用框架(C#+ArcEngine9.3)(三)-------------------------插件的分类[/align]我们在进行GIS框架的开发时,有个问题必须先得明确下来,这就是你的插件具体有哪些表现形式,这直接关系到你的框架接口的设计.插件的加载及保存.具体一点,就是说,你的界面上将会出现哪些UI元素,如何进行管理.例如:Combobox.Edit.MenuItem诸如此类的插件.看过一些文章,大都具有子菜单的菜单项和工具栏都当

连载-基于插件技术的GIS应用框架(C# + ArcEngine9.3)(二)

问题描述 [align=center]基于插件技术的GIS应用框架(C#+ArcEngine9.3)(二)-------------------------开发环境配置[/align]选用什么样的第三方组件库来进行插件的封装是开发GIS框架的一个重要问题,直接影响到你框架容器加载插件的方式和插件对象的管理机制:此外开发平台的选择也需要考虑,但是选择有很多种,本文论及的框架开发环境配置如下:一.VisualStudio2008个人觉得比VisualStudio2005运行稳定.二.ArcEngin

基于AJAX技术实现Struts校验框架

ajax 提要 实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序. 一. 引言 校验框架的根本目的是实现域校验.在Web应用程序中有许多方法可以实现域校验,总体上可以分为两类:服务器端和客户端.其中,Struts校验框架是适合于基于Java的Web应用程序环境最好的框架之一.它可以使用服务器端校验来配置应用程序并且使用在校验过程(在请求处理期间激活)中生成的错误消息:而且它也可以通过在请求页

Partysip的插件技术研究

Partysip的插件技术研究之Partysip框架优化方案   介绍:        本文是<Partysip框架优化计划>的一部分,着重研究Partysip插件技术,并在此基础上尝试优化.        整体上说Partysip虽然没有使用OO的思想去设计,但是还是尽量"封装"独立的函数操作,所以研究和理解还是比较方便,对于每个声明结构体都会有一组相关的函数对其操作,这些操作大部分是名字上的差异,其执行操作是对结构体内变量赋值,修改操作,以及结构体的init和free操

基于中间件技术的多层分布式系统的研究

1 引言 分布式系统的信息处理分布在许多计算机上而不是局限在单一机器上.目前一般类型的分布式系统体系结构可以分为两种.一种是客户机 / 服务器( C/S )体系结构,它由客户端提供用户界面.运行逻辑处理应用,而服务器接受客户端 SQL 语句并对数据库进行查询,然后返回查询结果.C/S 结构曾给人们带来许多便利,但随着业务处理对系统提出更高要求以后,它也逐渐暴露出其客户端逐渐庞大和服务器负担过重的缺点,如灵活可扩展的工作流定制.保证数据在网络传输的稳定性和准确性.应付峰值数据的高负荷处理和平衡负载

DockOne微信分享(七十九):基于容器技术构建企业级PaaS云平台实践

本文讲的是DockOne微信分享(七十九):基于容器技术构建企业级PaaS云平台实践[编者的话]企业级容器化PaaS平台旨在为企业应用提供底层支撑能力,覆盖应用开发.应用交付.上线运维等环节,包括代码的管理.持续集成.自动化测试.交付物管理.应用托管.中间件服务.自动化运维.监控报警.日志处理等,本次分享主要介绍基于容器技术构建PaaS平台所采用的相关技术.涉及的核心功能模块以及相关方案. 为满足以上需求,MoPaaS企业版基于Cloud Foundry及Kubernetes等开源技术框架和智能

基于DeepZoom技术的Bing Maps客户端实现研究

目前基于Silverlight技术的Web GIS客户端实现,包括微软Bing Maps Silverlight Control,以及开源的Web GIS客户端组件DeepEarth 项目,核心都是采用Silverlight中的DeepZoom技术实现.可能您已经知道 DeepZoom技术以MultiScaleImage控件为核心,其内部有一个 MultiScaleTileSource类型的源属性,主要用于设置 MultiScaleImage控件所要呈现的数据源,可以通过学习Deep Zoom

腾讯开源基于HTML5技术的专业级图像处理引擎 AlloyImage

腾讯开源基于http://www.aliyun.com/zixun/aggregation/33875.html">HTML5技术的专业级图像处理引擎 Alloy Image 发表于16小时前| 次阅读| 来源CSDN| 0 条评论| 作者张红月 腾讯AlloyTeamAlloyImageAlloyPhotoGitHub开源HTML5 摘要:近日,腾讯 Web前端团队AlloyTeam推出了最 新的开源项目:一个基于HTML5技术的专业级图像处理引擎--AlloyImage(简称AI),以