Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Capitolo 10 Introduzione alle azioni e ai tipi di dati

Le azioni e i tipi di dati sono componenti importanti per l'integrazione delle applicazioni nel desktop. Essi permettono di creare un'interfaccia utente per l'avvio delle applicazioni e per la gestione dei file di dati.

Questo modulo contiene un'introduzione ai concetti di azione e di tipo di dati. In particolare, esso descrive:

Le procedure e le regole per la creazione delle azioni e dei tipi di dati sono trattate in tre moduli di questo manuale.

Introduzione alle azioni

Le azioni sono istruzioni scritte per automatizzare alcune operazioni del desktop, come l'avvio delle applicazioni e l'apertura dei file di dati. Il loro funzionamento è molto simile a quello delle macro o delle funzioni di programmazione. Ogni azione è associata a un nome che viene usato per eseguirla.

In generale, si definisce un'azione per semplificare l'esecuzione di un'operazione dall'interfaccia utente del desktop. Il desktop permette di associare alle azioni vari componenti dell'interfaccia utente, come icone, controlli del Pannello principale e opzioni dei menu.

Ad esempio, il gruppo Strumenti_desktop della Gestione di applicazioni contiene varie icone per l'avvio di utility del desktop.

Figura 10-1 Icone di azioni nel gruppo di applicazioni Strumenti_desktop

Graphic

Facendo doppio clic su una di queste icone viene eseguita l'azione corrispondente. L'esempio seguente riporta una parte della definizione dell'azione che viene eseguita facendo doppio clic sull'icona Visualizza Xwd. Questa azione è definita nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt:

ACTION Xwud
 {
 	LABEL				Visualizza Xwd
 	TYPE				COMMAND
 	EXEC_STRING		/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"File Xwd da visualizzare:"%
 	...
 }

Facendo doppio clic sull'icona verrà eseguito il comando specificato nella riga EXEC_STRING.

Anche il Pannello principale utilizza le azioni. L'esempio seguente riporta una parte della definizione del controllo Terminale del pannello secondario "Applicazioni personali". Il controllo è definito nel file di configurazione /usr/dt/appconfig/types/lingua/dtwm.fp:

CONTROL Term
 {
 	ICON				Fpterm
 	LABEL				Terminale
 	PUSH_ACTION		Dtterm
 	...
 }

Facendo clic sul controllo Terminale verrà eseguita l'azione specificata nel campo PUSH_ACTION, in questo caso, l'azione di nome Dtterm.

In molti casi, le azioni vengono usate anche nei menu. I file di dati sono normalmente associati ad azioni che compaiono nel menu Selezione nella Gestione di file. Ad esempio, i file XWD (cioè i file che terminano con il suffisso .xwd o .wd) sono associati a un'azione Apri che visualizza la loro immagine sullo schermo eseguendo l'azione Xwud.

Figura 10-2 L'azione Apri per il file di tipo XWD

Graphic

Le azioni che compaiono nel menu Selezione sono specificate nella definizione del tipo di dati per i file XWD. Questa definizione si trova nel file di configurazione /usr/dt/appconfig/types/lingua/xclients.dt.

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON				Dtxwd
 	...
}

Il tipo di dati XWD, e le relative azioni Apri e Stampa, sono descritti in "Come i tipi di dati collegano i file di dati alle azioni".

Come le azioni creano le icone per le applicazioni

Si consideri l'icona "Visualizza Xwd" nel gruppo Strumenti_desktop della Gestione di applicazioni. Facendo doppio clic su questa icona viene eseguito il client X xwud. Tuttavia, questa icona non rappresenta direttamente l'eseguibile /usr/bin/X11/xwud.

L'icona "Visualizza Xwd" compare nel gruppo di applicazioni perché la directory contiene un file di nome Xwud (vedere la Figura 10-3). Questo file rappresenta un'azione con lo stesso nome: Xwud. Nella definizione dell'azione, il nome dell'azione è quello che segue la parola chiave ACTION:

