下面的步骤为名为 BestTextEditor 的现有的非桌面智能型应用程序创建注册软件包。
本实例假设下列关于 BestTextEditor 应用程序的事实成立:
它安装在 /usr/BTE 目录下。
用户会话的语言是缺省值 C。
启动 BestTextEditor 的命令行是:
BTEd {filename]
其中 filename 是将在新的窗口中打开的数据文件的名称。BestTextEditor 创建自己的窗口-就是说,它不是在终端仿真器窗口中运行。
BestTextEditor 创建和使用两种类型的数据文件:
文档文件。它们的命名惯例是 *.bte。BestTextEditor 提供了打印它自己的 .bte 数据文件的命令行。该命令的语法是:
BTEPrint [-ddestination] [-s]filename
其中:
-d destination-指定目标打印机。
-s-指定静音打印。应用程序的打印对话框不显示。
filename-指定要打印的文件。
模板文件。它们的命名惯例是 *.tpl。模板文件不能打印。
现有的 BestTextEditor 的非桌面 app-defaults 文件内包含界面字体、前景色和背景色的资源。
用帮助开发者工具包创建 BestTextEditorwas 的联机帮助卷。联机帮助卷建立以后,它使用下面的源文件:
.../BTEHelp.htg .../graphics/BTE1.xwd .../graphics/BTE2.xwd
同时生成文件 .../BTEHelp.sdl。
以下是注册 BestTextEditor 的分步过程。
修改字体和颜色资源。
在 BestTextEditor 的 app-defaults 文件中,删除设置以下项目的资源:
文本的字体
前景和背景的颜色
创建应用程序的根目录。
创建下面的目录:
/desktop_approots/BTE
如果是集成现有的应用程序,就应该创建与安装地点不同的应用程序根目录;否则,创建的配置文件可能会在更新应用程序时被删除掉。
创建注册软件包目录。
创建下面的目录:
/desktop_approots/BTE/dt/appconfig/types/C
/desktop_approots/BTE/dt/appconfig/help/C
/desktop_approots/BTE/dt/appconfig/icons/C
/desktop_approots/BTE/dt/appconfig/appmanager/C/ BestTextEditor
创建应用程序的操作和数据类型。
创建定义操作和数据类型的配置文件:
/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt
创建运行 BestTextEditor 的操作定义:
ACTION BTEditor
{
WINDOW_TYPE NO_STDIO
ICON BTERun
DESCRIPTION Double-click this icon or drop\
a BTE data file on it to run \
BestTextEditor.
EXEC_STRING /usr/BTE/BTEd%Arg _1%
}
创建 *.bte 文件的数据类型:
DATA_ATTRIBUTES BTEDataFile
{
DESCRIPTION BestTextEditor data file
ICON BTEData
ACTIONS Open,Print
}
ICON BTEData
ACTIONS Open,Print
}
DATA_CRITERIA BTEDataFileCriteria1
{
DATA_ATTRIBUTES_NAME BTEDataFile
NAME_PATTERN *.bte
MODE f
}
创建 *.tpl 文件的数据类型:
DATA_ATTRIBUTES BTETemplateFile
{
DESCRIPTION BestTextEditor template file
ICON BTETempl
ACTIONS Open
}
ICON BTETempl
ACTIONS Open
}
DATA_CRITERIAL BTETemplateFileCriteria1
{
DATA_ATTRIBUTES_NAME BTETemplateFile
NAME_PATTERN *.tpl
MODE f
}
创建 *.bte 的打开操作。
ACTION Open
{
ARG_TYPE BTEDataFile
TYPE MAP
MAP_ACTION BTEditor
}
创建 *.bte 的打印操作。
下面是打印数据文件的简单打印操作。这些操作需要为 LPDEST 环境变量设置一个值,并忽略 -s 打印选项。(如果 LPDEST 没有设置,打印操作可能会失败。)
ACTION Print
{
ARG_TYPE BTEDataFile
TYPE MAP
MAP_ACTION BTEPrintData
}
ACTION BTEPrintData
{
WINDOW_TYPE NO_STDIO
EXEC_STRING BTEPrint -d $LPDEST%Arg _1%
}
下面是 BTEPrintData 操作的另一个版本和伴随脚本。它们一起处理没有设置 LPDEST 或需要静音打印的情况。
ACTION BTEPrintData
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/BTE/bin/BTEenvprint \
%(File)Arg_1%
}
/usr/BTE/bin/BTEenvprint 脚本的内容是:
# BTEenvprint
#!/bin/sh
DEST=""
SILENT= ""
if [ $LPDEST ] ; then
DEST="-d $LPDEST "
fi
BTEPrint $DEST SILENT $1
创建 *.tpl 文件的"打开"操作:
ACTION Open
{
ARG_TYPE BTETemplateFile
TYPE MAP
MAP_ACTION BTEditor
}
创建 *.tpl 文件的"打印"操作:
ACTION Print
{
ARG_TYPES BTETemplateFile
TYPE MAP
MAP_ACTION NoPrint
}
NoPrint 是内置的操作,用于显示对话框,告诉用户文件不能打印。
把帮助文件放入注册软件包内。
把帮助文件放置在下列位置:
/desktop_approots/BTE/dt/appconfig/help/C/BTEHelp.sdl
/desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE1.xwd
/desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE2.xwd
创建下面的文件:
/desktop_approots/BTE/dt/appconfig/types/C/BTEhelp.dt.
把下面的操作定义放置在文件内:
ACTION BTEHelp
{
WINDOW_TYPE NO_STDIO
EXEC_STRING /usr/dt/bin/dthelpview -helpVolume \
BTEHelp.sdl
DESCRIPTION Opens the BestTextEditor help volume.
}
创建应用程序图标。
用"图标编辑器"创建图标。表 5-3 显示了所要采用的图标大小标准。
表 5-3 图标大小标准|
图标名 |
大小 |
|---|---|
|
basename .t.pm |
16 乘 16 |
|
basename .m.pm |
32 乘 32 |
|
basename.l.pm |
48 乘 48 |
在目录 /desktop_approots/BTE/dt/appconfig/icons/C 下创建下面的图标文件:
代表运行应用程序的操作的图标:BTERun.t.pm,BTERun.m.pm,BTERun.l.pm
代表 *.bte 文件的图标: BTEData.t.pm,BTEData.m.pm,
代表 *.tpl 文件的图标: BTETempl.t.pm,BTETempl.m.pm
代表应用程序组的图标 (用于第 7 步) :BTEApp.t.pm,BTEApp.m.pm
如果尚未创建的话,请创建下面的目录。
/desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor
本步骤可选步骤。通过为应用程序组创建一种数据类型和相关联的操作来为程序组提供专用图标。如果忽略这一步,应用程序组将使用缺省的图标。
把下面的数据类型和操作定义添加到文件 /desktop_approots/BTE/dt/appconfig/types/C/BTE.dt 中。这些数据类型指定了 BestTextEditor 应用程序组所使用的图标。这些操作提供了与内置应用程序组相同的"打开"和"打印"性能。
DATA_ATTRIBUTES BestTextEditorAppGroup
{
ACTIONS OpenInPlace,OpenNewView
ICON BTEApp
}
DATA_CRITERIA BestTextEditorAppGroupCriterial
{
DATA_ATTRIBUTES_NAME BestTextEditorAppGroup
MODE d
PATH_PATTERN */appmanager/*/BestTextEditor
}
ACTION Open
{
ARG_TYPE BestTextEditorAppGroup
TYPE MAP
MAP_ACTION OpenAppGroup
}
ACTION Print
{
ARG_TYPE BestTextEditorAppGroup
TYPE MAP
MAP_ACTION PrintAppGroup
}
在应用程序组内创建启动应用程序的图标。这需要创建下面的文件:
/desktop_approots/BTE/dt/appconfig/appmanager/C \
/BestTextEditor/BTEditor
并使文件可执行。
在应用程序组内创建打开帮助卷的图标。这需要创建下面的文件:
/desktop_approots/BTE/dt/appconfig/appmanager/C \
/BestTextEditor/BTEHelp
并使文件可执行。
把其他文件放入应用程序组中;例如,"自述 "文件、样本数据和模板文件。
注册应用程序。
在终端仿真器窗口内: