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<indexterm> <primary>tipi di dati</primary><secondary>file di configurazione</secondary> </indexterm><indexterm><primary>file di configurazione</primary><secondary>tipi di dati</secondary></indexterm> 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<indexterm> <primary>tipi di dati</primary><secondary>definizione</secondary></indexterm> 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. <?X-setsize 13.0 pt>Esempio di creazione di un'azione e di un tipo di dati personale<indexterm><primary>tipi di dati</primary><secondary>esempio</secondary></indexterm><indexterm><primary>tipi di dati e azioni personali, creazione</primary></indexterm> 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 dati<indexterm><primary>DATA_ATTRIBUTES</primary><secondary>definizione</secondary></indexterm><indexterm> <primary>tipi di dati</primary><secondary>attributi</secondary></indexterm> 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 dati<indexterm><primary>icone</primary><secondary>di tipi di dati</secondary> </indexterm><indexterm><primary>tipi di dati</primary><secondary>icone</secondary> </indexterm> 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 dati<indexterm><primary>tipi di dati</primary><secondary>associazione con le azioni</secondary></indexterm> alle azioni<indexterm><primary>azioni</primary><secondary>associazioni con i tipi di dati</secondary></indexterm><indexterm><primary>tipi di dati</primary> <secondary>associazione con le azioni</secondary></indexterm> 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 dati<indexterm><primary>file</primary><secondary>visibilità</secondary></indexterm><indexterm> <primary>o meno in base al tipo di dati</primary></indexterm><indexterm> <primary>tipi di dati</primary><secondary>nascosti</secondary></indexterm><indexterm> <primary>tipi di dati</primary><secondary>uso per la visualizzazione o meno dei file</secondary></indexterm> 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<indexterm> <primary>tipi di dati</primary><secondary>criteri di identificazione</secondary> </indexterm><indexterm><primary>tipi di dati</primary><secondary>differenziazione</secondary></indexterm><indexterm><primary>tipi di dati</primary><secondary>criteri di identificazione</secondary></indexterm> 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 nome<indexterm><primary>tipi di dati</primary> <secondary>identificazione</secondary><tertiary>in base al nome</tertiary> </indexterm> 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 [cc] 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 posizione<indexterm><primary>tipi di dati</primary><secondary>identificazione</secondary><tertiary>in base al percorso</tertiary></indexterm><indexterm><primary>tipi di dati</primary><secondary>identificazione</secondary><tertiary>in base alla posizione</tertiary></indexterm> 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 dati<indexterm><primary>tipi di dati</primary><secondary>identificazione</secondary><tertiary>in base alla modalità</tertiary></indexterm> 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 contenuto<indexterm><primary>tipi di dati</primary><secondary>identificazione</secondary><tertiary>in base al contenuto</tertiary></indexterm> 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 indipendenti<indexterm><primary>tipi di dati</primary><secondary>criteri di identificazione multipli</secondary></indexterm> È 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.