首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > OpenOffice.org之恋(二)
【标  题】:OpenOffice.org之恋(二)
【关键字】:OpenOffice.org
【来  源】:http://www.blogjava.net/stme/archive/2006/12/10/85945.html

OpenOffice.org之恋(二)

??? 这次接着说UNO组件的配置文件,该组件的配置文件是以xcu后缀名结尾的,同其他java中的配置文件一样,它也是xml格式的文件。
??? xcu配置文件的作用是对OOo插件的在OOo的菜单栏、工具栏之中指定如何定义用户界面扩展,以及菜单被点击后应该触发哪个类的具体方法的指向。例子如下:
???
?1?<node?oor:name="AddonMenu">
?2?????????????<node?oor:name="cn.ac.cintcm.openoffice.plugin"?oor:op="replace">
?3?????????????????<prop?oor:name="Title"?oor:type="xs:string">
?4?????????????????????<value?xml:lang="en-US">CRF?report</value>
?5?????????????????????<value?xml:lang="zh-CN">病例报表</value>
?6?????????????????</prop>
?7?????????????????<prop?oor:name="Context"?oor:type="xs:string">
?8?????????????????????<value>com.sun.star.text.TextDocument</value>
?9?????????????????</prop>
10?????????????????<node?oor:name="Submenu">
11?????????????????????<node?oor:name="m1"?oor:op="replace">
12?????????????????????????<prop?oor:name="URL"?oor:type="xs:string">
13?????????????????????????????<value>cn.ac.cintcm.openoffice.plugin.lemma:LemmaDialog</value>
14?????????????????????????</prop>
15?????????????????????????<prop?oor:name="ImageIdentifier"?oor:type="xs:string">
16?????????????????????????????<value/>
17?????????????????????????</prop>
18?????????????????????????<prop?oor:name="Title"?oor:type="xs:string">
19?????????????????????????????<value/>
20?????????????????????????????<value?xml:lang="en-US">TCM?lemma?search</value>
21?????????????????????????????<value?xml:lang="zh-CN">中医词条搜索</value>
22?????????????????????????</prop>
23?????????????????????????<prop?oor:name="Target"?oor:type="xs:string">
24?????????????????????????????<value>_self</value>
25?????????????????????????</prop>
26?????????????????????</node>
27?????????????????????<node?oor:name="m2"?oor:op="replace">
28?????????????????????????<prop?oor:name="URL"?oor:type="xs:string">
29?????????????????????????????<value>cn.ac.cintcm.openoffice.plugin.database:DataBase</value>
30?????????????????????????</prop>
31?????????????????????????<prop?oor:name="ImageIdentifier"?oor:type="xs:string">
32?????????????????????????????<value/>
33?????????????????????????</prop>
34?????????????????????????<prop?oor:name="Title"?oor:type="xs:string">
35?????????????????????????????<value/>
36?????????????????????????????<value?xml:lang="en-US">DataBase</value>
37?????????????????????????????<value?xml:lang="zh-CN">数据库</value>
38?????????????????????????</prop>
39?????????????????????????<prop?oor:name="Target"?oor:type="xs:string">
40?????????????????????????????<value>_self</value>
41?????????????????????????</prop>
42?????????????????????</node>
43?????????????????</node>
44?????????????</node>
45?????????</node>

