Solaris Common Desktop Environment: Guía avanzada del usuario y del administrador del sistema

Capítulo 13 Creación manual de tipos de datos

Existen dos procedimientos para crear una definición de tipo de datos:

Para crear manualmente un tipo de datos es necesario editar un archivo de base de datos.

Este capítulo describe cómo crear definiciones de tipos de datos manualmente.

Razones para crear un tipo de datos manualmente

La creación manual de un tipo de datos permite utilizar todas las capacidades incorporadas en la sintaxis de las definiciones de tipos de datos.

Deberá crear un tipo de datos manualmente si quiere utilizar las siguientes características de los tipos de datos:

Componentes de una definición de tipo de datos: criterios y atributos

Una definición de tipo de datos consta de dos definiciones distintas en la base de datos:

Debe haber como mínimo una definición de DATA_CRITERIA para cada definición de DATA_ATTRIBUTES; ésta puede tener varias definiciones de DATA_CRITERIA asociadas.

Por ejemplo, puede crear una definición de atributos para archivos PostScript que describa qué aspecto tienen y cómo se comportan éstos en el Gestor de archivos. Luego puede crear dos criterios diferentes para el tipo de datos PostScript, uno de ellos basado en el nombre de archivo y otro en el contenido del archivo.

Para obtener más información, véase Definición de los criterios de datos para un tipo de datos.

Creación manual de un tipo de datos: Pasos generales

En esta sección se describe cómo crear un archivo de configuración de tipo de datos.

Archivos de configuración para tipos de datos

Los requisitos de los archivos de configuración que contienen definiciones de tipos de datos son:

Para crear una definición de tipo de datos

  1. Abra un archivo de base de datos existente o cree uno nuevo.

    Para obtener más información, véase la sección anterior, Archivos de configuración para tipos de datos.

  2. Defina los atributos de los datos para el tipo de datos, mediante la sintaxis:

    	DATA_ATTRIBUTES nombre_tipo_datos
     {
       ICON						nombre_imagen
     		DESCRIPTION				cadena
     				campo_atributo
     				campo_atributo
     		
          …
     }
    

    donde:

    nombre_tipo_datos: nombre exclusivo asignado a este tipo de datos.

    nombre_imagen: nombre de archivo o ruta de acceso de un archivo de icono. Utilice el nombre base del archivo. Por ejemplo, para los archivos de icono miimagen.m.pm y miimagen.t.pm, utilice miimagen.

    campo_atributo: campo que define el aspecto y el comportamiento del tipo de datos.

    cadena: cadena de caracteres. El contenido de ésta será la ayuda sobre el tema para el tipo de datos.

    Véase Ejemplo de creación de una acción y un tipo de datos personales.

  3. Defina los criterios de datos para el tipo de datos mediante la sintaxis:

    	DATA_CRITERIA nombre_criterio
     { 
     DATA_ATTRIBUTES_NAME				nombre_tipo_datos
     				campo_criterio
     				campo_criterio
     		
          … 
    }
    

    donde:

    nombre_criterio: nombre exclusivo para esta definición de los criterios

    nombre_tipo_datos: nombre utilizado en la definición de DATA_ATTRIBUTES

    campo_criterio: campo utilizado para definir los criterios según los cuales se asigna a un archivo este tipo de datos

    Véase Definición de los criterios de datos para un tipo de datos.

  4. Guarde el archivo de base de datos.

  5. Cree los iconos para el tipo de datos.

    Para obtener más información, véase Especificación de la imagen de icono utilizada para un tipo de datos.

  6. Si es necesario, cree las acciones listadas en el campo ACTIONS de la definición de atributos.

  7. Haga doble clic en Recargar acciones en el grupo de aplicaciones Herramientas_Escritorio para recargar la base de datos.

Ejemplo de creación de una acción y un tipo de datos personales

Supongamos que el sistema contiene una aplicación llamada xgif, que muestra imágenes GIF. Normalmente, el programa se ejecuta escribiendo:

xgif nombre_archivo

Usted quiere tener la posibilidad de mostrar imágenes GIF de diversas maneras:

  1. Abra un archivo nuevo DirectorioInicio/.dt/types/GifViewer.dt para editarlo.

  2. Escriba las definiciones del tipo de datos:

    	DATA_ATTRIBUTES Gif 
    {
     DESCRIPTION			Archivo de imagen Gif.
     ICON						GifIcon
     ACTIONS					View 
    } 
    DATA_CRITERIA Gif_Criteria 
    { 
     DATA_ATTRIBUTES_NAME			Gif
     NAME_PATTERN						*.gif 
    }
  3. Escriba la definición de la acción GifViewer:

    	ACTION GifViewer 
    {
     EXEC_STRING				xgif %(File)Arg_1"Archivo Gif a visualizar:"
     WINDOW_TYPE				NO_STDIO
     DESCRIPTION				Haga doble clic en o suelte un archivo para \
     					iniciar el Visualizador de Gif. 
    }

    Como la definición no incluye un campo ICON, la acción utilizará el icono predeterminado del sistema.

  4. Escriba la siguiente acción map para conectar la acción GifViewer con la acción View que aparece en la definición del tipo de datos. Utilice el campo ARG_TYPE para restringir la acción de visualizar a archivos de tipo Gif.

    	ACTION View 
    {
     ARG_TYPE				Gif
     TYPE					MAP
     MAP_ACTION			GifViewer 
    } 
  5. Guarde el archivo.

  6. Haga doble clic en Recargar acciones en el grupo de aplicaciones Herramientas_Escritorio para volver a leer la base de datos.

