创建操作有两种方法:
使用“创建操作”桌面应用程序
手动创建操作定义
手动创建操作需要编辑数据库文件。本章描述如何进行手动创建操作定义。
有关操作的介绍,请参见第 10 章,操作与数据类型的介绍 。
有关使用“创建操作”的信息,请参见第 11 章,用创建操作命令来创建操作和数据类型。
有关操作定义的参考信息,请参见 dtactionfile(4) 手册页。
COMMAND
MAP
TT_MSG
“创建操作”工具设计用来创建一些特定类型的 COMMAND 和 MAP 操作。所有 TT_MSG 操作都必须手动创建。
有关详细信息,请参见创建操作的限制。
command 操作执行命令启动应用程序或公用程序、运行 shell 脚本命令或执行操作系统命令。 操作的定义包括要执行的命令 (EXEC_STRING)。
“创建操作”工具能用于创建最通用类型的命令操作。不过在有些情况下必须手动创建操作。例如,如果操作中有以下指定就必须手动创建 COMMAND 操作:
多文件变量,而且每个变量有不同的提示符。
操作调用—操作调用其他操作的能力。
变量计数依赖性能—创建对不同文件变量数目而有很不相同性能的操作的能力。
远程执行主机—在包含操作定义的系统之外的系统上运行应用程序的能力。
用户的更改—作为不同用户运行该操作的能力 (例如,提示输入超级口令, 然后以超级用户身份运行操作)。
映射操作是不直接指定命令或 ToolTalk 消息,而是“映射 ”到另一个操作的操作
映射可以指定操作的替代名称。例如,名为 IconEditor 的内置命令操作启动“图标编辑器”。数据库还包括对位图和像素图文件的定义中 (通过 ARG_TYPE 字段) 限定的 Open 操作,它映射到 IconEditor 操作。这使用户可以通过在“文件管理器”中选择位图或像素图文件并在“选中”菜单中选择“打开”来启动“图标编辑器”。
“创建操作”能为“打开”和“打印”操作提供有限的映射功能。所有其他的映射操作必须手动创建。
TT_MSG 操作发送 ToolTalk 消息。所有 TT_MSG 操作都必须手动创建。
本节介绍如何为操作定义创建配置文件。
包含操作定义的配置文件必须满足下面的要求:
文件必须使用命名惯例name.dt
文件必须位于数据库 (操作和数据类型) 的查找路径内。缺省的查找路径为:
个人操作—HomeDirectory /.dt/types
系统范围操作—/etc/dt/appconfig/types/language
内置操作—/usr/dt/appconfig/types/language。你不应使用此目录。
有关修改操作/数据类型查找路径的信息,请参见设置查找路径的值。
打开现有的数据库文件或创建新文件。
请参见上一节操作的配置文件。
使用如下语法创建操作定义:
ACTIONaction_name { TYPE action_type action_field … }
其中:
action_name—运行操作所用的名称。
action_type—COMMAND (缺省值) 、MAP 或 TT_MSG
action_field—这类操作必需或任选的字段之一。所有字段都由关键字和值组成。
本章包含多种操作字段。有关详细信息,请参见 dtactionfile (4) 手册页。
保存文件。
如果需要操作图标有唯一的图像,请为操作创建图标。图标的缺省位置为:
个人图标:HomeDirectory /.dt/icons
系统范围图标:/etc/dt/appconfig/icons/language 。缺省的 language 是 C。
有关详细信息,请参见指定“操作所用的图标图像”。
在 Desktop_Tools 应用程序组中双击“重新装入操作”。
为操作创建操作文件。该操作文件在“文件管理器”或“应用程序管理器 ”中创建代表该操作的图标。(如果操作被写以启动应用程序,则该图标称为应用程序图标。)
要创建操作文件,需要创建与 action_name 同名的可执行文件。该文件可位于任何您具有写许可的目录内。可创建任意多个操作文件。
下面的步骤在远程系统 AppServerA上创建了启动传真应用程序的个人操作。启动传真应用程序的命令是:
/usr/fax/bin/faxcompose [filename]
创建 HomeDirectory/.dt/types/Fax.dt 文件。
将下面的操作定义放到文件中:
ACTION FaxComposer { TYPE COMMAND ICON fax WINDOW_TYPE NO_STDIO EXEC_STRING /usr/fax/bin/faxcompose -c%Arg_1% EXEC_HOST AppServerA DESCRIPTION Runs the fax composer
}
WINDOW_TYPE 和 EXEC_STRING 字段描述操作的性能。
WINDOW_TYPE—NO_STDIO 关键字指定该操作不必在终端仿真器窗口中运行。
请参见为操作指定窗口支持。
EXEC_STRING—语法 %Arg_1% 接受拉放文件。如果双击操作图标,操作将打开空的传真书写器窗口。
保存文件。
用“图标编辑器”在 HomeDirectory /.dt/icons 目录中创建下面的图标图像文件:
fax.m.pm,大小为 32 乘 32 像素
fax.t.pm,大小为 16 乘 16 像素
在 Desktop_Tools 应用程序组中双击“重新装入操作”。
在具有写许可的目录 (例如,起始目录) 中创建名为 FaxComposer 的可执行文件。
假设绝大部分传真文件用“文本编辑器”创建,而且属于数据类型 TEXTFILE (文件名为 *.txt)。
下面的步骤在数据类型的“选中”菜单中加入“传真”菜单项。
打开在上例中创建的 HomeDirectory/.dt/types/Fax.dt 文件。
在文件中加入下面的映射操作的定义:
ACTION Fax { ARG_TYPE TEXTFILE TYPE MAP MAP_ACTION FaxComposer }
保存文件。
将 TEXTFILE 的数据属性定义从 /usr/dt/appconfig/types/language /dtpad.dt 复制到新的文件 HomeDirectory /.dt/types/textfile.dt。将“传真”操作添加到 ACTIONS 字段。
DATA_ATTRIBUTES TEXTFILE { ACTIONS Open,Print,Fax ICON Dtpenpd … }
保存文件。
打开应用程序管理器,在 Desktop_Tools 应用程序组中双击“重新装入操作”。
为使新的或经过编辑的操作定义有效,桌面必须重新读取数据库。
打开 Desktop_Tools 应用程序组,双击“重新装入操作”。
或者,执行下面的命令:
dtaction ReloadActions
ReloadActions 是图标的标记为“重新装入操作”的操作的名称。
当用户进行下面的操作时,操作数据库也被重新读取:
登录
重新启动“工作区管理器”
从“文件”菜单选择“保存”在“创建操作”窗口保存操作
操作文件是为在“文件管理器”或“应用程序管理器” 中提供操作的可视表示而创建文件。
由于操作文件的图标表示一个操作,因此有时也被称为操作图标。如果其潜在的操作启动应用程序,则操作文件图标也被称为应用程序图标。
双击操作图标来运行操作。操作图标同时也可能是拉放区。
例如,操作的定义如下:
ACTION MyFavoriteApp { EXEC_STRING Mfa -file%Arg _1% DESCRIPTION Runs MyFavoriteApp ICON Mfapp }
此时,操作文件是名为 MyFavoriteApp 的可执行文件。在“文件管理器”和“应用程序管理器”中,MyFavoriteApp 文件将使用图标图像 Mfapp.size.type。双击 MyFavoriteApp 的图标就运行该操作的执行字符串,图标的“针对项”帮助则为 DESCRIPTION 字段 (“运行 MyFavoriteApp”) 的内容。
如果操作定义包含 LABEL 字段,该操作文件就在“文件管理器”和“应用程序管理器”中加上该字段内容的标号而不是文件名 (action_name)。例如,如果操作定义中包含下面的定义:
ACTION MyFavoriteApp { LABEL Favorite Application … }
此时操作图标标记为“喜爱的应用程序”。
使用 ICON 字段来指定用于“文件管理器”和“应用程序管理器”的图标,作为为操作创建的操作图标。
如果未指定图标,系统将使用缺省的操作图标图像文件 /usr/dt/appconfig/icons/language /Dtactn.*。
*actionIcon: icon_file_name
其中 icon_file_name 可以是基本名称或绝对路径。
基本文件名
基本文件名是包含图标图像的全文件名减去有关大小 (m 和 t) 和图像类型 (bm 和 pm) 的后缀。例如,如果全文件名为 GameIcon.m.pm 和 GameIcon.t.pm,则基本文件名为 GameIcon。
如果采用基本文件名,图标文件必须放置在位于图标查找路径的目录内:
个人图标:HomeDirectory /.dt/icons
系统范围图标:/etc/dt/appconfig/icons/language
图标文件的绝对路径,包含全文件名
只有在图标文件不在图标查找路径内时才使用绝对路径。例如,如果图标文件 GameIcon.m.pm 放在目录 /doc/projects (不在图标查找路径) 下,ICON 字段值则为 /doc/projects/GameIcon.m.pm。
表 12–1 列出了应该创建的图标大小和相应的文件名。
像素大小 |
位图名 |
像素图名 |
---|---|---|
48 乘 48 |
name .l.bm |
name .l.pm |
32 乘 32 |
name .m.bm |
name .m.pm |
16 乘 16 |
name .t.bm |
name .t.pm |
可修改系统内任何可用的操作,包括内置操作。
修改内置操作数据库时必须小心。因为内置操作是为很好使用桌面应用程序而设计的。
找到需要修改的操作定义。
操作定义的缺省位置是:
如果必要的话,将操作定义的文本复制到下面的目录之一中新的或现有的文件中:
系统范围操作:/etc/dt/appconfig/types/language
个人操作:HomeDirectory /.dt/types
由于不应在 /usr/dt/appconfig/types/language 目录中编辑文件,所以必须复制内置操作。
编辑操作定义。
编辑完毕后请保存文件。
在 Desktop_Tools 应用程序组中双击“重新装入操作”。
当用户调用操作时,系统在数据库中查找匹配的操作名。如果存在多个由该名称的操作,系统则利用优先级规则来决定使用哪个操作。
如果没有其他优先级规则可用,将使用基于定义位置的优先级。下表按从高到低的优先级排列:
个人操作 (HomeDirectory /.dt/types)
系统范围的本地操作 (/etc/dt/appconfig/types/language)
系统范围的远程操作 (hostname :/etc/dt/appconfig/types/language)。只查找在应用程序查找路径内的远程主机。
内置操作 (/usr/dt/appconfig/types/language)
在给定的目录内,*.dt文件按字母顺序读取。
由 ARG_CLASS、ARG_TYPE、ARG_MODE 或 ARG_COUNT 限定的操作优先于未限定的操作。(上述四种字段的缺省值是*。)
当应用了多个限定时,优先级顺序从高到低是:
ARG_CLASS
ARG_TYPE
ARG_MODE
ARG_COUNT
存在多于一个限定的 ARG_COUNT 时,优先级顺序从高到低是:
特定整数值 n
<n
>n
*
例如,考虑操作定义的下面部分:
ACTION EditGraphics # EditGraphics-1 { ARG_TYPE XWD … }
ACTION EditGraphics # EditGraphics-2 { ARG_COUNT 0 … }
ACTION EditGraphics # EditGraphics-3 { ARG_TYPE * … }
因为没有提供变量并且 ARG_COUNT 0 优先,双击 EditGraphics 操作图符启动 EditGraphics-2。当提供了 XWD 类型的文件变量时,使用 EditGraphics-1,因为它指定了 XWD ARG_TYPE。对于所有其他文件的变量,则使用 EditGraphics-3。
COMMAND 操作至少需要两个字段—ACTION 和 EXEC_STRING。
ACTION action_name { EXEC_STRINGexecution_string }
执行字符串是 COMMAND 操作定义中最重要的部分。它使用的语法与在“终端”窗口内执行的命令行相似,但包含了用于处理文件和字符串变量的附加语法。
执行字符串可能包括:
文件和非文件变量
shell 语法
可执行文件的绝对路径或名称
变量是命令或应用程序正确运行所需要的信息。例如,考虑可用于在“文本编辑器”中打开文件的命令:
dtpadfilename
在该命令中,filename 是 dtpad 命令的文件变量。
象应用程序和命令一样,操作也可以有变量。COMMAND 操作可以使用两种类型的数据:
文件
字符串数据
执行字符串不经过 shell 就直接执行。但是,也可以明确地在执行字符串中调用 shell。
例如:
EXEC_STRING \ /bin/sh -c \ 'tar -tvf% (File)Arg_1% 2>&1 | \${PAGER:-more;\ echo “\\n*** Select Close from the Window menu to close ***”'
如果应用程序位于 PATH 变量所列的目录之中,则可以使用简单的可执行文件名。如果应用程序在别处,则必须使用可执行文件的绝对路径。
从命令行启动应用程序,使用相同的 EXEC_STRING 语法。
文件变量使用如下语法:
%Arg_n%
或
%(File)Arg_n%
(File) 是可选项,因为 Arg_n 提供的变量 (缺省) 假定为文件。(请参见将文件变量解释成字符串 ,以获得% (String)Arg_n% 语法的使用方法。)
该语法使用户可以通过在操作图标上拉放数据文件对象来启动带有该文件变量的操作。它将第 n 个变量替代到命令行中。拉放文件可以是本地文件或远程文件。
下例所显示的是仅用目录变量工作的操作的定义的一部分。当目录被拉放在操作图标上时,该操作将该目录内所有有读写许可的文件列表显示出来。
ACTION List_Writable_Files { ARG_TYPE FOLDER EXEC_STRING /bin/sh -c 's -l%Arg _1% | grep rw-' … }
文件变量使用如下语法:
%(File) "提示"%
该语法创建了一个操作,该操作在用户双击操作图标时显示提示输入文件名。
例如,下面的执行字符串显示对话框,提示输入 wc -w 命令的文件变量:
EXEC_STRING wc -w% (File)"Count words in file:"%
文件变量使用如下语法:
%Arg_n"提示"%
或
%(File)Arg_n"提示"%
该语法产生的操作:
接受拉放文件作为文件变量。
用户双击操作图标时显示对话框,提示输入文件名。
例如,下面的执行字符串在拉放文件上执行 lp -oraw 操作。如果操作由双击图标启动,则出现对话框提示输入文件名。
EXEC_STRING lp -oraw%Arg _1"File to print:"%
对非文件变量使用如下语法:
%"提示"%
或
%(String) "提示"%
由于缺省情况下,引号内的文本被解释为字符串,所以 (String)是可选项。该语法显示对话框,提示输入非文件数据;如果提示输入文件名就不能用该语法。
例如,下面的执行字符串运行 xwd 命令,并提示要增加到每个像素的值:
EXEC_STRING xwd -add% "增加值:"% -out%Arg _1"文件名:"%
变量使用如下语法:
%(String)Arg_n%
例如,下面的执行字符串用于打印具有包含文件名标题的文件,所用命令为 lp-t 标题文件名。
EXEC_STRING lp -t%(String)Arg_1%% (File)Arg_1"File to print:"%
在执行字符串中指定 shell:
/bin/sh -c 'command' /bin/ksh -c 'command' /bin/csh -c 'command'
下面的执行字符串要求变量为压缩文件。此操作解压缩文件并用 lp -oraw 打印该文件。
EXEC_STRING /bin/sh -c 'cat%Arg _1 "要打印的文件:"% | \ uncompress | lp -oraw'
操作有三种处理多文件变量的方法:
该操作可以重复运行,每一变量执行一次。当 EXEC_STRING 包含单个文件变量,而且通过在操作图标上拉放多个文件来提供多文件变量时,则对每个文件变量分别运行此操作。
例如,如果为下面的操作定义提供多文件变量,则:
ACTION DisplayScreenImage { EXEC_STRING xwud -in%Arg _1% … }
DisplayScreenImage 操作被重复运行。
采用下面的语法惯例之一:
如果需要操作来提示输入文件名,则每个文件变量均使用如下语法:
%(File) "提示"%
对每个变量使用不同的提示字符串。
例如,下面的执行字符串提示输入两个文件。
EXEC_STRING xsetroot -cursor% (File)"光标位图:"% \ %(File)"掩码位图:"%
采用下面的语法惯例之一:
要接受多重拉放文件变量并以下面的形式执行命令行:
command file 1 file 2 …
使用如下语法:
%Args%
COMMAND 操作有几种桌面上支持窗口的方法。
如果应用程序有自己的窗口,操作可以写成不提供附加的窗口支持。该选项也用于运行不需要用户直接输入,也没有输出的命令。
如果应用程序必须在终端仿真器窗口内运行,操作可写成打开窗口,然后运行该应用程序。 有几种终端选项。
使用 WINDOW_TYPE 字段指定如表 12–2所示的操作所需的窗口支持类型。
表 12–2 WINDOW_TYPE 字段和提供的窗口支持
提供的窗口支持 |
|
---|---|
无。如果应用程序有自己的窗口,或命令无可见输出,使用 NO_STDIO 选项。 |
|
永久的终端仿真器窗口。此操作可打开终端窗口,该窗口在用户明确地关闭之前保持打开。用户可以在窗口中输入数据。用于获取某些输入,产生某些输出,然后终止的命令 (例如 ls 目录 )。 |
|
临时的终端仿真器窗口。该操作打开终端窗口,而该窗口在命令完成后立即关闭。用于全屏幕命令 (例如,vi)。 |
使用操作定义中的 TERM_OPTS 字段指定终端仿真器的命令行选项。
例如,下面的操作提示输入执行主机:
ACTION OpenTermOnSystemUserChooses { WINDOW_TYPE PERM_TERMINAL EXEC_HOST %(String)"远程终端在:"% TERM_OPTS -title% (String)"窗口标题:"% EXEC_STRING $SHELL }
操作所使用的缺省终端仿真器是 dtterm。可以将其更改为另一终端仿真器。如果没有明确地指定要用的终端仿真器,将使用缺省终端仿真器。
操作所使用的终端仿真器必须有下面的命令行选项:
-title window_title
-e command
操作使用的缺省终端仿真器由两类资源决定:
remoteTerminal 资源指定远程应用程序所使用的终端仿真器。
*remoteTerminal: host:terminal [,host:terminal…]
例如:
*remoteTerminal: sysibm1:/usr/bin/xterm,syshp2:/usr/bin/yterm
限定操作使用某种特定类型的变量可以改善操作的性能。例如,应限定调用 PostScript 文件的查看器的操作只使用 PostScript 文件变量;使用此限定后,在指定非 PostScript 文件时,操作将会返回错误对话框。
可以基于下面的方式来限定操作:
文件变量的数据类型。
文件变量的数量—例如,没有变量与一个或多个变量。这为操作图标提供了不同的拉放置和双击性能。
变量的读/写模式。
使用 ARG_TYPE 字段指定使操作有效的数据类型。使用数据的属性名。
可以输入一列数据类型;不同项之间用逗号隔开。
例如,下面的操作定义假定已创建了 GIF 数据类型。
ACTION Open_Gif { TYPE COMMAND LABEL "Display Gif" WINDOW_TYPE NO_STDIO ARG_TYPE Gif ICON xgif DESCRIPTION Displays gif files EXEC_STRING xgif }
使用 ARG_COUNT 字段指定此操作可接受的变量个数。有效值为:
* (缺省值) —任意个数的变量。其他值的优先级都比 * 高。
n—任意非负整数,包括 0。
>n—多于 n 个变量。
<n—少于 n 个变量。
ARG_COUNT 的一个用途是提供不同的操作图标性能,取决于用户是双击图标还是在图标上拉放一个文件。请参见下一节,“提供不同的双击和拉放性能”。
按此步骤来创建接受拉放文件的操作,但当双击操作图标时,并不提示输入文件。
为双击功能创建操作定义。
使用 ARG_COUNT 字段指定 0 变量。为 EXEC_STRING 使用的语法不接受拉放文件。
为放置功能创建第二个操作定义。
使用 ARG_COUNT 字段指定 0 变量。 为 EXEC_STRING 使用的接受拉放文件。
例如,假设下面的两个命令行能用于启动名为 vedit 的编辑器:
带文件参数启动编辑器,文件以只读方式 打开:
vedit -R filename
下面的两个操作为名为 Vedit 的操作创建拉放和双击功能。当查找数据库以查找匹配项时,第一个操作优先,这是因为,ARG_COUNT 0 比隐含的 ARG_COUNT * 有更特定的拉放功能性定义。
# Double-click functionality ACTION Vedit { TYPE COMMAND ARG_COUNT 0 WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit } # Drop functionality ACTION Vedit { TYPE COMMAND WINDOW_TYPE PERM_TERMINAL EXEC_STRING vedit -R %Arg_1% }
使用 ARG_MODE 字段来指定变量的读/写模式。有效值为:
* (缺省值) —任意模式
!w—不可写
w—可写
在讨论操作和远程执行时经常要使用的两个术语:
数据库主机—包含操作定义的系统
执行主机—运行可执行文件的系统
在大多数情况下,操作和它们的应用程序位于同一系统上;由于操作的缺省执行主机与数据库主机相同,因此不需要特殊的语法。
但是,当执行主机与数据库主机不同时,操作定义必须指定执行字符串在哪个主机上运行。
在不同系统上定位操作和应用程序的能力是桌面的客户/服务器体系结构的一部分。有关网络应用程序更深层次的讨论,请参见管理应用程序服务。
使用操作定义中的 EXEC_HOST 字段指定应用程序的位置。
EXEC_HOST 的有效值是:
%DatabaseHost%—定义了操作的主机。
%LocalHost%—调用了操作的主机 (会话服务器)。
%DisplayHost%—运行 X 服务器的主机 (对 X 终端不允许)。
%SessionHost%—运行控制“登录管理器”的主机。
hostname—命名的主机。 当操作只能在一台特定主机上调用时,为环境使用此值。
%"提示 "%—在每次调用操作时,提示用户输入主机名。
缺省值为 %DatabaseHost%,%LocalHost%。因此,当忽略了 EXEC_HOST 字段,该操作先尝试在包含操作定义的主机上运行该命令。如果失败,操作再试图在会话服务器上运行命令。
在操作和数据类型的定义文件中,可以包括字符串变量和环境变量。
字符串变量定义只在定义位置至文件尾之间有效。数据库没有全局的字符串变量。
如果字符串变量和环境变量同名,字符串变量的优先级高。
使用如下语法:
set variable_name=value
变量名可以包含任意字母字符和下划线 (_)。 每个变量的定义必须单独占一行。
例如:
set Remote_Application_Server=sysapp set Remote_File_Server=sysdata
使用如下语法:
$[{] variable_name[}]
例如:
EXEC-HOST $Remote_Application_Server CWD /net/${Remote_File_Server/doc/project
使用如下语法来引用环境变量:
$[{] variable[}].
变量是在装入数据库时展开的 (被其值所取代)。如果字符串变量和环境变量同名,字符串变量的优先级高。
例如,此执行字符串打印具有登录名标题的文件。
EXEC-STRING lp -t$LOGNAME% (File)Arg_1%
桌面提供 dtaction 命令来从命令行运行操作。可使用 dtaction 从下面的途径运行操作:
脚本
其他操作
终端仿真器命令行
dtaction [-user user_name] [-execHost hostname] \ action_name [argument [argument]…]
-user user_name—提供以不同用户身份运行操作的能力。如果 dtaction 被 user_name 以外的用户调用,将显示提示符指示输入口令。
-execHost hostname—仅适用于 COMMAND 操作; 指定将要运行命令的主机。
argument—操作的变量;通常是文件变量。
dtaction 客户机程序还有其他的命令行选项。有关详细信息,请参见dtaction (1) 手册页。
使用 EXEC_STRING 操作中的 dtaction。
例如,下面的操作使用名为 “Spell” 的内置操作 (该操作在“应用程序管理器”中标记为“检查拼写”)。 新的操作运行“文本编辑器”和“拼写”操作,并在单独的终端仿真器窗口内显示拼写错误。
ACTION EditAndSpell { WINDOW_TYPE NO_STDIO EXEC_STRING /bin/sh -c 'dtaction Spell \ %Arg_1"文件:"%; dtpad%Arg _1%' }
在 EXEC_STRING 使用下列语法:
EXEC_STRING dtaction -user user_name action_name [ file_argument]
新用户 (user_name) 必须通过下面的机制之一才能对本系统进行显示访问:
登录用户的 .Xauthority 文件的可读许可
或者 xhost 许可
例如,下面的两个操作提供了成为超级用户, 并编辑 app-defaults 文件的能力。
ACTION AppDefaults { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtaction -user root \ EditAppDefaults%Arg _1"文件:"% } ACTION EditAppDefaults { WINDOW_TYPE TERMINAL EXEC_STRING /bin/sh -c 'chmod +w%Arg _1%; \ vi%Arg _1%; chmod -w%Arg _1%' }
数据类型的查找路径包括与语言相关的位置。桌面利用 LANG 值来确定查找数据类型定义的位置。
本地化操作定义必须放置在沿操作查找路径的合适的语言相关的目录中。
缺省的查找路径为:
个人操作:HomeDirectory /.dt/types
系统范围操作:/etc/dt/appconfig/types/language
内置操作:/usr/dt/appconfig/types/language
在相应的与语言相关的目录中创建文件 (例如,在 /etc/dt/appconfig/types/japanese 中)。
将操作定义复制到与语言相关的配置文件。
例如,可以复制操作定义从
app_root/dt/appconfig/types/C/file.dt
复制到
app_root /dt/appconfig/types/japanese/newfile.dt
增加一个 LABEL 字段或修改现有的 LABEL 字段。
LABEL 字符串
“应用程序管理器”和“文件管理器”利用此标记字符串来标识操作的图标。
在操作定义中本地化任意下面的字段:
对于本地化图标:ICON
对于本地化“针对项”帮助:DESCRIPTION
对于本地化的提示符:在 EXEC_STRING 中任何带引号的文本
下面的信息只适用于支持 ToolTalk 消息的应用程序。
使用操作类型 TT_MSG
创建一个发送 ToolTalk 消息的操作。
ACTION action_name { TYPE TT_MSG … }
ToolTalk 定址字段总是设置为 TT_PROCEDURE。
处置字段的缺省值为静态消息模式中的指定值。
TT_MSG
类型操作不支持下面项:
ToolTalk 面向对象的消息
消息中的上下文变量
表 12–3显示 TT_MSG 操作的关键字及用法。
表 12–3 TT_MSG 操作关键字及用法
关键字 |
用法 |
---|---|
TT_CLASS |
定义 ToolTalk 的类消息字段的值 |
TT_SCOPE |
定义 ToolTalk 范围消息字段的值 |
TT_OPERATION |
定义 ToolTalk 操作消息字段的值 |
TT_FILE |
定义 ToolTalk 文件消息字段的值 |
TT_ARGn_MODE |
为 ToolTalk 的第 n 个消息变量定义模式属性的值 |
TT_ARGn_VTYPE |
定义 ToolTalk 的第 n 个消息变量的 vtype 属性的值 |
TT_ARGn_VALUE |
定义第 n 个消息变量的值 |