Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Introduzione ai tipi di dati

Quando si crea un nuovo file di dati, l'aspetto e il comportamento della sua icona nella Gestione di file variano a seconda del tipo di dati associati a quel file. Il desktop comprende un meccanismo di gestione dei tipi di dati che offre la possibilità di personalizzare l'aspetto e il comportamento di file e directory.

Cos'è un tipo di dati?

Un tipo di dati è un costrutto definito all'interno del database del desktop. L'esempio seguente riporta la definizione del tipo di dati XWD. La definizione è contenuta nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt:

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON					Dtxwd
 	NAME_TEMPLATE		%s.xwd
 	MIME_TYPE      	application/octet-stream
 	SUNV3_TYPE    		xwd-file
 	DESCRIPTION     Questo file contiene un'immagine grafica \
					in formato XWD. In genere questi file vengono creati 
					catturando \ un'immagine dallo schermo con l'azione 
					Cattura Xwd. \ Il suo tipo di dati è 
					denominato XWD. I nomi dei file XWD \
					terminano in '.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
 }

Ogni definizione di un tipo di dati comprende due parti:

DATA_ATTRIBUTES: Gli attributi dei dati descrivono l'aspetto e il comportamento del tipo di dati.

DATA_CRITERIA: I criteri specificano le regole (basate sul nome o sul contenuto) per l'assegnazione del file a un determinato tipo di dati.

Il campo DATA_ATTRIBUTES_NAME collega i criteri agli attributi.

Per ogni attributo (DATA_ATTRIBUTE) possono essere definiti più criteri (DATA_CRITERIA). Ad esempio, il tipo di dati XWD possiede due criteri diversi per i nomi dei file (NAME_PATTERN) che specificano la possibilità di usare i suffissi .xwd o .wd.

Come i tipi di dati collegano i file di dati alle azioni

Si consideri il tipo di dati XWD. Per creare un file di tipo XWD, l'utente assegna al file un nome che termini con uno dei due suffissi (o estensioni) accettati: .xwd o .wd. Il desktop utilizza questo nome come criterio per designare il tipo di file.

Il tipo di dati XWD assegna ad ogni file le seguenti caratteristiche:

Esecuzione delle azioni dal menu Selezione

Il menu Selezione della Gestione di file è attivo solo quando è stato selezionato un file o una directory. I comandi che compaiono nella parte inferiore del menu variano a seconda del tipo di dati. Nel caso dei file XWD, il menu Selezione presenterà le opzioni Apri e Stampa.

Il campo ACTIONS nella definizione del tipo di dati specifica i comandi che verranno aggiunti al menu Selezione per quel tipo di dati.

DATA_ATTRIBUTES XWD { ACTIONS Open,Print … }

Il contenuto del menu Selezione della Gestione di file dipende dal tipo di dati dell'oggetto selezionato. Tuttavia, l'azione Apri è comune a molti tipi di dati diversi.

Figura 10–5 Il menu Selezione associato a un file XWD

Graphic

In genere, l'azione Apri avvia l'applicazione a cui è associato il file di dati. Ad esempio, aprendo un file XWD si esegue l'azione Xwud, che a sua volta eseguirà il client X xwud per visualizzare l'immagine del file sullo schermo. In altre parole, per il tipo di dati XWD l'azione Apri coincide con l'azione Xwud. Allo stesso modo, aprendo un file di dati di tipo TEXTFILE verrà avviato l'Editor di testo, mentre aprendo un file BM (a mappa di bit) o PM (a mappa di pixel) verrà avviato l'Editor delle icone.

La possibilità di creare una serie di azioni Apri che eseguono operazioni diverse si basa su due caratteristiche delle definizioni delle azioni:

Qui di seguito è riportata la definizione che mappa l'azione Apri dell'azione Xwud per il tipo di dati XWD. La definizione si trova nel file di configurazione /usr/dt/appconfig/types/C/xclients.dt.

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

Il campo TYPE specifica che si tratta di un'azione di mappatura; il campo MAP_ACTION specifica che questa azione dovrà eseguire l'azione Xwud. Il campo ARG_TYPE specifica che questa azione verrà applicata solo ai file associati al tipo di dati XWD.

Si confronti ora la definizione precedente dell'azione Apri con la definizione riportata qui di seguito, contenuta nel file del database /usr/dt/appconfig/types/C/dt.dt.

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

Questa definizione si applica ai file associati al tipo di dati (ARG_TYPE) BM (file a mappa di bit). La definizione mappa l'azione Apri sull'azione Dticon, cioè sull'azione che avvia l'Editor delle icone.

Definizione dell'effetto del doppio clic in base al tipo di dati

L'effetto del doppio clic associato al tipo di dati è definito dalla prima voce del campo ACTIONS. Nel caso del tipo di dati XWD, il doppio clic esegue l'azione Apri, che a sua volta eseguirà l'azione Xwud.

Rilascio di un file di dati sull'icona di un'azione

Quando si rilascia un file di dati sull'icona di un'azione, il sistema esegue quell'azione usando il file di dati come argomento (vedere Come le azioni utilizzano i file di dati come argomenti).

Ad esempio, rilasciando un file di dati XWD sull'icona “Visualizzazione Xwd“ verrà eseguita l'azione Xwud utilizzando come argomento il file rilasciato. Il client X xwud verrà quindi eseguito con quel file di dati.

Creazione di azioni di stampa associate ai tipi di dati

Per stampare un file di dati dal desktop si possono usare i seguenti metodi:

Oltre a questi metodi generali, in molti casi è possibile stampare i file dall'interno delle applicazioni.

I metodi di stampa del desktop utilizzano azioni di nome Stampa. Come nel caso di Apri, il nome Stampa viene usato per molti tipi di dati diversi. Ciò significa che anche le azioni Stampa utilizzano la mappatura delle azioni e il campo ARG_TYPE per personalizzare la stampa per ogni tipo di dati.

L'esempio seguente riporta l'azione Stampa associata al tipo di dati XWD. La definizione si trova in /usr/dt/appconfig/types/lingua/xclients.dt:

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

Questa azione Stampa, specifica per i file XWD, è mappata su un'azione NoPrint. NoPrint è un'azione speciale definita in /usr/dt/appconfig/types/lingua/dt.dt, che visualizza un messaggio di avvertimento indicante che il tipo di dati dell'oggetto non può essere stampato.

Si confronti ora l'azione Stampa associata ai file XWD con la seguente azione Stampa per i file PCL:

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

L'azione PrintRaw, definita nel file di configurazione /usr/dt/appconfig/types/lingua/print.dt, contiene la riga di comando per la stampa dei file PCL.

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