Definición de los atributos de datos para un tipo de datos

La definición de DATA_ATTRIBUTES establece el aspecto y el comportamiento del tipo de datos. Determina el nombre del tipo de datos y ofrece la capacidad de especificar:

Especificación de la imagen de icono utilizada para un tipo de datos

Utilice el campo ICON para especificar el icono utilizado en el Gestor de archivos. Si no especifica ninguna imagen de icono, el Gestor de archivos mostrará únicamente una etiqueta.

El valor del campo ICON puede ser:

Tabla 13–1 Nombres y tamaños para los iconos de tipos de datos

Tamaño en píxels 

Nombre del mapa de bits 

Nombre del mapa de píxels 

32 por 32 

nombre.m.bm

nombre.m.pm

16 por 16 

nombre.t.bm

nombre.t.pm

Asociación de los tipos de datos con las acciones

Existen dos procedimientos para asociar tipos de datos con acciones:

Ocultación de archivos según el tipo de datos

Si un archivo pertenece a un tipo de datos invisible, no aparecerá nunca en el Gestor de archivos.

Utilice el campo PROPERTIES de la definición de DATA_ATTRIBUTES para especificar si los objetos de este tipo deben ocultarse.

PROPERTIES				invisible

Especificación de comportamientos cuando se manipula el archivo

Tabla 13–2 La muestra los campos de DATA_ATTRIBUTES que utilizan principalmente los programadores de aplicaciones, en los cuales se especifican cómo se comportan los archivos cuando el usuario realiza diversas actividades de escritorio.

Para obtener más información, consulte la Common Desktop Environment Programmer's Guide, que forma parte de la documentación del entorno de programador.

Tabla 13–2 Campos y descripciones de DATA_ATTRIBUTES

Campo 

Descripción 

MOVE_TO_ACTION

Para contenedores, como, por ejemplo, directorios. Especifica una acción que se debe ejecutar al mover un archivo a un contenedor de este tipo de datos. 

COPY_TO_ACTION

Para contenedores, como, por ejemplo, directorios. Especifica una acción que se debe ejecutar al copiar un archivo a un contenedor de este tipo de datos. 

LINK_TO_ACTION

Especifica una acción que se debe ejecutar cuando se enlaza un archivo con otro de este tipo de datos. 

IS_TEXT

Especifica que los archivos de este tipo de datos contienen texto que puede mostrarse en un cuadro de texto. 

MEDIA

Especifica el tipo de soporte de ToolTalk correspondiente. 

MIME_TYPE

Especifica el tipo MIME correspondiente. 

X400_TYPE

Especifica el tipo X400 correspondiente. 

Definición de los criterios de datos para un tipo de datos

La definición de DATA_CRITERIA establece los criterios utilizados para asignar un tipo de objeto a un archivo o directorio.

Para los tipos de objeto se pueden utilizar los criterios mostrados en la Tabla 13–3.

Tabla 13–3 Criterios y descripciones de DATA_CRITERIA

Criterio 

Descripción 

Nombre de archivo 

El nombre de archivo debe coincidir con un patrón específico. Utilice el campo NAME_PATTERN.

Ubicación del fichero 

La ruta debe coincidir con un patrón específico. Utilice el campo PATH_PATTERN.

Contenido del archivo 

Un fragmento específico del contenido del archivo debe coincidir con los datos especificados. Utilice el campo CONTENT.

Modalidad del archivo 

El archivo debe poseer los permisos especificados (lectura, escritura, ejecución, directorio). Utilice el campo MODE.

Enlaces simbólicos

La asignación de tipo de datos se basa en el archivo al que el objeto está enlazado.  

Se puede utilizar más de un criterio para un tipo de datos. Sin embargo, no debe utilizar los criterios NAME_PATTERN y PATH_PATTERN en el mismo tipo de datos.

Tipos de datos basados en el nombre

Utilice el campo NAME_PATTERN para especificar los requisitos de nombre. El valor del campo puede incluir los siguientes caracteres comodín:

?: coincide con cualquier carácter único

