Estendere &quantaplus;ChristopherHornbakerchrishornbaker@earthlink.netAndrásMantiaamantia@kde.orgSamueleKaplunsamuele.kaplun@collegiodimilano.itTraduzione del documentoEstendere &quantaplus;Questo capitolo descrive come personalizzare &quantaplus; per i tuoi particolari bisogni e come puoi aiutare &quantaplus; a diventare migliore. Pacchetto di Editing del Tipo di Documento (&DTEP;)I Pacchetti di Editing del Tipo di Documento (&DTEP;) vengono utilizzati in &quantaplus; per aggiungere il supporto per il markup, i linguaggi di scripting e &CSS;. Permettono a &quantaplus; di fornire funzionalità quali l'auto-completamento e gli alberi di nodi. La loro semplicità e flessibilità sono quello che rende &quantaplus; un &IDE; veloce, amichevole agli sviluppatori web. Sono quello che rende &quantaplus; un ambiente semplice da usare e produttivo. I &DTEP; sono di due tipi, Famiglia 1, per il markup e Famiglia 2 per lo scripting ed il &CSS;. I &DTEP; sono costituiti da due parti, la Cartella dei Tag e le Barre degli strumenti. Le Cartelle dei Tag sono composte da due tipi di file, i file &descriptionrc; ed i file TagXML, che hanno l'estensione .tag. Le barre degli strumenti sono barre di pulsanti maneggevoli, costituite da icone (poste al di sopra della finestra di editing) che inseriscono il testo nel documento più velocemente di quanto un utente possa scrivere. I &DTEP; possono essere creati manualmente (guarda più avanti), scaricati o creati automaticamente da DTD esistenti. Guarda per i dettagli sulla conversione. Questo documento descrive come creare i file TagXML, il file &descriptionrc; e le barre degli strumenti. In breve, un &DTEP;. I file TagXML (.tag) definiscono sia gli attributi specifici di un tag che la disposizione ed il contenuto della finestra di dialogo delle proprietà che &quantaplus; visualizza per il tag. Il file &descriptionrc; fornisce le regole e le informazioni del &DTEP; stesso. Le barre degli strumenti forniscono un mezzo veloce per aggiungere dei tag in un documento senza preoccuparsi di errori di ortografia e simili. ImpacchettareLe Cartelle dei Tag sono proprio questo, cartelle. Sono costituite solamente dai file &descriptionrc; e TagXML. Le Cartelle dei Tag portano il nome del linguaggio di markup e la sua versione, se applicabile. (Per esempio, html-4.01-strict) TagXMLLa tabella sottostante elenca gli elementi definiti in TagXML e dichiara se sono fondamentali o meno. Anche se non tutti sono fondamentali, ti raccomandiamo di utilizzarne quanti più ne puoi così che gli altri utenti possano avere un'esperienza migliore e maggiori informazioni con cui lavorare. ElementoUtilizzo PredefinitoTipologia di UtilizzoTAGSfondamentalesempretagfondamentalesemprelabelopzionalefondamentale per creare una finestra di dialogo delle proprietàattropzionalefondamentale per definire un attributotooltipopzionalefondamentale per far sì che la finestra di dialogo delle proprietà visualizzi un suggerimentowhatsthisopzionalefondamentale per far sì che la finestra di dialogo delle proprietà visualizzi un Che cos'èlistopzionalefondamentale quando un attributo è del tipo listitemopzionalefondamentale quando viene utilizzato <list
>textlocationopzionalesemprelocationopzionalefondamentale quando viene utilizzata un'etichettatextopzionalefondamentale quando viene utilizzata un'etichettachildrenopzionaleelenco dei tag che appaiono all'interno dei tag che si stanno definendochildfondamentaleun elemento figliostoppingtagsopzionaleelenco dei tag che dicono ad un altro tag di terminarestoppingtagfondamentaleuna voce stoppingtagsDescrizione degli Elementi TagXMLLa prossima sezione descriverà, nel dettaglio, ogni elemento. Tutto a partire da dove possono essere utilizzati a ciò che va inserito al loro interno verrà analizzato in una maniera semplice da seguire. TAGSQuesto è l'elemento radice di ogni documento TagXML. Può apparire in un documento una sola volta. Può contenere la definizione di diversi tag. È un tipo di elemento solo-elemento. Genitore(i)FigliNESSUNOtagtagContenitore per il tag che si sta definendo. Questo è un elemento di tipo solo-elemento. Genitore(i)FigliTAGSlabel, attr, stoppingtagsAttributoTypeValoriPredefinitoUsoDescrizionenamestringfondamentaleSpecifica il nome del tag da definire.singlebooleanopzionaleSpecifica se il tag richiede o meno un tag di chiusura </(nometag)
>.typestringxmltagopzionaleSpecifica il tipo di tag che si sta definendo.xmltagIl tipo di tag è basato su XML. (Solamente Famiglia 1.)entityIl tag descrive un'entità. (Solamente Famiglia 1.)propertyIl tipo di tag è relativo a &CSS;. (Solamente Famiglia 2.)functionIl tipo di tag è una funzione script. Quando viene usato <attr
> rappresenta gli argomenti della funzione. (Solamente Famiglia 2.)classIl tipo di tag è una classe script. (Solamente Famiglia 2.)methodIl tipo di tag è un metodo di classe. (Solamente Famiglia 2.)returnTypestringvoid opzionaleSpecifica il tipo di valore restituito dal tag che si sta definendo. (Solamente Famiglia 2.)voidIl tipo di tag restituisce void.intIl tipo di tag restituisce int.floatIl tipo di tag restituisce float.longIl tipo di tag restituisce long.stringIl tipo di tag restituisce string.versionstringopzionaleSpecifica la versione del linguaggio per cui è valido il tagextendsstringopzionaleValido solo nel caso in cui il tipo di tag è "class". Il nome della classe base per questa classe. (Solo Famiglia 2.)classstringopzionaleValido solo nel caso in cui il tipo è "method". Specifica il nome della classe a cui appartiene questo metodo. (Solo Famiglia 2.)commonbooleanopzionaleSe "yes", il tag specifica un attributo comune per il gruppo e gli attributi all'interno di questo tag possono essere collegati a qualsiasi altro tag. (Solo Famiglia 1.)commentstringopzionalela stringa di commento appare vicino al nome del tag nella casella di completamentolabelPosiziona un'etichetta nella finestra di dialogo. Il testo è specificato dal tag <text
>. Questo è un elemento di tipo solo-elemento. Genitore(i)Figlitagtext, locationattrDefinisce un attributo del tag. Questo elemento occorre una volta per ogni attributo. Definisce il nome ed il tipo di attributo. Inoltre contiene dei tag addizionali che specificano come dovrebbe essere visualizzato questo attributo e così via. Questo è un elemento di tipo solo-elemento. Genitore(i)Figlitaglocation, list, tooltip, whatsthis, textlocationAttributoTypeValoriPredefinitoUsoDescrizionenamestringfondamentaleSpecifica il nome dell'attributo che si sta definendo.typestringinputfondamentaleSpecifica il tipo di attributo che si sta definendo.inputIl campo supporta testo libero (campo testo).checkIl valore del campo è boolean (casella di selezione).colorIl valore del campo è un colore.urlIl valore del campo è un &URL;. (File locale a cui fare riferimento.)listIl valore del campo è un elemento di una lista specificata.statusstringopzionalefondamentaleSpecifica se l'argomento è fondamentale o meno. (Solamente Famiglia 2.)opzionaleL'argomento è opzionale.fondamentaleL'argomento è fondamentale.implicatoL'argomento è implicato.sourcestringopzionaleSpecifica il sorgente utilizzato per riempiere le voci dell'attributo nella finestra di dialogo dell'editor del tag e nell'albero degli attributiselectionIl testo selezionato viene utilizzato come sorgentedcopViene utilizzato come sorgente il risultato di un metodo dcopinterfacestringopzionaleRichiede source="dcop". Viene utilizzata l'interfaccia dcop all'interno di &quantaplus; per ottenere la sorgente di dati.methodstringopzionaleRichiede source="dcop" ed il nome di un'interfaccia. Viene utilizzato come sorgente di dati il nome del metodo dcop all'interno di &quantaplus;.argumentsstringopzionaleRichiede source="dcop", il nome di un'interfaccia ed il nome di un metodo. Gli argomenti passati al metodo. Possono essere vuoti o "%tagname%", per il nome del tag corrente.tooltipDefinisce il suggerimento per un campo nella finestra di dialogo. Questo elemento è di tipo solo-testo. Per ora, è supportato solamente il testo semplice (non puoi usare nessun markup). Genitore(i)FigliattrNESSUNOwhatsthisDefinisce l'aiuto 'Che cos'è di un campo nella finestra di dialogo. Questo elemento è di tipo solo-testo. Per ora, è supportato solamente il testo semplice (non puoi usare nessun markup). Genitore(i)FigliattrNESSUNOlistUn tag contenitore che raggruppa insieme gli elementi di una lista. Può apparire solamente una volta per ogni descrizione di attributo. Questo è un elemento di tipo solo-elemento. Genitore(i)FigliattritemitemDefinisce un elemento in una lista. Questo elemento è di tipo solo-testo. Genitore(i)FiglilistNESSUNOtextlocationSpecifica la posizione del testo dell'attributo di un tag all'interno di una finestra di dialogo. Questo tag può apparire una sola volta per ogni attributo nella finestra di dialogo (cioè una volta per ogni tag <attr
>). Questo elemento è di tipo vuoto. Genitore(i)FigliattrNESSUNOAttributoTypeUsoDescrizionerownonNegativeIntegerfondamentaleSpecifica la riga nella disposizione della finestra di dialogo di un campo o di una etichetta.colnonNegativeIntegerfondamentaleSpecifica la colonna nella disposizione della finestra di dialogo di un campo o di una etichetta.rowspannonNegativeIntegeropzionaleSpecifica il numero di righe che un campo dovrebbe occupare.colspannonNegativeIntegeropzionaleSpecifica il numero di colonne che un campo dovrebbe occupare.locationSpecifica la posizione e la dimensione di un campo nella finestra di dialogo. Questo tag dovrebbe occorrere una sola volta per ogni campo nella finestra di dialogo (cioè una volta per ogni tag <attr
> e <label
>). Questo elemento è di tipo vuoto. Genitore(i)Figlilabel, attrNESSUNOAttributoTypeUsoDescrizionerownonNegativeIntegerfondamentaleSpecifica la riga nella disposizione della finestra di dialogo di un campo o di una etichetta.colnonNegativeIntegerfondamentaleSpecifica la colonna nella disposizione della finestra di dialogo di un campo o di una etichetta.rowspannonNegativeIntegeropzionaleSpecifica il numero di righe che un campo dovrebbe occupare.colspannonNegativeIntegeropzionaleSpecifica il numero di colonne che un campo dovrebbe occupare.textDefinisce il testo di un'etichetta o di una casella di selezione. Questo elemento è di tipo solo-testo. Genitore(i)Figlilabel, attrNESSUNOchildrenDefinisce una lista di elementi che possono apparire all'interno del tag che si sta definendo. Questo elemento è di tipo solo-elemento. Genitore(i)FiglitagchildchildDefinisce un tag figlio. Questo elemento è di tipo vuoto. Genitore(i)FiglichildrenNESSUNOAttributoTypeValoriUsoDescrizionenamestringfondamentaleSpecifica un tag che può apparire all'interno di un certo tag.usagestringopzionaleSpecifica la relazione con il genitore.fondamentaleIl genitore deve avere almeno un figlio con questo nome.stoppingtagsDefinisce una lista di elementi che forzano la chiusura di un tag. Questo elemento è di tipo solo-elemento. Genitore(i)FiglitagstoppingtagstoppingtagDefinisce un tag di stop. Questo elemento è di tipo vuoto. Genitore(i)FiglistoppingtagsNESSUNOAttributoTypeUsoDescrizionenamestringfondamentaleSpecifica quali tag forzano la chiusura di altri tag.Utilizzo di TagXMLTutti i file TagXML devono iniziare con la dichiarazione &XML;: <?xml version="1.0" encoding="UTF-8"?> e devono essere annidati e conclusi correttamente. Gli spazi bianchi non influenzano negativamente nulla, ma fai attenzione con i caratteri & e <. Questi dovrebbero solitamente essere sostituiti rispettivamente da & e <, in elementi come <tooltip
>, <whatsthis
>, e <text
>. Non farlo non causerà un crash, ma pezzi del tuo lavoro spariranno. Validazione dei file TagXMLPer validare i tuoi file TagXML, fai clic semplicemente sulla finestra di dialogo a comparsa Strumenti in cima a &quantaplus; e seleziona Valida TagXML. Verrà aperta una finestra di dialogo e dovrai solo seguire le sue semplice indicazioni. Questa funzionalità non è al momento presente. Per ora la validazione avviene quando i file TagXML sono caricati in &quantaplus;. Esempi di TagXMLFamiglia 1Il paragrafo che segue ti mostrerà un file TagXML valido per la Famiglia 1. Questo file descrive l'elemento <schema
> dell'&XML; &W3C;. Il nome di questo file TagXML dovrebbe essere schema.tag. Semplice, no?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TAGS>
<TAGS>
<tag name="schema">
<label>
<text
>id</text>
<location col="0" row="0"/>
</label>
<attr name="id" type="input">
<tooltip
>Un ID unico per l'elemento.</tooltip>
<whatsthis
>Un ID unico per l'elemento.</whatsthis>
<location col="1" row="0"/>
</attr>
<label>
<text
>version</text>
<location col="0" row="1"/>
</label>
<attr name="version" type="input">
<tooltip
>Versione dello schema.</tooltip>
<whatsthis
>Versione dello schema.</whatsthis>
<location col="1" row="1"/>
</attr>
<label>
<text
>targetNamespace</text>
<location col="0" row="2"/>
</label>
<attr name="targetNamespace" type="input">
<tooltip
>Riferimento &URI; dello spazio dei nomi di questo schema.</tooltip>
<whatsthis
>Riferimento &URI; dello spazio dei nomi di questo schema.</whatsthis>
<location col="1" row="2"/>
</attr>
<label>
<text
>xmlns</text>
<location col="0" row="3"/>
</label>
<attr name="xmlns" type="input">
<tooltip
>Riferimento &URI; per uno o più spazi dei nome da utilizzare in questo schema.
Se non viene utilizzato alcun prefisso, allora i componenti dello spazio dei nomi potrebbero essere usati senza qualifica.</tooltip>
<whatsthis
>Riferimento &URI; per uno o più spazi dei nome da utilizzare in questo schema.
Se non viene utilizzato alcun prefisso, allora i componenti dello spazio dei nomi potrebbero essere usati senza qualifica.</whatsthis>
<location col="1" row="3"/>
</attr>
<label>
<text
>attributeFormDefault</text>
<location col="0" row="4"/>
</label>
<attr name="attributeFormDefault" type="list">
<items>
<item
>qualified</item>
<item
>unqualified</item>
</items>
<tooltip
>Forma predefinita per tutti gli attributi all'interno di questo schema.</tooltip>
<whatsthis
>Forma predefinita per tutti gli attributi all'interno di questo schema.</whatsthis>
<location col="1" row="4"/>
</attr>
<label>
<text
>elementFormDefault</text>
<location col="0" row="5"/>
</label>
<attr name="elementFormDefault" type="list">
<items>
<item
>qualified</item>
<item
>unqualified</item>
</items>
<tooltip
>Forma predefinita per tutti gli elementi all'interno di questo schema.</tooltip>
<whatsthis
>Forma predefinita per tutti gli elementi all'interno di questo schema.</whatsthis>
<location col="1" row="5"/>
</attr>
<label>
<text
>blockDefault</text>
<location col="0" row="6"/>
</label>
<attr name="blockDefault" type="input">
<location col="1" row="6"/>
</attr>
<label>
<text
>finalDefault</text>
<location col="0" row="7"/>
</label>
<attr name="finalDefault" type="input">
<location col="1" row="7"/>
</attr>
</tag>
</TAGS>
Famiglia 2Quanto segue ti mostrerà un file TagXML valido della Famiglia 2. Questo file descrive la funzione overload di &PHP;. Il nome di questo file TagXML dovrebbe essere overload.tag.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tags>
<tags>
<tag name="overload" type="function" returnType="void">
<attr name="class_name" type="string" status="optional"/>
</tag>
</tags>
&descriptionrc;Il file &descriptionrc; è, inoltre, abbastanza semplice ed esiste un suo editor raggiungibile tramite DTDModifica impostazioni DTD. Verrà così modificato il file &descriptionrc; di un &DTEP; che puoi scegliere da una lista.Per modificare il file &descriptionrc; di un &DTEP; appena creato dovresti creare un semplice &descriptionrc; con le seguenti voci:
[General]
Version = Usa 1 per &quantaplus; version <=3.1.2 e 2 per qualsiasi versione successiva.
Name = stringa di definizione del DTD. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
NickName = Il nome abbellito del DTD. (HTML 4.01 Transitional). Se non definito verrà
utilizzato Name come NickName.
Una volta creato mettilo assieme ai file tag, carica il &DTEP; appena creato con DTDCarica pacchetto DTD (DTEP). Quando sarà caricato potrai cominciare a modificare le impostazioni del &DTEP;. Controlla i suggerimenti e i testi del "Che cos'è?" per le varie voci della finestra di dialogo dell'editor per capire il significato di ogni voce. In alternativa puoi leggere quanta/data/dtep/dtd-description.txt dal pacchetto tar del sorgente che contiene una descrizione del formato. Azioni definite dall'utenteLe azioni sono molto comuni in ogni applicazione. Facendo clic sull'icona di una barra degli strumenti, selezionando un elemento del menu o utilizzando una scorciatoia attiva di solito un'azione. In &quantaplus; le azioni vengono portate ad un livello superiore. Invece di essere cablate (cioè create dal programmatore applicativo a livello del codice sorgente) sono creabili e modificabili dall'utente ordinario, permettendo così di aggiungere nuove funzionalità a &quantaplus;. Queste sono le azioni definite dall'utente e persino molte delle azioni predefinite di &quantaplus; sono definite dall'utente (e modificabili dall'utente). Esistono tre tipi di azioni definibili dall'utente: Azioni testoAzioni tagAzioni scriptCreare le azioniPuoi creare un'azione tramite ImpostazioniConfigura azioni. Fai clic su Nuova azione per incontrare una finestra di dialogo simile alla seguente: TipoSpecifica il tipo di azione (Testo, Tag, Script).TestoIl nome dell'azione visibile all'utente.Il pulsante accanto all'etichetta TestoL'icona assegnata a quest'azione. Fai clic per modificare l'icona corrente.SuggerimentiBreve descrizione di cosa fa l'azione.ScorciatoiaLa scorciatoia assegnata a questa azione. Fai clic su Personalizzato o vicino al pulsante Personalizzato per assegnare una scorciatoia; fai clic suNessuno per rimuovere la scorciatoia attualmente assegnata.Contenitori della barra degli strumentiLe barre degli strumenti definite dall'utente dove questa azione appare. Vedi .Impostazioni dettagliateSpecifica le impostazioni per differenti tipi di azioni. Vedi sotto. Azioni testo L'azione più semplice. Puoi inserire del testo nell'area Impostazioni dettagliate e ogni volta che l'azione verrà eseguita questo testo sarà inserito nel tuo documento alla posizione corrente del cursore. Vedi l'esempio sotto. Azioni tagUtile per inserire tag XML, ma puoi chiaramente utilizzarle per altri scopi. <tag>Il nome del tag.</tag>Se attivato quando l'azione viene eseguita questo testo sarà inserito come tag di chiusura. Se esiste un'area selezionata nel documento prima che tu esegua l'azione, il <tag> sarà inserito prima dell'area selezionata e </tag> dopo.Esegui "Modifica tag" se disponibileSe attivato ed esiste un file tagXML per questo tag, verrà mostrata una finestra di dialogo di modifica del tag prima dell'inserimento del tag stesso nel documento, così che tu possa regolare finemente gli attributi del tag. <tag> e </tag> saranno inseriti come sono stati digitati qui. I simboli <, > o / non verranno aggiunti automaticamente. Azioni script Il tipo di azione più potente. Con l'aiuto di questa azione puoi eseguire applicazioni esterne (di solito script, ma non vi è un limite particolare), che possono alterare il tuo documento o utilizzare il tuo documento (o parte del tuo documento) come input. Esempi di &quantaplus; stesso sono la finestra di dialogo Avvio rapido, le varie azioni Visualizza in... per i DTEP (X)HTML. Innanzitutto devi inserire il nome del tuo script incluso l'interprete. Ad esempio: sh /home/miaHome/mioScript.sh. Anche se puoi utilizzare percorsi completi, è preferibile usare la variabile %scriptdir nella riga di comando, come in sh %scriptdir/mioScript.sh. In questo modo &quantaplus; proverà a trovare il tuo script nelle seguenti posizioni: la cartella globale degli script: $KDEDIR/share/apps/quanta/scriptsla cartella locale degli script: $KDEHOME/share/apps/quanta/scriptsil tuo path: $PATH Esistono altre variabili speciali che puoi utilizzare sulla riga di comando: %f: verrà sostituita dall'URL del documento corrente. Nel caso di documenti locali, il prefisso file:/ verrà rimosso dal nome del documento.%input: verrà sostituita dall'input selezionato. Vedi sotto.%projectbase: verrà sostituita dall'URL del progetto corrente. È vuota se non è stato caricato alcun progetto.%pid: verrà sostituita dal PID del processo di &quantaplus; in esecuzione. Se &quantaplus; è in esecuzione in modalità unica, la stringa "unique" precederà il numero del PID. Utile quando vuoi usare DCOP per controllare &quantaplus; da uno script esterno.%userarguments: utile nel caso di eventi. Questa variabile verrà sostituita dalle proprietà degli eventi nel seguente ordine: Primo argomentoL'id univoco dello scriptSecondo argomentoil nome dell'eventoTerzo argomentoi parametri dell'evento, solitamente il nome del file del documento corrente o il percorso del file del progetto.Accanto ai precedenti metodi lo script può ricevere dell'input da &quantaplus; tramite lo standard input. Nella casella combo Input puoi selezionare che cosa deve essere inviato sullo standard input. Le scelte possibili sono: Nulla: non viene inviato nulla allo script.Documento corrente: viene inviato allo script l'intero documento.Testo selezionato: viene inviata allo script l'area del documento selezionata. L'utilizzo della variabile %input di solito ha senso solo quando si usa questa impostazione.In maniera simile alla voce Input puoi catturare l'output dell'applicazione eseguita. Ci sono due tipi di output: l'output normale, stampato sullo standard output;i messaggi di errore, stampati sullo standard error. Puoi specificare che cosa debba accadere al testo stampato sullo standard output, modificando il valore della casella combo Output: Nulla: l'output dell'applicazione viene ignorato.Inserisci nella posizione del cursore: l'output verrà inserito nel documento e nella posizione corrente.Sostituisci selezione: l'area selezionata del documento verrà sostituita dall'output.Sostituisci selezione: l'area selezionata del documento verrà sostituita dall'output.Crea un nuovo documento: verrà creato un nuovo documento contenente l'intero output dello script.Sostituisci il documento corrente: l'intero documento verrà sostituito dall'output.Finestra di messaggio: l'output apparirà nella vista Messaggi.Le scelte disponibili per lo standard error (Error) sono le stesse dell'output normale.Creare Barre degli strumentiQuanto segue ti mostrerà come creare barre degli strumenti per un &DTEP;. Le barre degli strumenti sono degli elementi grafici cui sono assegnate delle azioni. Le azioni in &quantaplus;, sono alla base di quasi tutte le estensioni che &quantaplus; possiede e che acquisirà in futuro. Lo stesso meccanismo che definisce un azione in &quantaplus; abilita anche l'auto-completamento nelle finestre di dialogo dei tag. L'utilizzo che puoi fare delle azioni è virtualmente illimitato. Per fare un esempio, useremo &HTML; tidy sulle nostre pagine web. Da Zero al CompletoPer iniziare, dovrai creare una barra degli strumenti dell'utente. Seleziona Barre degli strumentiAggiungi Barra degli strumenti dell'Utente. Se ci sono molti tag per il linguaggio di markup, ti raccomandiamo di dividerli in gruppi logici. Avrai bisogno di creare una nuova barra degli strumenti per ogni gruppo. In questo caso, non ce ne sono molti, perciò costruiremo solamente una barra degli strumenti e la chiameremo con il nome del markup. Una volta che saranno create tutte le tue barre degli strumenti, dovrai aggiungere e configurare le azioni. Per questo, seleziona ImpostazioniConfigura Azioni. Le parti di questa finestra sono molto chiare. Premi il pulsante Nuova azione alla base della finestra per entrare nella modalità di modifica. Completa tutti i campi necessari ed aggiungi il tag alla(/e) barra(/e) degli strumenti appropriata(/e). Completa il resto e, se il tag ha degli attributi ed hai intenzioni di usarli sempre, attiva la casella Apri finestra di dialogo "Modifica tag" se disponibile così che ti venga proposta ogni volta che usi questa azioni. Dovresti aver ottenuto ora qualcosa di molto simile a quanto segue. Premi il pulsante Applica per vedere l'azione aggiunta alla(/e) barra(/e) degli strumenti che hai selezionato. Oh no! Quell'icona è orribile. Come farete tu e gli altri a ricordare che quell'icona è associata a quell'azione? Sostituiamola prima che sopraggiungano dei problemi. Per creare un'icona che descriva in maniera più accurata quell'azione, utilizzeremo &kiconedit;. Selezionalo dal &kmenu;, GraficaMore Applications (o dove l'ha posto la tua distribuzione). &kiconedit; inizia per impostazione predefinita con la dimensione di 32x32 pixel, ma noi abbiamo bisogno di 22x22. Per cambiare, seleziona ModificaRidimensiona. Tieni a mente che stai creando un'icona che non aiuterà solo te a ricordare quale azione fa cosa, ma anche agli altri utenti del &DTEP;. Dato che il tag per cui sto creando l'icona è chiamato inizio, ho deciso di creare un segnale di Start. Usando il colore verde (il verde viene spesso interpretato come vai, inizio o procedi) porterà, o dovrebbe trasmettere un messaggio all'utente che facendo clic su questa azione verrà posto un tag <start> nel documento corrente. Adesso che ho finito con la creazione dell'icona, la salverò. Una volta che avrai finito di creare l'icona, dovrai associarla con l'azione. Per farlo, apri di nuovo (in &quantaplus;) ImpostazioniConfigura Azioni e seleziona l'azione per cui hai creato l'icona. A lato del campo Testo, vedrai un pulsante su cui fare clic. Seleziona Altre Icone e poi fai clic sul pulsante Sfoglia. Raggiungi la cartella in cui hai salvato l'icona, selezionala e fai clic su OK. Premi il pulsante Applica e fai lo stesso per tutti gli altri tag, se ce ne sono, o fai clic su OK per finire. Supponiamo che tu voglia aggiungere alcune tipiche funzioni di &quantaplus; alla tua barra degli strumenti o magari pensi che la barra degli strumenti sarebbe meglio organizzata in una differente maniera con alcuni separatori per raggruppare le azioni. Apri la finestra di dialogo Configura le barre degli strumenti andando su ImpostazioniConfigura le barre degli strumenti. Assicurati che la tua barra degli strumenti sia selezionata. Sceglierò il separatore (in cima alla colonna di sinistra) per la mia barra degli strumenti. Una volta selezionato l'elemento che vuoi aggiungere alla tua barra degli strumenti, premi il pulsante con la freccia a destra. Così verrà aggiunto alla tua barra degli strumenti. Penso che avrò bisogno di una maniera rapida per accedere all'Anteprima di Konqueror. La selezionerò e l'aggiungerò alla barra degli strumenti. Nota come il separatore aiuti a raggruppare. Un utente privo di esperienza avrebbe potuto pensare che il pulsante di &konqueror; fosse stato analogo o addirittura opposto al pulsante start. Applica le tue modifiche e, quando hai terminato, premi OK per finire. Ah, guarda alla nuova e fantastica barra degli strumenti! Molto più maneggevole ora. Ricordati di verificare la tua barra degli strumenti, facendo clic su tutti i pulsanti, così da verificare che l'output sia corretto. Ora, per salvare la barra degli strumenti, selezioneremo Barre degli strumentiSalva barre degli strumentiSalva con nome la barra degli strumenti locale. Salvala nella cartella corretta. Dato che NeXML non esiste, la metterò nella cartella di primo livello, ma la tua barra degli strumenti dovrebbe essere salvata nella cartella corretta. Assicurati di impostare il tuo file &descriptionrc; così da caricare la tua barra degli strumenti quando viene creato un nuovo file di quel tipo. Creare la Tua DocumentazioneRobertNickelrobert@artnickel.comSamueleKaplunsamuele.kaplun@collegiodimilano.itTraduzione del documentoCreare la Tua DocumentazioneLe aggiunte più evidenti in &quantaplus; per l'utente generico saranno, probabilmente, l'aggiunta della documentazione per il linguaggio markup o scripting che ti piace di più. Per questo, questo capitolo spiegherà come creare l'albero della documentazione di &PHP; per il mio uso personale. Prima di iniziare a creare la tua documentazione, potresti voler controllare l'archivio di &quantaplus; per vedere se qualcun altro l'ha già creata. Ci sono due fasi in questo processo. Primo, devi procurarti la documentazione esistente per il linguaggio di markup/scripting/eccetera che stai curando. Secondo, devi creare il file docrc. La prima fase dipende da te, la seconda è quella che affronteremo ora. La forma generica del file docrc è la seguente: #File di Configurazione di KDE
[Tree]
Doc dir=percorso, relativamente a questo file, per i file html della documentazione ad esempio, php42/
#elementi di primo livello
Top Element=La tua descrizione per questa documentazione Ad esempio, documentazione &PHP; 4.2
Sezione 1=Sezione1.html
Sezione 2=#Sez2.1,#Sez2.2,#Sez2.3
Sez2.1=Sez2.1.html
Sez2.2=Sez2.2.html
Sez2.3=Sez2.3.html
...
[Context]
ContextList=funz1,funz2,tag1,tag2,tag3
funz1=funz1.html
funz2=funz2.html
tag1=tag1.html
tag2=tag2.html
tag3=tag3.html
Il file docrc è suddiviso in due sezioni: Albero e Contesto. La sezione Tree definisce l'aspetto con cui viene presentata la documentazione nella scheda omonima. Per esempio, potrai osservare che con la documentazione di &PHP; hai qualcosa di simile a: Facendo riferimento a quanto mostrato sopra, il mio file docrc di &PHP; appare così: #KDE Config File
[Tree]
Doc dir=php42/
#top level elements
Top Element=PHP 4.2 documentation
PHP 4.2 documentation=Table of Contents,#Getting Started,#Language Reference
Table of Contents=index.html
Getting Started=Introduction, ...
Introduction=introduction.html
...
Language Reference=Basic syntax, ...
Basic syntax=language.basic-syntax.html
...
Osserva il # davanti a Getting Started e Language Reference. Questo sta ad indicare che questi sono sotto-contenitori dell'albero e che hanno un proprio contenuto. Non credo che ci sia un limite al livello di profondità (oltre a quello indicato dal buonsenso) — usa il tuo giudizio. Per il Sommario, avrai notato che fa riferimento direttamente ad un file (e di conseguenza appare in fondo alla rappresentazione dell'albero — le cartelle vengono prima!). Gli spazi non influiscono su nulla, ma fai attenzione ai caratteri & e <. Questi dovrebbero essere sostituiti rispettivamente da & e < in tutti i file di risorsa di &quantaplus; basati su &XML;. La sezione Context è la sezione del file docrc che viene usata per facilitare l'aiuto sensibile al contesto. Per esempio, stai scrivendo uno script &PHP; e desideri vedere la documentazione per la funzione mysql_fetch_array. Evidenzia semplicemente la funzione e premi &Ctrl;H per l'aiuto contestuale. Verrà immediatamente visualizzata la documentazione di mysql_fetch_array. Ci sono solo due tipi di voci qui: ContextList e le righe di associazione ai file. ContextListMolto semplicemente, questa è solo una lista di voci di contesto, separati da una virgola, che desideri siano disponibili (per &PHP;, questi sono le funzioni di &PHP;). Righe di associazioni dei fileQueste sono nella forma elemento di contesto=pagina della documentazione html. Ad esempio acos=function.acos.html Una versione ridotta della sezione Contesto del mio docrc è la seguente: #Parole chiave per l'aiuto contestuale
[Context]
ContextList=abs,acos,acosh,addcslashes,addslashes,...
abs=function.abs.html
acos=function.acos.html
acosh=function.acosh.html
addcslashes=function.addcslashes.html
addslashes=function.addslashes.html
...
Adesso è sufficiente salvare il tuo file docrc, in $HOME/.kde/share/apps/quanta/doc o $KDEDIR/share/apps/quanta/doc rispettivamente per un uso locale o globale. Poi occorre creare una cartella (quella specificata nel tuo file docrc) nella stessa cartella del tuo file docrc e copiare lì le tue pagine &HTML;. Dovrai riavviare &quantaplus; per vedere la tua documentazione. Una volta che ti sei accertato che siano buoni e valga la pena condividerli, spedisci il file docrc assieme ad una descrizione riguardo a qualsiasi informazione pertinente su quale documentazione tu abbia usato all'archivio di &quantaplus; perché venga usato dalla comunità di &quantaplus;. Non diventerai ricco, ma ti sentirai gratificato sapendo di aver contribuito qualcosa alla miglior piattaforma di sviluppo web che esista. Condivisione delle risorseCon &quantaplus; non sei solo. È possibile condividere con gli altri le diverse risorse (pacchetti DTEP, barre degli strumenti con le relative azioni, script, modelli). Ci sono due modi per farlo: Spedire via posta elettronicaLe risorse possono essere inviate tramite posta elettronica ai tuoi amici, colleghi o altri. Troverai la voce di menu Invia per posta elettronica in diversi posti, ad esempio DTDInvia il pacchetto DTD (DTEP) per posta elettronica, Barre degli strumentiInvia barra degli strumenti per posta elettronica, nel menu contestuale dei file e delle cartelle negli alberi Modelli e Script. Spedire al server principaleLe risorse possono essere spedite al nostro deposito principale, dal quale tutti gli altri utenti di &quantaplus; potranno scaricarle. Gli invii verranno esaminati e resi disponibili solo se la nostra squadra li considererà corretti ed utili per la pubblicazione. Per fare un invio valido ti suggeriamo di firmare le risorse, perciò hai bisogno di una chiave GPG/PGP. Questa informazione viene usata per verificare l'origine delle risorse sia dalla nostra squadra che dagli altri utenti.Riguardo a come ottenere delle risorse dal server principale .Durante l'invio ti verrà chiesto di inserire la parola chiave per la tua chiave segreta GPG (la parola chiave non verrà memorizzata), o nel caso tu abbia più chiavi segrete, ti verrà chiesto di scegliere quale intendi utilizzare. Nella finestra di dialogo Condividi le novità riempi gli appositi campi (la voce Anteprima URL potrà rimanere vuota) e inizia l'invio facendo clic su OK.Si può iniziare l'invio tramite il menu DTDInvia pacchetto DTD (DTEP), Barre degli strumentiInvia barra degli strumenti, nel menu contestuale dei file e delle cartelle nell'albero dei Modelli e degli Script. Ottenere le risorseÈ possibile aggiornare la tua installazione di &quantaplus; senza installarne una nuova versione, scaricando le nuove risorse come i pacchetti DTEP, le barre degli strumenti con le azioni, i modelli, gli script e la documentazione. Una delle possibilità è quella di ottenere le risorse tramite posta elettronica o di scaricarle da un server web, nel qual caso dovrai installarle manualmente. Se sarai fortunato troverai anche uno script di installazione allegato alla risorsa. &quantaplus; possiede, inoltre, un server dedicato per archiviare le risorse che non sono state incluse nella distribuzione principale o a causa delle loro dimensioni o del loro utilizzo poco frequente, o che sono state contribuite in seguito dagli utenti. Queste risorse vengono installate automaticamente. Per scaricarle utilizza le varie voci Scarica nei rispettivi menu. Puoi trovarli nel menu DTDScarica pacchetto DTD (DTEP), Barre degli strumentiScarica barra degli strumenti, nel menu contestuale di un'area libera nell'elemento radice degli alberi Modelli, Script e Documentazione. Dopo aver scaricato una risorsa, ma prima di averla installata, &quantaplus; ne verifica la validità, controllandone l'integrità e la firma elettronica. In caso di problemi li segnalerà e potrai decidere di continuare o meno. Per favore, leggi attentamente le finestre di dialogo. Nel caso in cui l'integrità sia corretta e la risorsa sia correttamente firmata, ti verrà comunque mostrata una finestra di dialogo informativa, così che tu possa vedere chi ha creato la risorsa. Assicurati di installare le risorse, specialmente per quanto riguarda le barre degli strumenti e gli script, solo da sorgenti sicuri!Convertire una DTD in una &DTEP;È possibile lavorare su linguaggi XML non supportati attualmente da &quantaplus; creandone il pacchetto DTEP. Ma la creazione potrebbe impiegare parecchio tempo, in quanto potresti dover creare centinaia di file tag nel formato tagXML. Chiaramente c'è un modo più rapido per farlo, convertendo automaticamente un DTD in un pacchetto DTEP. La conversione può essere avviata dal menu DTDCarica e converti DTD. Seleziona il file .dtd che definisce il DTD che desideri utilizzare. Vedrai così la finestra di dialogo: Le voci sono:Cartella di destinazione: il nuovo &DTEP; appena creato verrà posto in una cartella con questo nome al di sotto di $KDEHOME/share/apps/quanta/dtep. Nome:il nome (stringa di definizione) del DTDPseudonimo: il nome del &DTEP; visibile all'utenteRiga di definizione !DOCTYPE: la stringa che dovrà apparire nel tag !DOCTYPE, come HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"URL DTD: l'URL che punta al file DTDEstensione predefinita: l'estensione utilizzata solitamente per i file scritti in questo DTDTag e attributi sensibili alle minuscole/maiuscole: autoesplicativo, di solito vero per le varianti dei linguaggi XMLRaffina il DTEP dopo la conversione: se selezionato, avvenuta la conversione, &quantaplus; aprirà l'editor del file &descriptionrc;, così che tu possa raffinare il &DTEP; appena creato. Si raccomanda di lasciare questa opzione selezionata.