ACTION Xwud
 {
 	LABEL						Visualizza Xwd
 	TYPE						COMMAND
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 								%(File)Arg_1"File Xwd da visualizzare:"%
    DESCRIPTION     	   L'azione Visualizza Xwd (Xwud) visualizza \
						un file xwd creato con l'azione Cattura Xwd (Xwd). \
						Utilizza il comando 'xwud'. }

Il file viene detto file dell'azione perché rappresenta l'azione. Si definiscono in questo modo i file eseguibili con lo stesso nome dell'azione che rappresentano. La sua icona nella Gestione di applicazioni (o nella Gestione di file) viene detta icona dell'azione, o icona dell'applicazione, perché permette di avviare l'applicazione che rappresenta con un doppio clic.

Figura 10-3 Icona dell'applicazione (o dell'azione) che rappresenta il file dell'azione

Graphic

Quando la Gestione di applicazioni individua un file eseguibile, essa verifica se il database delle azioni contiene un'azione con un nome corrispondente. In caso affermativo, il file viene identificato come file dell'azione.

Il contenuto del file dell'azione è irrilevante; in genere, i file delle azioni contengono un testo di commento che descrive la loro funzione nel desktop.


Nota -

Il file dell'azione non deve essere confuso con il file di definizione dell'azione. Il primo è un file con lo stesso nome dell'azione, usato per creare l'icona dell'applicazione nella Gestione di file o nella Gestione di applicazioni. Il secondo è un file di nome nome.dt contenente la definizione dell'azione.


Quando il desktop identifica un file di un'azione, esso ne determina l'aspetto e il comportamento utilizzando la definizione di quell'azione.

Figura 10-4 Icona specificata dal campo ICON nella definizione dell'azione

Graphic

L'azione Xwud viene detta un'azione di comando, perché la sua definizione contiene il comando da eseguire (EXEC_STRING). Il campo TYPE nella definizione dell'azione specifica a quale tipo appartiene l'azione.

Inizialmente, l'icona "Visualizza Xwd" appare solo nel gruppo di applicazioni Strumenti_desktop. Tuttavia, è possibile creare altre copie dell'icona ed inserirle in qualsiasi directory alla quale si abbia accesso in scrittura. Finché la definizione dell'azione Xwud farà parte del database, qualsiasi file eseguibile creato con il nome Xwud rappresenterà quell'azione, e la sua icona nella Gestione di file o nella Gestione di applicazioni potrà essere usata per eseguirla.

Come le azioni utilizzano i file di dati come argomenti

Un argomento di un comando è un oggetto, solitamente un file, su cui il comando viene eseguito. Un'azione può essere scritta in modo da accettare un file come argomento.

Ad esempio, il campo EXEC_STRING dell'azione Xwud specifica che è richiesto un file come argomento:

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"File Xwd da visualizzare:"%

Il termine Arg indica l'argomento. La sintassi Arg_1 significa che si tratta del primo argomento, mentre (File) indica che l'azione tratterà quell'argomento come un file.

Il modo più semplice per specificare un file come argomento consiste nel rilasciare un file di dati sull'icona dell'applicazione. Il desktop determina il percorso del file rilasciato e lo inserisce nella riga di comando al posto del testo tra i due simboli % (%(File)Arg_1"File Xwd da visualizzare:"%). In questo modo, il comando che viene eseguito è:

/usr/bin/X11/xwud -noclick -in percorso_file

Facendo doppio clic sull'icona dell'applicazione, il desktop determina dal campo EXEC_STRING che è richiesto un file come argomento, e visualizza una finestra di dialogo che chiede all'utente di inserire un percorso o un nome per il file. Nel caso dell'azione Xwud, la richiesta sarà:

File Xwd da visualizzare:

Il percorso o il nome del file inserito dall'utente verrà usato come argomento del comando.

Altri impieghi delle azioni

Oltre all'impiego descritto per l'avvio delle applicazioni, le azioni vengono utilizzate per creare funzionalità per altre aree del desktop:

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%
 }