Solaris 公用桌面环境: 高级用户和系统管理员指南

创建注册包的示例

下列步骤为名为 BestTextEditor 的已有的非桌面智能型应用程序创建注册包。

所需了解的关于``BestTextEditor''的信息

本示例假设 BestTextEditor 应用程序有下列事实:

注册"BestTextEditor"的步骤

下列步骤逐步完成 BestTextEditor 的注册。

  1. 修改字体和颜色资源。

    在 BestTextEditor 的 app-defaults 文件中,删除设置下列对象的资源:

    • 文本的字体

    • 前景和背景的颜色

  2. 创建应用程序的根目录。

    创建下列目录:

    /desktop_approots/BTE

    如果是集成已有的应用程序,需要创建与安装地点不同的应用程序根目录;否则,创 建的配置文件可能会在更新应用程序时被删除掉。

  3. 创建注册包目录。

    创建下列目录:

    /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
  4. 创建应用程序的动作和数据类型。

    1. 创建定义动作和数据类型的配置文件:

      /desktop_approots/BTE/dt/appconfig/types/C/BTE.dt
    2. 创建运行 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%
           }
    3. 创建*.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                                                               
      }
    4. 创建*.tpl文件的数据类型:

      DATA_ATTRIBUTES BTETemplateFile
          {
             DESCRIPTION     BestTextEditor template file
             ICON            BTETempl
             ACTIONS         Open
           }
      
      DATA_CRITERIAL BTETemplateFileCriteria1
      {
         DATA_ATTRIBUTES_NAME     BTETemplateFile
         NAME_PATTERN      *.tpl
         MODE         f
      }
    5. 创建*.bte的打开动作。

      ACTION Open
          {
             ARG_TYPE      BTEDataFile 
             TYPE       MAP
             MAP_ACTION    BTEditor
          }
    6. 创建*.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
    7. 创建*.tpl文件的"打开"动作:

      ACTION Open
          {
              ARG_TYPE         BTETemplateFile 
              TYPE          MAP 
              MAP_ACTION         BTEditor
          }
    8. 创建*.tpl文件的"打印"动作:

      ACTION Print
          {
              ARG_TYPES       BTETemplateFile 
              TYPE         MAP 
              MAP_ACTION        NoPrint
          }

      NoPrint 是内置的动作,用于显示对话框,告诉用户文件不能打印。

  5. 把帮助文件放入注册包内。

    1. 把帮助文件放置在下列位置:

        /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
    2. 创建下列文件:

      /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.
          }
  6. 创建应用程序图标。

    用"图标编辑器"编辑图标。表 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

  7. 创建应用程序组。

    1. 如果尚未创建的话,创建下列目录。

      /desktop_approots/BTE/dt/appconfig/appmanager/C/BestTextEditor
    2. 本步骤可选。通过为应用程序组创建一种数据类型,并把动作和应用程序组关联起来, 为程序组提供专用图标。 如果忽略这一步,应用程序组将使用缺省的图标。

      把下列数据类型和动作定义添加到/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
          }
    3. 在应用程序组内创建起动应用程序的图标。这需要创建下列文件:

       /desktop_approots/BTE/dt/appconfig/appmanager/C \
           /BestTextEditor/BTEditor

      并使文件可执行。

    4. 在应用程序组内创建打开帮助卷的图标。这需要创建下列文件:

       /desktop_approots/BTE/dt/appconfig/appmanager/C \
           /BestTextEditor/BTEHelp

      并使文件可执行。

    5. 把其余文件放入应用程序组中;例如,"自述 "文件、样本数据和模板文件。

  8. 注册应用程序。

    在终端仿真程序窗口内:

    1. 以超级用户登录。

    2. 运行下列命令:

      /usr/dt/bin/dtappintegrate -s /desktop_approots/BTE
    3. 打开 Desktop_Tools 应用程序组,双击"重新装入应用程序"。