zoukankan      html  css  js  c++  java
  • TerraExplorer Add-ons 和TEZ使用说明

     

    1.    概述

    Skyline提供了丰富的API,用户可以根据不同实际需求,进行二次开发封装,实现各种功能的扩展和定制。当我们开发了各种功能页面或者应用程序后,如何将它们快速嵌入到TerraExplorer软件中呢?Skyline为我们提供了一种叫TEZ的方式。

    TEZ,实际上就是把基于TerraExplorer开发的工具,制作成一个TEZ格式压缩包,然后再分发给不同的TerraExplorer用户使用。用户在TerraExplorer的“Options->Add-ons”中添加新的TEZ工具后,下次运行TerraExplorer的时候,就可以直接在TerraExplorer的Ribbon菜单中调用新工具。

    2.    制作TEZ文件过程

    1. 首先开发完成一个TerraExplorer的功能页面:MyTool.html;
    2. 创建一个XML文件,命名为“tool.xml”;这个XML文件内容包括如下(其中caption是工具名称,id是唯一编号,Path是指定HTML文件相对于tool.xml文件的存储路径):

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolMyTool.html" >

      <Ribbon/>

    </Tool>

    1. 创建一个文件夹“MyTool”,把MyTool.html和tool.xml都拷贝到这个文件夹;
    2. 把“MyTool”文件夹压缩成zip文件;
    3. 把“MyTool.zip”重名名为“MyTool.tez”;

    至此,我们就完成了一个TEZ文件的制作。

    这样,我们就把TerraExplorer的扩展功能封装成了一个TEZ文件,就可以很方便的分发给其他Skyline用户使用,用户运行TerraExplorer软件,调用Add-ons功能,就能够将TEZ里面封装的扩展功能嵌入到已经安装的TerraExplorer软件中。

    另外,如何配置“tool.xml”文件,是非常关键的一个步骤。

    3.    TerraExplorer 的Add-ons功能

     

    1. 利用新的HTML工具扩展TerraExplorer功能;
    2. 定制TerraExplorer的Ribbon菜单;利用增加新的Ribbon菜单命令来打开对应新增的扩展功能;
    3. 定制用户界面;改变TerraExplorer的开始页面和开始参数设置;

    4.    XML配置TerraExplorer用户界面

    通过设置too.xml文件中的<Panel><Popup><Hidden>节点属性,可以实现TEZ在TerraExplorer中的不同展现方式。

    1. 创建一个嵌入在TerraExplorer左侧面板中的工具:

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.html">

      <Icon path="MyAddon.ico"/>

      <Ribbon Show="1" Toggle="0"/>

      <Container>

        <Panel/>

      </Container>

    </Tool>

    1. 创建一个Popup工具:

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.html">

      <Icon path="MyAddon.ico"/>

      <Ribbon Show="1" Toggle="0"/>

      <Container>

        <Popupx="30" y="60" width="300" height="200" ShowCaption="1"/>

      </Container>

    </Tool>

    1. 创建一个隐藏工具:

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.html">

      <Container>

        <Hidden/>

      </Container>

    </Tool>

    5.    XML工具参数设置

    决定在什么时候运行工具:通过设置<Tool>节点的属性来实现;

    • AutoStart - 当打开一个FLY工程时自动运行这个工具;
    • RunOnce – 设置工具只运行一次;
    • ShowOnVersionTypes – 决定哪一个级别的TerraExplorer软件可以显示使用这个自定义工具;
    • NeedProject – 决定在TerraExplorer软件中打开了FLY工程才可以使用这个自定义工具;

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.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菜单效果:

    1. 创建一个Ribbon菜单命令;

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.html">

      <Ribbon Show="1" Toggle="0"/>     

    </Tool>

    1. 定义菜单命令属性:

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.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>

    1. 创建一个下拉列表菜单命令:

    <Tool caption="Data Analysis" id="ACO009" Path="MyToolFolderMyTool.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="MySubmenuToolFolderMySubmenuTool.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="MyToolFolderMyTool.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="MySubmenuToolFolderMySubmenuTool1.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="MySubmenuToolFolderMySubmenuTool2.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="MySubmenuToolFolderMySubmenuTool3.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工程打开时是否自动加载

    • AutoStart = 0 (Default) – 不自动加载
    • AutoStart = 1 – 自动加载

    Caption

    该工具在Ribbon菜单和工具窗口中显示的名称

    Id

    Ribbon菜单的唯一编号

    NeedProject

    决定在TerraExplorer中没有加载FLY工程的时候Ribbon菜单按钮是否可用

    • NeedProject = 0 (Default) – 可用
    • NeedProject = 1 – 不可用

    Path

    HTML工具所在位置

    注意:    路径要包括文件夹, e.g. “MyToolFolderMyTool.html.”

    RunOnce

    决定这个工具是否只运行一次

    • RunOnce = 0 (Default) – 每次都可以运行
    • RunOnce = 1 – 只运行一次

    注意:    这个属性只在TerraExplorer加载TEZ文件时起作用

    ShowOnVersionTypes

    决定哪个级别的TerraExplorer软件显示这个工具。这个属性可以选择下面几种类型:

    • TerraExplorer Pro= 1
    • TerraExplorer Plus = 2
    • TerraExplorer Viewer = 4

    如果需要显示在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窗口名称:

    • ShowCaption = “0” – 不显示
    • ShowCaption = “1” – 显示

    <Hidden>

    设置隐藏工具窗口

    注意:    要求TerraExplorer必须已经打开一个FLY工程

    <Ribbon>
    属性

    属性

    描述说明

    Show

    决定按钮是否显示在Ribbon菜单上

    • Show = “0” – 不显示
    • Show = “1” (默认)– 显示

    splitButton

    决定是否将功能按钮分成两部分,当点击按钮下半部分的时候显示一个下拉菜单列表,当点击上半部分的时候激活主菜单工具选项

    • splitButton = “0” – 按钮仅打开下拉菜单列表
    • splitButton = “1” (默认)  创建一个分上下两部分功能的按钮

    Toggle

    决定菜单按钮是否是一个切换功能按钮

    • Toggle = “1” – 这个按钮功能作为一个切换按钮来实现打开或者关闭工具面板
    • Toggle = “0” (默认) – 点击按钮总是打开工具面板
    子节点要素

    节点要素

    描述说明

    节点要素属性

    <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工程前这个命令按钮是否可用

    • NeedProject = 0 (默认) – 可用
    • NeedProject = 1 – 不可用
    子节点要素

    节点要素

    节点要素属性

    描述说明

    <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="MyToolFolderMyTool.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="MySubmenuToolFolderMySubmenuTool1.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="MySubmenuToolFolderMySubmenuTool2.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="MySubmenuToolFolderMySubmenuTool3.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>

  • 相关阅读:
    Java Project和Web Project 区别
    ScannerTest-------double string
    ScannerDemo------string int
    clearfix 清除浮动的标签
    bootstrap 的布局
    <span>元素
    反省
    Django中ifequal 和ifnotequal的使用
    IndexError: list index out of range的错误原因
    python2和python3同时存在电脑时,安装包时的的命令行
  • 原文地址:https://www.cnblogs.com/yitianhe/p/3877930.html
Copyright © 2011-2022 走看看