当用户创建新的数据文件时,在"文件管理器"中,文件图标的外观与性能随用户创建的数据文件类型的不同而不同。这种为文件和目录创建定制的外观和性能的能力由桌面数据分类机制提供。
数据类型是在桌面数据库内部定义的一种结构。例如,下面是 XWD 数据类型的定义。该定义在配置文件 /usr/dt/appconfig/types/language/xclients.dt 中:
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd NAME_TEMPLATE %s.xwd MIME_TYPE application/octet-stream SUNV3_TYPE xwd-file DESCRIPTION This file contains a graphics image in the XWD \ format. These files are typically created by \ taking snapshots of windows using the XwdCapture \ action. These files are typically created by \ taking snapshots of windows using the XwdCapture \ action. Its data type is named XWD. XWD files \ have names ending with `.xwd' or `.wd'. } DATA_CRITERIA XWD1 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.xwd } DATA_CRITERIA XWD2 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.wd }
每个数据类型定义均有两部分:
DATA_ATTRIBUTES-描述数据类型的外观和性能。
DATA_CRITERIA-指定将一个文件归类至所属数据类型的规则 (命名或内容)。
DATA_ATTRIBUTES_NAME 字段将标准连接到此属性。
一个 DATA_CRITERIA 可以有多个 DATA_CRITERIA。例如,XWD 数据类型具有两个标准来指定两个不同的命名标准 ( NAME_PATTERN)-名称以 .xwd 或以 .wd 结尾。
考虑 XWD 数据类型。用户通过给定文件两个文件名后缀 (扩展名):.xwd 或 .wd 之一来创建 XWD 类型的文件。桌面使用文件名作为将文件指定为某种类型的标准。
XWD 数据类型通过下面的方法提供此数据类型的每个文件:
唯一的图标图像,用来帮助用户识别数据文件。
"针对项"帮助,告知用户此数据类型的有关信息。
"文件管理器"中定制的"选中"菜单包含"打开"和"打印"操作。XWD 文件的"打开"操作运行 Xwud 操作。
"文件管理器"中的"选中"菜单,只有当文件或目录被选定时才是活动的。"选中"菜单底部的命令取决于数据类型。例如,如果选中 XWD 文件,则"选中"菜单包括"打开"和"打印"项。
数据类型定义中的 ACTIONS 字段指定了添加到数据类型的"选中"菜单底部的命令。
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ... }
"选中"菜单的内容取决于数据类型。但是,许多不同的数据类型都提供"打开"操作-就是说,当在 "文件管理器"中选择特定数据类型的文件并显示"选中"菜单时,可见到"打开"命令。
"打开"操作通常运行与数据文件相关联的应用程序。例如,打开 XWD 文件将运行 Xwud 操作,该操作随后运行 xwud X 客户机程序来显示屏幕图像。也就是说,对于 XWD 数据类型,"打开"操作与 Xwud 操作是同义的。同样,打开数据类型 TEXTFILE 数据类型文件将运行"文本编辑器", 而打开 BM (位图) 或 PM (像素图) 文件将运行"图标编辑器"。
创建各种完成不同事情的"打开"操作的能力使用了操作定义的两个特性:
下面是将"打开"操作映射到 XWD 数据类型 Xwud 操作的操作定义。该操作定义位于数据库配置文件 /usr/dt/appconfig/types/C/xclients.dt 中。
ACTION Open { LABEL Open ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
TYPE 字段指定这是一个映射操作;MAP_ACTION 字段指定此操作运行 Xwud 操作。 ARG_TYPE 字段指定该操作只应用于数据类型为 XWD 的文件。
比较"打开"操作的前一个定义与出现在数据库文件 /usr/dt/appconfig/types/C/dt.dt 的下一个定义中。
ACTION Open { LABEL Open ARG_TYPE BM TYPE MAP MAP_ACTION Dticon }
此定义应用于数据类型为 (ARG_TYPE) BM (位图文件) 的文件。该定义将"打开"操作映射到运行"图标编辑器"的 Dticon 操作。
数据类型的双击性能由 ACTIONS 字段的第一项定义。例如,对于 XWD 数据类型,双击性能将运行"打开"操作,该操作随后运行 Xwud 操作。
当用户将数据文件拉放到操作图标上时,系统使用此数据文件作为操作变量来运行该操作 (请参见 "操作如何使用作为变量的数据文件")。
例如,当 XWD 数据文件拉放到"Xwd 显示"图标上时,使用数据文件变量运行 Xwud 操作。此操作用该数据文件来运行 xwud X 客户机程序。
桌面打印提供打印数据文件的下列方法:
如果可用,在"文件管理器"的"选中"菜单中使用打印命令。
将数据文件拉放到桌面打印机拉放区 ("前面板"的 "打印机"控制或"打印管理器"中的打印机图标)。
除桌面打印外,许多应用程序还提供一种从应用程序内部打印的方法。
桌面打印使用名为"打印"的操作。"打印"和"打开"一样,是用于许多不同数据类型的操作名。因此,"打印"操作使用操作映射和 ARG_TYPE 字段来定制每种数据类型的打印。
例如,下面是 XWD 数据类型的"打印"操作。该定义位于 /usr/dt/appconfig/types/language/xclients.dt 中:
ACTION Print { LABEL Print ARG_TYPE XWD TYPE MAP MAP_ACTION NoPrint }
此"打印"操作专用于 XWD 文件,且映射到 NoPrint 操作。NoPrint 是在 /usr/dt/appconfig/types/language/dt.dt 中定义的专用操作。NoPrint 操作显示对话框,告知用户该数据类型无法打印。
将 XWD "打印"操作与下面的 PCL 文件的"打印"操作比较:
ACTION Print { LABEL Print ARG_TYPE PCL TYPE MAP MAP_ACTION PrintRaw }
在 /usr/dt/appconfig/types/language /print.dt 配置文件中定义的 PrintRaw 操作包含打印 PCL 文件的命令行。
ACTION PrintRaw { TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtlp -w% (File)Arg_1% }