Solaris CDE: Guía avanzada del usuario y del administrador del sistema

Introducción a los tipos de datos

Cuando el usuario crea un nuevo archivo de datos, el aspecto y el comportamiento del icono del archivo en el Gestor de archivos varían en función del tipo de archivo de datos creado. Esta capacidad para personalizar el aspecto y el comportamiento de los archivos y directorios la proporciona el mecanismo de establecimiento de tipos de datos del escritorio.

¿Qué es un tipo de datos?

Un tipo de datos es una estructura definida dentro de la base de datos del escritorio. Por ejemplo, ésta es la definición del tipo de datos XWD; se encuentra en el archivo de configuración /usr/dt/appconfig/types/idioma/xclients.dt:

DATA_ATTRIBUTES XWD 
{ 
ACTIONS				Open,Print 
ICON					Dtxwd 
NAME_TEMPLATE		%s.xwd 
MIME_TYPE      	application/octet-stream 
SUNV3_TYPE    		xwd-file 
DESCRIPTION  		Este archivo contiene una imagen gráfica en el \ 
      formato XWD. Estos archivos se suelen crear \ 
      capturando ventanas mediante la acción \ 
      XwdCapture. Su tipo de datos se denomina XWD. Los nombres \ 
      de los archivos XWD finalizan con las extensiones `.xwd' o `.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 
}

Cada definición de tipo de datos consta de dos partes:

DATA_ATTRIBUTES: describe el aspecto y el comportamiento del tipo de datos.

DATA_CRITERIA: especifica las reglas (de denominación o contenido) utilizadas para clasificar un archivo como perteneciente a dicho tipo de datos.

El campo DATA_ATTRIBUTES_NAME conecta los criterios con los atributos.

Puede haber varios DATA_CRITERIA para cada DATA_ATTRIBUTE. Por ejemplo, el tipo de datos XWD tiene dos criterios para especificar dos criterios de denominación distintos (NAME_PATTERN) -- nombres finalizados en las extensiones .xwd o .wd.

Cómo los tipos de datos conectan los archivos de datos con las acciones

Examinemos el tipo de datos XWD. El usuario crea un archivo de tipo XWD al que asigna uno de los dos sufijos (extensiones) de nombre de archivo: .xwd o.wd. El escritorio utiliza el nombre de archivo como criterio para asignar a éste dicho tipo.

El tipo de datos XWD proporciona a cada archivo de dicho tipo de datos:

Ejecución de acciones desde el menú Seleccionado

El menú Seleccionado del Gestor de archivos sólo está activo cuando se selecciona un archivo o directorio. Los comandos que aparecen en la parte inferior del menú Seleccionada dependen del tipo de datos. Por ejemplo, si se selecciona un archivo XWD el menú Seleccionado incluye los elementos Abrir e Imprimir.

El campo ACTIONS de la definición del tipo de datos especifica los comandos que se agregan a la parte inferior del menú Seleccionado del tipo de datos.

DATA_ATTRIBUTES XWD { ACTIONS Open,Print ... }

El contenido del menú Seleccionado depende del tipo de datos. Sin embargo, muchos tipos de datos diferentes proporcionan una acción Open, esto es, al seleccionar en el Gestor de archivos un archivo de ese tipo de datos concreto y mostrar el menú Seleccionado, verá un elemento Abrir.

Figura 10-5 Menú Seleccionado para un archivo XWD

Graphic

Generalmente, la acción Open ejecuta la aplicación con la cual está asociado el archivo de datos. Por ejemplo, al abrir un archivo XWD se ejecuta la acción Xwud, que a su vez ejecuta el cliente X xwud para mostrar la imagen de pantalla. En otras palabras, para el tipo de datos XWD, la acción Open es sinónimo de la acción Xwud. Del mismo modo, al abrir un archivo del tipo de datos TEXTFILE se ejecuta el Editor de texto, y al abrir un archivo BM (mapa de bits) o PM (mapa de píxels) se ejecuta el Editor de iconos.

