下列步骤为名为 BestTextEditor 的已有的非桌面智能型应用程序创建注册包。
本示例假设 BestTextEditor 应用程序有下列事实:
它安装在/usr/BTE目录下。
用户会话的语言是缺省值C。
起动 BestTextEditor 的命令行是:
BTEd {filename]
其中filename是将在新的窗口中打开的数据文件名。BestTextEditor 创建自己的窗口-就是说,它不是在终端仿真程序窗口中运行。
BestTextEditor 创建和使用两种类型的数据文件:
文档文件。它们的命名惯例是*.bte。BestTextEditor 提供 打印自己的.bte数据文件的命令行,命令行的语法是:
BTEPrint [-ddestination] [-s]filename
其中:
-ddestination-指定目标打印机。
-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 } DATA_CRITERIA BTEDataFileCriteria1 { DATA_ATTRIBUTES_NAME BTEDataFile NAME_PATTERN *.bte MODE f }
创建*.tpl文件的数据类型:
DATA_ATTRIBUTES BTETemplateFile { DESCRIPTION BestTextEditor template file 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
并使文件可执行。
把其余文件放入应用程序组中;例如,"自述 "文件、样本数据和模板文件。
注册应用程序。
在终端仿真程序窗口内: