Creazione dei tipi di dati con la procedura manuale
tipi di file, Vedere tipi di dati<
$nopage>
tipi di daticreazione manualePer
creare la definizione di un tipo di dati si può procedere in due modi:
Usare lo strumento Creare azione. Per informazioni a riguardo
vedere il .
Creare manualmente la definizione del tipo di dati.
La procedura manuale richiede la modifica di un file del database.
Questo capitolo descrive la procedura da seguire per creare manualmente
le definizioni dei tipi di dati.
Vedere anche
Per informazioni introduttive sui tipi di dati, vedere il .
Per informazioni di riferimento sulle definizioni dei tipi
di dati, vedere la pagina di spiegazioni dtdtsfile(4).
Casi in cui occorre creare i tipi di dati manualmente
Creando manualmente un tipo di dati è possibile usare tutte le
funzionalità offerte dalla sintassi delle definizioni.
tipi di datirequisiti per la
creazione manualeIn particolare, un tipo di dati deve
essere creato manualmente se si desidera utilizzare le seguenti caratteristiche:
L'identificazione del tipo di dati in base alla posizione
(percorso)
La possibilità di associare al tipo di dati un'azione
diversa da Aprire e Stampare
L'uso di nomi, schemi o contenuti diversi per lo stesso tipo
di dati — ad esempio, uno stesso tipo di dati può essere associato
ai nomi *.abc o *.def
L'identificazione del tipo di dati in base al collegamento
Definizioni dei tipi di dati: criteri e attributi
La definizione di un tipo di dati consiste di due sezioni separate del
database:
LaDATA_ATTRIBUTESdefinizione definizione degli attributi ( DATA_ATTRIBUTES).
La sezione DATA_ATTRIBUTES definisce il nome, l'aspetto
e il comportamento dei file associati al tipo di dati.
La definizione dei criteri (DATA_CRITERIAdefinizioneDATA_CRITERIA ).
La sezione DATA_CRITERIA definisce i criteri per
l'identificazione del tipo di dati. Ogni criterio specifica i DATA_ATTRIBUTES a cui si riferisce.
Per ogni attributo specificato in DATA_ATTRIBUTES
deve essere definito almeno un criterio nella sezione
DATA_CRITERIAuso con DATA_ATTRIBUTES
DATA_CRITERIA; possono essere definiti anche più
criteri per uno stesso attributo.
Ad esempio, supponendo di avere definito degli attributi per i file
PostScript che descrivono l'aspetto e il comportamento di questi file nella
Gestione di file, si potranno creare due criteri separati per il tipo di dati
PostScript — uno basato sul nome del file e l'altro sul contenuto.
Per maggiori informazioni, vedere .
Creazione manuale di un tipo di dati: procedura
generale
Questa sezione descrive come creare un file di configurazione per un
tipo di dati.
File di configurazione per i tipi di dati
tipi di datifile di configurazione
file di configurazionetipi di dati
I file di configurazione che contengono le definizioni per i tipi di
dati devono rispondere alle seguenti caratteristiche:
Il nome del file deve avere la forma nome.dt
I file devono trovarsi nel percorso di ricerca del database.
Il percorso di ricerca predefinito comprende le seguenti directory:
Tipi di dati personali
DirectoryIniziale/.dt/types
Tipi di dati di sistema
/etc/dt/appconfig/types/lingua
Tipi di dati predefiniti
/usr/dt/appconfig/types/lingua.Questa directory non dovrebbe essere modificata.
Per informazioni su come modificare il percorso di ricerca del database,
vedere .
Come creare la definizione di un tipo di dati
tipi di datidefinizione
Aprire un file del database o crearne uno nuovo.
Per maggiori informazioni, vedere la sezione precedente,
.
Definire gli attributi per il tipo di dati usando la sintassi:
DATA_ATTRIBUTESsintassi
DATA_ATTRIBUTES nome_tipo_di_dati
{
ICON nome_immagine
DESCRIPTION stringa
campo_attributo
campo_attributo
…
}
dove:
nome_tipo_di_dati
È un nome unico assegnato a
questo tipo di dati.
nome_immagine
È il percorso o il nome di un
file contenente un'icona. Usare il nome base del file. Ad esempio, nel caso
di due file di nome immagine.m.pm e immagine.t.pm, usare il nome immagine.
campo_attributo
È un campo che definisce l'aspetto
o il comportamento del tipo di dati.
stringa
È una stringa di caratteri da
usare come testo di aiuto per il tipo di dati.
Vedere .
Definire i criteri per il tipo di dati usando la sintassi:
DATA_CRITERIA nome_criterio
{
DATA_ATTRIBUTES_NAME nome_tipo_di_dati
campo_criterio
campo_criterio
…
}
dove:
nome_criterio
È un nome unico usato per la
definizione di questo criterio
nome_tipo_di_dati
È il nome usato nella sezione DATA_ATTRIBUTES
campo_criterio
È il campo che definisce i criteri
per associare un file a questo tipo di dati
Vedere .
Salvare il file del database.
Creare le icone per il tipo di dati.
Per maggiori informazioni, vedere .
Se necessario, creare le azioni specificate nel campo ACTIONS della definizione degli attributi.
Fare doppio clic su “Ricaricare azioni” nel gruppo
Strumenti_desktop per rileggere il database.
Esempio di creazione di un'azione
e di un tipo di dati personaletipi di datiesempiotipi di dati e azioni personali,
creazione
Si supponga che il sistema contenga un'applicazione di nome xgif per la visualizzazione delle immagini GIF. Normalmente, il
programma viene avviato con il comando:
xgif nomefile
Si desidera avere la possibilità di visualizzare le immagini
GIF in questi modi:
Facendo doppio clic su un file di dati GIF
Selezionando il file di dati e scegliendo l'applicazione dal
menu Selezioni
Creare con un editor il file DirectoryIniziale/.dt/types/VisualizzaGif.dt.
Inserire le seguenti definizioni per il tipo di dati:
DATA_ATTRIBUTES Gif
{
DESCRIPTION File grafico Gif.
ICON IconaGif
ACTIONS Visualizza
}
DATA_CRITERIA Criteri_Gif
{
DATA_ATTRIBUTES_NAME Gif
NAME_PATTERN *.gif
}
Inserire la definizione per l'azione VisualizzaGif:
ACTION VisualizzaGif
{
EXEC_STRING xgif %(File)Arg_1"File Gif da visualizzare:"
WINDOW_TYPE NO_STDIO
DESCRIPTION Fare doppio clic o rilasciare un file per\
avviare il visualizzatore Gif.
}
Poiché la definizione non include un campo ICON,
l'azione userà l'icona predefinita del sistema.
Inserire l'azione di mappatura seguente per collegare l'azione
VisualizzaGif all'azione Visualizza specificata nella definizione del tipo
di dati. Usare il campo ARG_TYPE per restringere l'azione
di visualizzazione ai file di tipo Gif.
ACTION Visualizza
{
ARG_TYPE Gif
TYPE MAP
MAP_ACTION VisualizzaGif
}
Salvare il file.
Fare doppio clic su “Ricaricare azioni” nel gruppo
Strumenti_desktop per rileggere il database.
Definizione degli attributi di un tipo di datiDATA_ATTRIBUTESdefinizione
tipi di datiattributi
I campi della sezione DATA_ATTRIBUTES definiscono
l'aspetto e il comportamento del tipo di dati. Oltre a specificare il nome
del tipo di dati, essi permettono di definire:
L'icona da usare nella Gestione di file (campo ICON )
Il comportamento al doppio clic sull'icona e il contenuto
del menu Selezioni (campo ACTIONS)
Il testo dell'aiuto online per il tipo di dati (campo DESCRIPTIONDESCRIPTION, campo
tipi di datiinformazioni di aiuto
aiutosui tipi di dati)
Scelta dell'icona da utilizzare per un tipo di
datiiconedi tipi di dati
tipi di datiicone
Usare il campo ICON, campouso per i tipi di datiICON per specificare
l'icona da usare nella Gestione di file per rappresentare il tipo di dati.
Se non viene specificata alcuna icona, la Gestione di file userà solo
un'etichetta.
Il valore del campo ICON, campo
valori possibiliICON può
essere:
nome base dei file
filenome base
iconenome baseIl nome
base di un file.
Con il termine nome base si intende il nome del
file contenente l'immagine dell'icona esclusi i suffissi per la dimensione
(l, m e t) e per
il tipo di immagine (bm e pm). Ad esempio,
per i file IconaGiochi.m.pm e IconaGiochi.t.pm il nome base sarà IconaGiochi.
Se si utilizza il nome base, i file delle icone devono trovarsi in directory
incluse nel percorso di ricerca delle icone:
Per le icone personali: DirectoryIniziale/.dt/icons
Per le icone di sistema: /etc/dt/appconfig/icons/lingua
Il percorso assoluto del file dell'icona, incluso il nome
completo del file.
L'uso del percorso assoluto è necessario solo se il file dell'icona
non si trova in una directory del percorso di ricerca. Ad esempio, se il file IconaGiochi.m.pm si trova nella directory /doc/progetti, che non è inclusa nel percorso di ricerca delle icone,
il valore del campo ICON dovrà essere /doc/progetti/IconaGiochi.m.pm.
La indica le dimensioni in cui creare le icone e i
nomi da utilizzare per i rispettivi file.
Nomi e dimensioni per le icone dei tipi di dati
Dimensioni in pixelNome del file a mappa di bitNome del file a mappa di pixel
48 x 48
nome.l.bm
nome.l.pm
32 x 32
nome.m.bm
nome.m.pm
16 x 16
nome.t.bm
nome.t.pm
Associazione dei tipi di datitipi di datiassociazione con le azioni alle
azioniazioniassociazioni con i tipi
di datitipi di dati
associazione con le azioni
Per associare i tipi di dati alle azioni sono disponibili due metodi:
Specificare nel campo ACTIONS,
campoACTIONS della sezione DATA_ATTRIBUTES le azioni che dovranno comparire nel menu Selezioni della Gestione
di file. La prima azione specificata sarà quella predefinita (quella
eseguita al doppio clic).
Restringere le azioni a determinati tipi di dati usando il
campo ARG_TYPE, campoARG_TYPE.
Ad esempio, la definizione seguente crea un tipo di dati per i file
“readme” creati dall'amministratore di sistema che abbiano un
nome nella forma *.rm.
DATA_ATTRIBUTES LeggimiAmm
{
ICON LeggimiA
ACTIONS Aprire,Rispondere
}
DATA_CRITERIA LeggimiAmmCriteri
{
NAME_PATTERN *.rm
DATA_ATTRIBUTES_NAME LeggimiAmm
}
Qui di seguito è definita un'azione Rispondere che apre una copia
del file nell'Editor di testo. Salvando il file ed uscendo dall'Editor di
testo, il file viene inviato via posta elettronica all'amministratore di sistema
(all'indirizzo sysadmin@utd).
ACTION Rispondere
{
ARG_TYPE LeggimiAmm
EXEC_STRING /bin/sh -c 'cp %Arg_1% $HOME/readme.temp;\
chmod +w $HOME/readme.temp; \
dtpad $HOME/readme.temp; \
cat $HOME/readme.temp | \
/usr/bin/mailx sysadmin@utd; \
rm $HOME/readme.temp'
WINDOW_TYPE NO_STDIO
}
Come nascondere i file in base al tipo di datifilevisibilità
o meno in base al tipo di dati
tipi di datinascosti
tipi di datiuso per la visualizzazione o meno
dei file
I file associati ai tipi di dati invisibili non vengono visualizzati
nella Gestione di file.
Per specificare la caratteristica di invisibilità per il tipo
di dati definito, usare come segue il campo PROPERTIES
della sezione DATA_ATTRIBUTES:
PROPERTIES invisible
Definizione della risposta di un file alle operazioni degli utenti
I campi seguenti della sezione DATA_ATTRIBUTES
vengono usati principalmente dai programmatori di applicazioni. Essi specificano
il comportamento dei file in risposta a diverse attività degli utenti
del desktop.
Per maggiori informazioni, vedere il manuale Common Desktop
Environment Programmer's Guide, incluso nella documentazione per
gli sviluppatori.
CampoDescrizione
MOVE_TO_ACTION,
campoMOVE_TO_ACTION
Per le directory ed altri tipi di raccoglitori.
Specifica l'azione da eseguire quando si sposta un file in un raccoglitore
di questo tipo.
CCOPY_TO_ACTION,
campoOPY_TO_ACTION
Per le directory ed altri tipi di raccoglitori.
Specifica l'azione da eseguire quando si copia un file in un raccoglitore
di questo tipo.
LINK_TO_ACTION,
campoLINK_TO_ACTION
Specifica l'azione da eseguire quando
si collega un file ad un file di questo tipo.
IS_TEXT,
campoIS_TEXT
Specifica che i file di questo tipo
contengono un testo che può essere visualizzato in un riquadro di testo.
MEDIA,
campoMEDIA
Specifica il tipo di media ToolTalk
corrispondente.
MIME_TYPE_MEDIA,
campoMIME_TYPE
Specifica il tipo MIME corrispondente.
X400_TYPE,
campoX400_TYPE
Specifica il tipo X400 corrispondente.
Definizione dei criteri per un tipo di dati
tipi di daticriteri di identificazione
tipi di datidifferenziazionetipi di daticriteri di identificazione
I campi della sezione DATA_CRITERIA
definizioneDATA_CRITERIA definiscono
i criteri da utilizzare per assegnare un determinato tipo di oggetto ad un
file o a una directory.
Per l'identificazione dei tipi di oggetti si possono usare i seguenti
criteri:
CriterioDescrizione
Nome del file
Il nome del file deve corrispondere
a uno schema specificato. Usare il campo NAME_PATTERN,
campoNAME_PATTERN.
Posizione del file
Il percorso deve corrispondere a uno
schema specificato. Usare il campo PATH_PATTERN,
campoPATH_PATTERN.
Contenuto del file
Una parte specifica del contenuto del
file deve corrispondere ai dati specificati. Usare il campo
CONTENT, campoCONTENT.
Modalità del file
Il file deve possedere le autorizzazioni
specificate (lettura, scrittura, esecuzione, directory). Usare il campo
MODE, campoMODE.
collegamenti simboliciuso per l'identificazione dei tipi di datiCollegamenti simbolici
L'identificazione del tipo di dati
è basata sul file a cui l'oggetto è collegato.
Si possono usare più criteri per uno stesso tipo di dati. Tuttavia,
non si dovrebbero usare insieme i criteri NAME_PATTERN
e PATH_PATTERN.
Tipi di dati basati sul nometipi di dati
identificazionein base al nome
Usare il campo NAME_PATTERN per specificare il
tipo di nome richiesto. Il valore del campo può includere i seguenti
caratteri speciali:
?
Corrisponde a qualsiasi carattere singolo
*
Corrisponde a qualsiasi sequenza di
caratteri (incluse le stringhe vuote)
[cc…]
Corrisponde a uno qualsiasi dei caratteri
(c) racchiusi tra parentesi
[c−c]
Corrisponde a uno qualsiasi dei caratteri
inclusi nell'ambito tra c e c
Esempi
La definizione seguente crea un tipo di dati basato sul nome
del file. Il nome deve iniziare con QS e terminare in .doc.
DATA_ATTRIBUTES QS_Doc
{
DESCRIPTION Questo file è un documento del progetto QS.
ICON Doc_Word
ACTIONS Aprire
}
DATA_CRITERIA QS_Doc_Criteria
{
NAME_PATTERN QS*.doc
DATA_ATTRIBUTES_NAME QS_Doc
}
La definizione seguente crea un tipo di dati applicabile alle
directory di nome Demo_n,
dove n è un valore da 0 a 9.
DATA_ATTRIBUTES Demo_directory
{
DESCRIPTION Questa è una directory. Fare doppio clic \
per aprirla.
ICON Demo
ACTIONS OpenInPlace,OpenNewView
}
DATA_CRITERIA Demo_directory_criteri
{
NAME_PATTERN Demo_[0-9]
MODE d
DATA_ATTRIBUTES_NAME Demo_directory
}
Tipi di dati basati sulla posizionetipi di datiidentificazionein base al percorsotipi di datiidentificazionein base alla posizione
Usare il campo PATH_PATTERN, campo
sintassiPATH_PATTERN per specificare
il percorso. Si possono usare gli stessi caratteri speciali descritti per NAME_PATTERN.
Ad esempio, il tipo di dati seguente utilizza un criterio basato sul
percorso.
DATA_ATTRIBUTES Illustrazioni_progetto
{
DESCRIPTION File grafico per il progetto QS. Fare doppio clic \
sull'icona per visualizzarlo.
ICON IllustQS
}
DATA_CRITERIA Criteri_Illustrazioni_progetto
{
DATA_ATTRIBUTES_NAME Illustrazioni_progetto
PATH_PATTERN */projects/QS/graphics/*
}
Tipi di dati basati sul nome e sulla posizione
Per creare un tipo di dati basato sia sul nome del file che sulla posizione,
includere il nome nel valore PATH_PATTERN. Non è
possibile usare sia NAME_PATTERN che PATH_PATTERN nella stessa definizione dei criteri.
Esempi
La seguente definizione del tipo di dati Sorgenti_QS si applica
a tutti i file di nome appn.c,
dove n è un valore da 1 a 9, situati
nelle directory secondarie di */progetti/QS.
DATA_ATTRIBUTES Sorgenti_QS
{
…
}
DATA_CRITERIA Criteri_Sorgenti_QS
{
PATH_PATTERN */progetti/QS/*/app[1-9].c
DATA_ATTRIBUTES_NAME Sorgenti_QS
}
Il tipo di dati seguente si applica a tutti i file della directory /doc/progetto1 di nome chnn.xxx, dove n è un valore da 0 a 9, e xxx
è un qualsiasi suffisso di tre caratteri.
DATA_ATTRIBUTES Capitoli
{
DESCRIPTION Capitolo della relazione sul progetto.
ICON capitolo
ACTIONS Editare,Stampare
}
DATA_CRITERIA CriteriCapitoli
{
PATH_PATTERN /doc/progetto1/ch[0-9][0-9].??
DATA_ATTRIBUTES_NAME Capitoli
}
Uso delle modalità come criterio di identificazione
del tipo di datitipi di datiidentificazionein base alla modalità
Usare il campo MODE, camposintassiMODE per specificare le autorizzazioni
richieste.
I criteri di modalità vengono in genere utilizzati in combinazione
con i tipi di dati basati sul nome, sulla posizione o sul contenuto. Permettono
di limitare l'applicazione del tipo di dati ad un file o a una directory,
o di specificare i tipi di autorizzazioni richieste.
Il campo MODE può includere gli operatori
logici e i caratteri seguenti:
OperatoreDescrizione
!
Operatore logico
NOTNOT, operatore nel campo MODE
&
Operatore logico
ANDAND, operatore nel campo MODE
|
Operatore logico
OROR, operatore nel campo MODE
CarattereDescrizione
fileuso come criterio per i tipi di datif
Il tipo di dati è applicabile
solo ai file
directory,
uso come criterio per i tipi di datid
Il tipo di dati è applicabile
solo alle directory
r
Il file è leggibile per tutti
gli utenti
sola lettura,
criterio per i tipi di datitipi
di datidi sola letturaw
Il file è scrivibile per tutti
gli utenti
tipi di
datieseguibilifile eseguibili, uso come criterio per i tipi di datix
Il file è eseguibile per tutti
gli utenti
collegamento,
uso come criterio per i tipi di datil
Il file è un collegamento
u
Il file è set-uid
g
Il file è set-gid
Nell'impostazione predefinita, il criterio è irrilevante.
Esempi
I campi seguenti restringono il tipo di dati nel modo descritto:
f&!w
File di sola lettura
!w
File e directory di sola lettura
f&x
File eseguibili
f&w&x
File accessibili sia in lettura che
in esecuzione
x|!w
File eseguibili o di sola lettura
La definizione seguente crea un tipo di dati applicabile a
file di sola lettura e non eseguibili il cui nome risponde allo schema *.doc. Si presume che per questo tipo di dati sia stata definita
un'azione Visualizzare.
DATA_ATTRIBUTES Doc_solalettura
{
ICON sola_lettura
DESCRIPTION Questo documento non è accessibile in scrittura.\
Facendo doppio clic verrà avviato l'editor con \
una copia di sola lettura del file.
ACTIONS Visualizzare
}
DATA_CRITERIA Criteri_Doc_solalettura
{
NAME_PATTERN *.doc
MODE !d&!x&!w
DATA_ATTRIBUTES_NAME Doc_solalettura
}
Identificazione del tipo di dati in base al contenutotipi di datiidentificazionein base
al contenuto
Usare il campo CONTENT, campo
CONTENT per specificare l'identificazione del tipo di
dati in base al contenuto del file. Questo criterio può essere usato
insieme a quelli basati sul nome e sulla posizione.
Questo metodo di identificazione può essere basato sia su una
stringa che su un numero contenuto nel file. Il primo byte del file corrisponde
al numero 0.
Per identificare il tipo di dati in base a una stringa contenuta
nel file, usare la sintassi:
CONTENT byte_iniziale string stringa
Per identificare il tipo di dati in base a un numero, usare
la sintassi:
CONTENT byte_iniziale byte numero
CONTENT byte_iniziale short numero
CONTENT byte_iniziale long numero
Per basare l'identificazione sul contenuto di una directory,
usare la sintassi:
CONTENT 0 filename “nome_file”
Usare la notazione C standard per i numeri ottali (che iniziano per 0) ed esadecimali (che iniziano per 0X).
L'uso del metodo di identificazione basato sul contenuto rallenterà
le prestazioni del sistema. Se possibile, usare i criteri basati sul nome
e sulla posizione.
Il tipo di dati seguente, Wingz_scrivibili, si applica a tutti i file
con autorizzazione di scrittura contenenti la stringa WNGZ
all'inizio del file.
DATA_ATTRIBUTES Wingz_scrivibili
{
…
}
DATA_CRITERIA Criteri_Wingz_scrivibili
{
CONTENT 0 string WNGZ
MODE w&!d
DATA_ATTRIBUTES_NAME Wingz_scrivibili
}
Come creare un tipo di dati con diversi criteri
indipendentitipi di daticriteri di
identificazione multipli
È possibile creare un tipo di dati con diversi criteri indipendenti
— in questo caso, un file può essere assegnato al tipo di dati
se risponde ad uno o ad entrambi i criteri.
Definire la sezione DATA_ATTRIBUTES per
il tipo di dati.
Definire un campo nella sezione DATA_CRITERIAvalori multipliDATA_CRITERIA per ogni attributo.
Usare il campo DATA_ATTRIBUTES_NAME per collegare
ognuno dei criteri alla stessa definizione di DATA_ATTRIBUTES.
Le definizioni seguenti creano il tipo di dati Mif. L'identificazione
del tipo di dati sarà basata sul nome o sul contenuto.
DATA_ATTRIBUTES Mif
{
ICON Frame
ACTION_LIST Aprire,Stampare
}
DATA_CRITERIA Criteri_Mif_Nome
{
DATA_ATTRIBUTES_NAME Mif
NAME_PATTERN *.mif
}
DATA_CRITERIA Criteri_Mif_Contenuto
{
DATA_ATTRIBUTES_NAME Mif
CONTENT 1 string MIFFile
}
Creazione di tipi di dati in altre lingue
Il percorso di ricerca per i tipi di dati include le directory dipendenti
dalla lingua. Il desktop utilizza il valore della variabileLANG, variabileeffetto sui tipi di dati LANG
per determinare le directory in cui cercare le definizioni dei tipi di dati.
Directory per i tipi di dati in altre lingue
Le definizioni dei tipi di dati tradotti devono trovarsi nelle directory
appropriate all'interno dei percorsi di ricerca delle azioni.
Il percorso di ricerca predefinito include le seguenti directory:
Azioni personali: DirectoryIniziale/.dt/types
Azioni di sistema: /etc/dt/appconfig/types/lingua
Azioni predefinite: /usr/dt/appconfig/types/lingua
Come adattare un tipo di dati per un'altra lingua
Creare un file nella directory dipendente dalla lingua appropriata
(ad esempio, in /etc/dt/appconfig/types/it).
Copiare la definizione del tipo di dati nel file di configurazione
dipendente dalla lingua.
Tradurre uno o più campi nella definizione del tipo
di dati.