La capacidad de crear diversas acciones Abrir que realizan cosas diferentes utiliza dos de las características de la definición de acciones:

Ésta es la definición de la acción que reasigna a la acción Open la acción Xwud para el tipo de datos XWD. Se encuentra en el archivo de configuración de base de datos /usr/dt/appconfig/types/C/xclients.dt.

ACTION Open 
{ 
 LABEL				Open 
 ARG_TYPE			XWD 
 TYPE				MAP 
 MAP_ACTION		Xwud 
}

El campo TYPE especifica que la acción es de tipo map (reasigna funciones); el campo MAP_ACTION especifica que esta acción ejecuta la acción Xwud. El campo ARG_TYPE especifica que esta acción se aplica únicamente a los archivos cuyo tipo de datos sea XWD.

Compare la definición anterior de la acción Open con la siguiente definición, que aparece en el archivo de base de datos /usr/dt/appconfig/types/C/dt.dt.

ACTION Open 
{ 
 LABEL					Open 
 ARG_TYPE				BM 
 TYPE					MAP 
 MAP_ACTION			Dticon 
}

Esta definición se aplica a los archivos del tipo de datos (ARG_TYPE) BM (archivos de mapa de bits). La definición reasigna a la acción Open una acción Dticon, que ejecuta el Editor de iconos.

Definición del comportamiento del tipo de datos al hacer un doble clic

El comportamiento del tipo de datos cuando se hace un doble clic se define en la primera entrada del campo ACTIONS. Por ejemplo, en el tipo de datos XWD, cuando se hace doble clic se ejecuta la acción Abrir, que a su vez ejecuta la acción Xwud.

La acción de soltar un archivo de datos sobre un icono de acción

Cuando el usuario suelta un archivo de datos sobre un icono de acción, el sistema ejecuta ésta mediante el archivo de datos como argumento de la acción (véase "Cómo las acciones utilizan archivos de datos como argumentos").

Por ejemplo, cuando se suelta un archivo XWD sobre el icono Mostrar Xwd, se ejecuta la acción Xwud mediante el archivo de datos como argumento. Esto hace que se ejecute el cliente X xwud con ese archivo de datos.

Creación de la impresión desde el escritorio para un tipo de datos

La impresión desde el escritorio ofrece los siguientes procedimientos para imprimir un archivo de datos:

Además de la impresión desde el escritorio, muchas aplicaciones ofrecen procedimientos para imprimir desde la propia aplicación.

La impresión desde el escritorio utiliza acciones llamadas Print. Ésta, como Open, es un nombre de acción utilizado para muchos tipos de datos distintos. Por lo tanto, las acciones Print utilizan la reasignación de acciones y el campo ARG_TYPE para personalizar la impresión para cada tipo de datos.

Por ejemplo, ésta es la acción Print para el tipo de datos XWD. La definición se encuentra en /usr/dt/appconfig/types/idioma/xclients.dt:

ACTION Print 
{ 
 LABEL					Print 
 ARG_TYPE				XWD 
 TYPE					MAP 
 MAP_ACTION			NoPrint 
}

La acción Print para archivos XWD, se relaciona con una acción NoPrint, definida en /usr/dt/appconfig/types/idioma/dt.dt, que muestra un cuadro de diálogo que informa que este tipo de datos no puede imprimirse.

Compare la acción Print de XWD con esta acción Print para archivos PCL:

ACTION Print
{ 
 LABEL				Print 
 ARG_TYPE			PCL 
 TYPE				MAP 
 MAP_ACTION		PrintRaw 
}

La acción PrintRaw, definida en el archivo de configuración /usr/dt/appconfig/types/idioma/print.dt, contiene la línea de comandos para imprimir archivos PCL.

ACTION PrintRaw 
{ 
 TYPE						COMMAND 
 WINDOW_TYPE				NO_STDIO 
 EXEC_STRING				/usr/dt/bin/dtlp -w %(File)Arg_1% 
}