TerraExplorer Add-ons 和TEZ使用说明
1. 概述
Skyline提供了丰富的API,用户可以根据不同实际需求,进行二次开发封装,实现各种功能的扩展和定制。当我们开发了各种功能页面或者应用程序后,如何将它们快速嵌入到TerraExplorer软件中呢?Skyline为我们提供了一种叫TEZ的方式。
TEZ,实际上就是把基于TerraExplorer开发的工具,制作成一个TEZ格式压缩包,然后再分发给不同的TerraExplorer用户使用。用户在TerraExplorer的“Options->Add-ons”中添加新的TEZ工具后,下次运行TerraExplorer的时候,就可以直接在TerraExplorer的Ribbon菜单中调用新工具。
2. 制作TEZ文件过程
- 首先开发完成一个TerraExplorer的功能页面:MyTool.html;
- 创建一个XML文件,命名为“tool.xml”;这个XML文件内容包括如下(其中caption是工具名称,id是唯一编号,Path是指定HTML文件相对于tool.xml文件的存储路径):
<Tool caption="Data Analysis" id="ACO009" Path="MyTool\MyTool.html" >
<Ribbon/>
</Tool>
- 创建一个文件夹“MyTool”,把MyTool.html和tool.xml都拷贝到这个文件夹;
- 把“MyTool”文件夹压缩成zip文件;
- 把“MyTool.zip”重名名为“MyTool.tez”;
至此,我们就完成了一个TEZ文件的制作。
这样,我们就把TerraExplorer的扩展功能封装成了一个TEZ文件,就可以很方便的分发给其他Skyline用户使用,用户运行TerraExplorer软件,调用Add-ons功能,就能够将TEZ里面封装的扩展功能嵌入到已经安装的TerraExplorer软件中。
另外,如何配置“tool.xml”文件,是非常关键的一个步骤。
3. TerraExplorer 的Add-ons功能
- 利用新的HTML工具扩展TerraExplorer功能;
- 定制TerraExplorer的Ribbon菜单;利用增加新的Ribbon菜单命令来打开对应新增的扩展功能;
- 定制用户界面;改变TerraExplorer的开始页面和开始参数设置;
4. XML配置TerraExplorer用户界面
通过设置too.xml文件中的<Panel><Popup><Hidden>节点属性,可以实现TEZ在TerraExplorer中的不同展现方式。
- 创建一个嵌入在TerraExplorer左侧面板中的工具:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html">
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0"/>
<Container>
<Panel/>
</Container>
</Tool>
- 创建一个Popup工具:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html">
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0"/>
<Container>
<Popupx="30" y="60" width="300" height="200" ShowCaption="1"/>
</Container>
</Tool>
- 创建一个隐藏工具:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html">
<Container>
<Hidden/>
</Container>
</Tool>
5. XML工具参数设置
决定在什么时候运行工具:通过设置<Tool>节点的属性来实现;
- AutoStart - 当打开一个FLY工程时自动运行这个工具;
- RunOnce – 设置工具只运行一次;
- ShowOnVersionTypes – 决定哪一个级别的TerraExplorer软件可以显示使用这个自定义工具;
- NeedProject – 决定在TerraExplorer软件中打开了FLY工程才可以使用这个自定义工具;
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html" NeedProject="0" ShowOnVersionTypes="3" RunOnce="1" AutoStart="1">
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0"/>
<Container>
<Panel x="30" y="60" width="300" height="200" ShowCaption="1/0"/>
</Container>
</Tool>
6. XML实现Ribbon菜单定制
通过设置<Ribbon>等节点属性和内容,来实现多种Ribbon菜单效果:
- 创建一个Ribbon菜单命令;
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html">
<Ribbon Show="1" Toggle="0"/>
</Tool>
- 定义菜单命令属性:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html" NeedProject="0" >
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0">
<Category id="MyTabId" caption="My Tab"/>
<Panel id="MyGroupId" caption="My Group" />
<ToolTip title="My Tooltip" description="Tool for demonstrating add-on use"/>
</Ribbon>
</Tool>
- 创建一个下拉列表菜单命令:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html" >
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0">
<Category id="MyTabId" caption="My Tab"/>
<Panel id="MyGroupId" caption="My Group" />
<ToolTip title="My Tooltip" description="Tool for demonstrating add-on use"/>
<Submenu>
<Item caption="My SubmenuOption" id="MySubId" Path="MySubmenuToolFolder\MySubmenuTool.html">
<ToolTip title="My Tooltip" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption.ico"/>
</Item>
</Submenu>
</Ribbon>
</Tool>
4.定义附加属性的下拉列表菜单命令:
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html">
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0" splitButton="1">
<Category id="AnalysisTools" caption="Graphs"/>
<Panel id="MyGroupID" caption="Analysis" />
<ToolTip title=“My Tooltip” description="Tool for demonstrating add-on use"/>
<Submenu>
<GroupTitle>MyGroup1</GroupTitle>
<Item caption="My SubmenuOption1" id="MySubId1" Path="MySubmenuToolFolder\MySubmenuTool1.html">
<ToolTip title="My Tooltip1" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption1.ico"/>
</Item>
<Separator></Separator>
<Item caption="My SubmenuOption2" id="MySubId2" Path="MySubmenuToolFolder\MySubmenuTool2.html">
<ToolTip title="My Tooltip2" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption2.ico"/>
</Item>
<GroupTitle>MyGroup2</GroupTitle>
<Item caption="My SubmenuOption3" id="MySubId3" Path="MySubmenuToolFolder\MySubmenuTool3.html">
<ToolTip title="My Tooltip3" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption3.ico"/>
</Item>
</Submenu>
</Ribbon>
</Tool>
7. XML文件结构说明
节点要素 |
描述说明 |
<Tool> |
定义一个新工具 |
<Container> |
定义工具显示位置 |
<Ribbon> |
定义一个新的菜单命令 |
<Submenu> |
定义一个菜单命令的下拉列表菜单 |
<Item> |
定义一个下拉列表菜单中的子命令 |
<File> |
注册动态链接库文件 |
<Tool>
定义一个新工具。
属性
属性 |
描述说明 |
AutoStart |
决定该工具在FLY工程打开时是否自动加载
|
Caption |
该工具在Ribbon菜单和工具窗口中显示的名称 |
Id |
Ribbon菜单的唯一编号 |
NeedProject |
决定在TerraExplorer中没有加载FLY工程的时候Ribbon菜单按钮是否可用
|
Path |
HTML工具所在位置 注意: 路径要包括文件夹, e.g. “MyToolFolder\MyTool.html.” |
RunOnce |
决定这个工具是否只运行一次
注意: 这个属性只在TerraExplorer加载TEZ文件时起作用 |
ShowOnVersionTypes |
决定哪个级别的TerraExplorer软件显示这个工具。这个属性可以选择下面几种类型:
如果需要显示在TerraExplorer Pro 和 Plus中,而Viewer中不显示,需要设置ShowOnVersionTypes = 3。如果不设置这个属性,则都可以显示这个工具。 |
子节点要素
节点要素 |
描述说明 |
节点要素属性 |
<Icon> |
定义新菜单命令的图标 |
path – 图标文件所在路径 |
<Container>
子节点要素
节点要素 |
描述说明 |
节点要素属性 |
<Panel> |
设置工具显示在TerraExplorer左侧面板底部 |
|
<Popupl> |
设置工具作为一个Popup窗口显示,并且设置窗口的位置和大小 注意: 要求TerraExplorer必须已经打开一个FLY工程 |
X – 相对于3D窗口的X坐标 Y –相对于3D窗口的Y坐标 Width – Popup窗口宽度 Height –Popup窗口高度 ShowCaption – 决定是否显示Popup窗口名称:
|
<Hidden> |
设置隐藏工具窗口 注意: 要求TerraExplorer必须已经打开一个FLY工程 |
<Ribbon>
属性
属性 |
描述说明 |
Show |
决定按钮是否显示在Ribbon菜单上
|
splitButton |
决定是否将功能按钮分成两部分,当点击按钮下半部分的时候显示一个下拉菜单列表,当点击上半部分的时候激活主菜单工具选项
|
Toggle |
决定菜单按钮是否是一个切换功能按钮
|
子节点要素
节点要素 |
描述说明 |
节点要素属性 |
<Category> |
决定新的Ribbon菜单TAB项被放置位置,如果不指定,新的菜单命令会被放置在“Tools”TAB项 |
id – Ribbon菜单Tab项的唯一编号 caption – 新增的Ribbon菜单TAB项名称 |
<Panel> |
决定新的Ribbon菜单组放置位置,如果这个组不存在,就创建这个组;如果不指定,菜单命令就默认创建在“Tools”组 |
id – Ribbon菜单组的唯一编号 caption – 新增Ribbon菜单组名称 |
<Submenu> |
决定是否显示菜单下拉列表 |
|
<ToolTip> |
决定是否显示鼠标提示信息 |
title – 鼠标提示信息标题 description – 鼠标提示信息内容 |
<Submenu>
这个节点决定是否显示下拉列表菜单
子节点要素
节点要素 |
描述说明 |
节点要素属性 |
<Item> |
增加一个命令到下拉列表菜单 |
|
<Separator> |
增加一个水平分隔符到下拉列表菜单 |
|
<GroupTitle> |
定义一个下拉列表菜单的标题名称 |
<Item>
Attributes
属性 |
描述说明 |
Caption |
Ribbon下拉列表菜单上要显示的命令名称 |
id |
菜单命令的唯一编号 |
Path |
下拉列表菜单命令要记载的工具HMTL页面的存放位置路径 |
NeedProject |
决定TerraExplorer加载FLY工程前这个命令按钮是否可用
|
子节点要素
节点要素 |
节点要素属性 |
描述说明 |
<ToolTip> |
title – 鼠标提示信息标题 description – 提示信息内容 |
|
<Icon> |
path – Ribbon菜单上显示的图标 |
<File>
注册指定的动态链接库文件
Attributes
属性 |
描述说明 |
name |
动态链接库文件名称 |
子节点要素
节点要素 |
描述说明 |
节点要素属性 |
<comClass> |
决定COM是否需要注册 |
clsid – Com对象的类编号 iid – 接口编号 event_iid – 事件编号 tlbid – 类编号 |
8. XML示例
<Tool caption="Data Analysis" id="ACO009" Path="MyToolFolder\MyTool.html" NeedProject="0" ShowOnVersionTypes="7" RunOnce="1" AutoStart="1">
<Icon path="MyAddon.ico"/>
<Ribbon Show="1" Toggle="0" splitButton="1">
<Category id="AnalysisTools" caption="Graphs"/>
<Panel id="MyGroupID" caption="Analysis" />
<ToolTip title="My Tooltip" description="Tool for demonstrating add-on use"/>
<Submenu>
<GroupTitle>MyGroup1</GroupTitle>
<Item caption="My SubmenuOption1" id="MySubId1" Path="MySubmenuToolFolder\MySubmenuTool1.html">
<ToolTip title="My Tooltip1" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption1.ico"/>
</Item>
<Separator></Separator>
<Item caption="My SubmenuOption2" id="MySubId2" Path="MySubmenuToolFolder\MySubmenuTool2.html">
<ToolTip title="My Tooltip2" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption2.ico"/>
</Item>
<GroupTitle>MyGroup2</GroupTitle>
<Item caption="My SubmenuOption3" id="MySubId3" Path="MySubmenuToolFolder\MySubmenuTool3.html">
<ToolTip title="My Tooltip3" description="Tool for demonstrating submenu use"/>
<Icon path="MySubmenuOption3.ico"/>
</Item>
</Submenu>
</Ribbon>
<Container>
<Popup x="30" y="60" width="300" height="200" ShowCaption="1"/>
</Container>
</Tool>
转载于:https://www.cnblogs.com/yitianhe/p/3877930.html
TerraExplorer Add-ons 和TEZ使用说明相关推荐
- Oracle的ONS创建,Oracle 10gR2 RAC Clusterware ONS服务的管理
格式是: $ORA_CRS_HOME/log//racg/ora..ons.log 跟踪日志发现如下信息: 2012-06-12 17:21:05.030: [ RACG][3999896128 ...
- Oracle VDI 安装
为什么80%的码农都做不了架构师?>>> 你可以在这里找到本文的原文. 虽然说Oracle已经停止了VDI的开发,之后支持服务业很快停止了.但是,作为经典的桌面虚拟化产品,还是 ...
- Spring Boot项目部署到Heroku
1. 注册 Heroku 免费账户 浏览器打开Heroku官网,注册一个免费的用户,在注册时选择 java 语言 2.安装 Heroku CLI 可以从Heroku官网的Getting Started ...
- 在线代码编辑器 Codemirror 的轻量级 React 组件
代码编辑器 CodeMirror 的轻量级 React 组件 demo @uiw-react.github.io/react-codem- 特性: ? 自动根据 mode 配置加载 mode 文件. ...
- DTrace Tools
目录 Operating Systems Linux Guide Using DTrace scripts Writing DTrace scripts DTraceToolkit DTrace On ...
- ORACLE 19C 单实例数据库安装
目录 环境信息 安装前准备 开始安装 安装程序 配置监听 安装数据库 安装后 本地连接数据库 总结 本文涉及的安装包下载: 链接:https://pan.baidu.com/s/1cXxAUTvWE6 ...
- Scratch Blocks自定义组件之「点阵」
一.背景 由于scratch blocks 自带的mictobit点阵只支持5*5,有时候并不满足我们自己的硬件,为此设计了N*M点阵Block,效果如下: 二.功能配置说明 支持N行M列点阵 支持保 ...
- 谷歌手机pixel4 夜景_您应该购买Google Pixel 4a的5个理由
谷歌手机pixel4 夜景 Let me get right into this. I'm going to list five reasons why one should pick up the ...
- Fiddler结合苹果11抓包小程序 (最新)
做项目开发,突然发现前端同事可以通过手机抓正式线上小程序的包数据,还可以通过直接替换线上文件进行开发,于是就有了这篇文章. 1.安装fiddler软件:这个去官网下载就好了. 2.fiddler软件的 ...
最新文章
- Matlab中的结构体
- 单点登录Redis存储Session及SessionId问题说明与集群实战-3
- PHPMailer目录和命名空间没有错,但是始终class not found,的原因和解决方法
- Chapter 1: 使用引用类型
- (转载)C++:STL标准入门汇总
- 联想V480(扬天) EI Capitan 完美驱动教程
- Dragonfly单机部署比redis快25倍的缓存中间件
- Mysql 笔记(二)
- 百度云 不限速 | 2019 最好用下载工具
- Linux下XFS文件系统使用 Quota 进行合理划分实例
- 在否定句和疑问句使用have动词_26
- BERT源码深度剖析之create_pretraining_data.py
- 数据项、数据字典、模式等基本概念辨析 数据库系统结构
- matlab测试网络,matlab测试网络
- MiniFilter文件系统学习
- Vue 之 解决v-html生成的元素不能触发@click等vue事件和CSS样式不生效的方法
- ubuntu下载jdk-6u21-linux-i586.bin
- Android 动态改变SeekBar进度条颜色与滑块颜色
- GIF制作器哪个好,如何制作表情包
- Perl入门简明教程
热门文章
- 动态调整div大小 html,如何动态的根据用户屏幕的分辨率改变div的大小?
- 物联网云平台系统设计【一】
- 小D的一串数字(简单DP)
- Python爬取58同城租房数据,破解字体加密
- 聚观早报 | 羊了个羊幕后推手月流水曾破亿;雷军卸任小米董事长
- win+e替换为xyplorer打开
- WIN7 嵌入式系统安装教程 Windows Embedded Standard 2011 安装
- python中的df是什么意思_python df遍历的N种方式
- ERROR: Cannot uninstall ‘wrapt‘. It is a distutils installed project and thus we cannot accurately d
- vue + iview + less 定制主题色