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
           }
       				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
           }
       				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.pmBTERun.m.pmBTERun.l.pm

    • 代表 *.bte 文件的图标: BTEData.t.pmBTEData.m.pm

    • 代表 *.tpl 文件的图标: BTETempl.t.pmBTETempl.m.pm

    • 代表应用程序组的图标 (用于第 7 步) :BTEApp.t.pmBTEApp.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 应用程序组,双击"重新装入应用程序"。