??? 该xml文件为了避免和命名冲突使用了xmlns:oor="http://openoffice.org/2001/registry"、xmlns:xs="http://www.w3.org/2001/XMLSchema"的命名空间。
??? Addons.xcu是脚本调用和直接调用都要用到的文件,它的根节点为oor:component-data,在
<node oor:name="AddonUI">节点下可以设置三个不同地点显示的信息的子节点,它们分别是
<node oor:name="OfficeMenuBar">、<node oor:name="OfficeToolBar">、
<node oor:name="OfficeHelp">,从xml文件的易读性我们可以看出这些分别是设置菜单栏、工具栏和帮助信息的。
??? 用于定义加载项菜单的支持的 org.openoffice.Office.Addons集
??? OfficeMenuBar?? 此集中定义的菜单将成为 StarSuite 菜单栏中的顶层菜单。
??? AddonMenu?? ??? 此集中定义的菜单将成为弹出式菜单,是位于工具菜单底部的“加载项”菜单项的一部分。
??? 模板 MenuItem 的属性
??? oor:name
? 字符串型。配置节点的名称。名称必须以 ASCII 字母字符开始。 该名称在 Office-MenuBar 集中必须是唯一的。因此,必须使用诸如org.openoffice.<developer>.<product>.<addon name> 或com.<company>.<product>.<addon name> 之类的模式以避免产生名称冲突。请记住,您的配置文件将合并到 OOo 配置分支中。您不知道当前安装了哪些 加载项或者安装了多少加载项。因此子菜单的菜单项的节点名称在其子菜单中必须是唯一的。配置集不能保证其条目的顺序,因此您应该使用字符串 + 编号(如 “m1”)这样的模式作为排序条目时使用的名称。
??? URL?? ??? 字符串型。指定用户激活菜单条目时应该分发的命令 URL。如果 MenuItem 是子菜单的
标题,则该属性将被忽略。要定义分隔符,您可以使用特殊的命令 URL ""private:separator。分隔符将忽略所有其他属性。
??? Title???? 字符串型。包含顶层菜单项的标题。 此属性支持本地化:默认字符串(在 StarSuite 无法找到其当前语言的字符串定义时使用)使用不带属性的 value 元素。您可以使用xml:lang 属性为特定语言定义字符串。为属性指定语言/语言环境,例如<value xml:lang="en-US">string</value>。
??? Target??? 字符串型。为命令 URL 指定目标框架。通常,加载项会使用以下某个预设的目标名称:
??? ??? ??? ??? ??? _top?? 返回调用的框架的顶层框架,它是在向上遍历分层时 isTop() 返回 true 的第一个框架。
??? ??? ??? ??? ??? _parent 返回框架分层中位于次高的框架。
??? ??? ??? ??? ??? _self?? 返回框架本身,其名称与空白目标框架的名称相同。也就是说,您正在搜索一个已经存在而且合法的框架。
??? ??? ??? ??? ??? _blank? 创建新的顶层框架,其父级框架是桌面框架。
??? Context??? 字符串型。服务名称的列表,以逗号分隔,指定加载项菜单功能应在哪个上下文中出现。空的 Context 表示功能应该在所有上下文中出现。StarSuite 应用程序模块使用以下服务名称:
??? ??? ??? Writer:com.sun.star.text.TextDocument
??? ??? ??? Spreadsheet:com.sun.star.sheet.SpreadsheetDocument
??? ??? ??? Presentation:com.sun.star.presentation.PresentationDocument
??? ??? ??? Draw:com.sun.star.drawing.DrawingDocument
??? ??? ??? Formula:com.sun.star.formula.FormulaProperties
??? ??? ??? Chart:com.sun.star.chart.ChartDocument
??? ??? ??? Bibliography:com.sun.star.frame.Bibliography
加载项的上下文服务名称由绑定到框架的模型的服务名称确定,它与 UI 元素(工具栏、菜单栏等)相关。因此,Writer 模型的服务名称是com.sun.star.text.TextDocument。这表示,上下文名称被绑定到应用程序模块的模型。如果开发者实现具有模型的新桌面组件,可以将其服务名称作为加载项 UI 项的上
下文。
??? Submenu?? 一组MenuItem 条目。可选,用于定义菜单条目的子菜单。

??? 以上是配置一个插件大致需要编写的关于用户界面扩展文件,以及对其的解释,大家可以参考看看。关于脚本调用的配置文件以及讲解,将在下一次随笔中讲述。
webdav的一点经验:【上一篇】
ant中copy操作学习心得:【下一篇】
【相关文章】
  • OpenOffice.org之恋(一)
  • 用OpenOffice.org管理MySql数据库
  • 64位中的openoffice.org&&运行32位多媒体软件的一些想法
  • openoffice.org2.0中文版下载
  • 让OpenOffice.orgWrite显示中文
  • 【随机文章】
  • OO,OO以后,及其极限(4)
  • 设置MSN可自动防卸MSN蠕虫病毒
  • 查看远程计算机磁盘剩余空间脚本
  • Photoshop 润饰图像(六)替换颜色
  • 养生保健
  • [转载]Unix&Linux历史重温
  • 用flash流光溢彩字效果
  • 在ATM网络支持IP
  • 飘雪的贺卡
  • PHP中在数据库中保存Checkbox数据(2)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.