*: coincide con cualquier secuencia de caracteres (incluso una cadena nula)

[cc]: coincide con cualquiera de los caracteres (c) entre corchetes

[cc]: coincide con cualquiera de los caracteres del rango c a c

Ejemplos

Tipos de datos basados en la ubicación

Utilice el campo PATH_PATTERN para especificar la ruta. Puede usar los mismos caracteres comodín que en NAME_PATTERN.

Por ejemplo, el siguiente tipo de datos utiliza un criterio basado en la ruta.

DATA_ATTRIBUTES Project_Graphics 
{
 DESCRIPTION			Archivo de gráficos para el proyecto QS. 
 				Haga doble clic en \ el icono para ver el 
 				gráfico.
 ICON					QSgraphics 
}
 DATA_CRITERIA Project_Graphics_Criteria 
{
 DATA_ATTRIBUTES_NAME			Project_Graphics 
 PATH_PATTERN						*/projects/QS/graphics/* 
}

Tipos de datos basados en el nombre y la ubicación

Para crear un tipo de datos basado en el nombre y la ubicación, incluya éste en el valor de PATH_PATTERN. No se puede utilizar NAME_PATTERN y PATH_PATTERN en la misma definición de criterios.

Ejemplos

Uso de las modalidades de archivo como criterios de asignación de tipo

Utilice el campo MODE para especificar los permisos requeridos.

Los criterios de modalidad se suelen utilizar en combinación con criterios de nombre, ubicación o contenido. Permiten limitar un tipo de datos a un archivo o directorio, o especificar los permisos de lectura, escritura y ejecución requeridos.

El campo MODE puede incluir operadores lógicos (Tabla 13–4) y caracteres (Tabla 13–5).

Tabla 13–4 Operadores lógicos en el campo MODE y descripciones

Operador 

Descripción 

!

Operador lógico NOT

&

Operador lógico AND

|

Operador lógico OR

Tabla 13–5 Caracteres en el campo MODE y descripciones

Carácter 

Descripción 

f

El tipo de datos sólo es aplicable a archivos 

d

El tipo de datos sólo es aplicable a directorios 

r

Cualquier usuario puede leer el archivo 

w

Cualquier usuario puede escribir en el archivo 

x

Cualquier usuario puede ejecutar el archivo 

l

El archivo es un enlace 

El valor predeterminado para una modalidad particular es que la modalidad no es relevante.

Ejemplos

Asignación del tipo de datos según el contenido

Utilice el campo CONTENT para especificar que el tipo de datos asignado se basará en el contenido del archivo. La asignación del tipo de datos según el contenido se puede utilizar en combinación con criterios de nombre o ubicación.

La asignación del tipo de datos puede basarse tanto en el contenido numérico como en el de cadenas de caracteres de los archivos. El primer byte de un archivo se numera como 0.

Para crear un tipo de datos con varios criterios independientes

Se puede crear un tipo de datos con varios criterios independientes, es decir, el archivo se asigna al tipo de datos si cumple uno de los criterios (o ambos).

  1. Cree la definición de DATA_ATTRIBUTES para el tipo de datos.

  2. Cree una definición de DATA_CRITERIA para cada criterio.

    Utilice el campo DATA_ATTRIBUTES_NAME para conectar los criterios con la misma definición de DATA_ATTRIBUTES.

    Por ejemplo, las siguientes definiciones crean el tipo de datos Mif. Es una asignación tipo basada en nombre y contenido.

    DATA_ATTRIBUTES Mif 
    {
     ICON								Frame
     ACTION_LIST					Open,Print 
    }
     DATA_CRITERIA Mif_Name_Criteria 
    {
     DATA_ATTRIBUTES_NAME				Mif
     NAME_PATTERN							*.mif 
    }
     
    DATA_CRITERIA Mif_Content_Criteria 
    {
     DATA_ATTRIBUTES_NAME		Mif 
     CONTENT							1 string MIFFile 
    }

Creación de tipos de datos de entorno nacional

La ruta de búsqueda de tipos de datos incluye ubicaciones que dependen del idioma. El escritorio utiliza el valor de LANG para determinar las ubicaciones donde se deben buscar las definiciones de tipos de datos.

Ubicaciones de los tipos de datos de entorno nacional

Las definiciones de tipos de datos de entorno nacional deben ubicarse en los directorios dependientes del idioma apropiados de la ruta de búsqueda de acciones.

La ruta de búsqueda predeterminada es:

Para establecer el entorno nacional de un tipo de datos

  1. Cree un archivo en el directorio dependiente del idioma apropiado (por ejemplo, en /etc/dt/appconfig/types/japanese).

  2. Copie la definición del tipo de datos en el archivo de configuración dependiente del idioma.

  3. Establezca el entorno nacional para uno o más campos de la definición del tipo de datos.