User Tools

Site Tools


gui-code-it

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gui-code-it [2018/11/12 08:56] (current)
Line 1: Line 1:
 +====== Manutenzione e creazione di finestre per l'​interfaccia ======
 +[[italian|{{ rocrail-logo-35.png}}]]
 +[[:​develop-corner-it|Angolo degli sviluppatori]] ​
 +  *  [[build-it|Compilazione dal sorgente]] | **Finestre per l'​interfaccia**\\
 + \\
  
 + \\
 + __Dal 18/01/2009 le nuove finestre devono essere create con wxFormsBuilder.__\\
 +
 + \\
 +
 + \\
 +
 +===== wxFormsBuilder =====
 +Negli sviluppi futuri dovrete utilizzare il tool open source [[http://​wxformbuilder.org/​|wxFormBuilder]].\\
 +Con questo strumento si dovrà utilizzare un approccio differente rispetto al precedente DialogBlocks:​
 +  * tutto il codice generato deve essere scritto in file separati;
 +  * le classi generate sono astratte quindi il codice dovrà ereditare queste classi;
 +  * il codice deve essere scritto nei relativi file, wxFormBuilder può generare gli stub.
 +Vantaggi:
 +  * il tool è open source;
 +  * nessun missaggio tra codice utente e generato;
 +  * importazione ed esportazione XRC;
 +  * pacchetti per Ubuntu: https://​launchpad.net/​~rjmyst3/​+archive;​
 +  * eseguibile per Windows: consultare la pagina per il download http://​wxformbuilder.org/​.
 + \\
 +È possibile migrare le finestre create con DialogBlocks perché entrambi gli strumenti supportano il formato XRC, ma il codice utente dovrà essere estratto manualmente nel relativo file.
 + \\
 +
 +==== Linee guida ====
 +=== Nomi dei file ===
 +Esempio per il nome della classe **//​CarDlg//​**:​
 +^ Descrizione ^ Nome del file ^ Nome della classe ^ Note ^
 +| Progetto Formsbuilder | cardlg.fbp | cardlg (nome progetto) | Finestra unica per progetto |
 +| Classe astratta generata | cardlggen.cpp/​h | cardlggen | File di sola lettura da non modificare |
 +| Classe derivata | cardlg.cpp/​h | CarDlg | Implementazione di funzionalità |
 +
 +
 + \\
 +
 +===== DialogBlocks =====
 +La maggior parte delle finestre è stata creata con lo strumento: [[http://​www.anthemion.co.uk/​dialogblocks/​|DialogBlocks]]. \\
 +Vantaggi:
 +  * ha svolto un ottimo lavoro sinora e supporta tutti i dettagli;
 +  * importazione ed esportazione XRC.
 +Svantaggi:
 +  * è uno strumento commerciale e richiede una licenza per qualsiasi utilizzo.
 +
 + \\
 +====Modifica del codice delle GUI realizzate con DialogBlocks====
 +Se desiderate modificare componenti dell'​interfaccia come le finestre, **evitate di cambiare manualmente il codice compreso tra @begin e @end ** con un editor di testo:\\
 +(Codice generato da DialogBlocks)
 +
 +<​code>​
 +////@begin BlockDialog event table entries
 +EVT_LISTBOX( ID_LISTBOX_BLOCKS,​ BlockDialog::​OnListboxBlocksSelected )
 +EVT_BUTTON( ID_BUTTON_BLOCK_NEW,​ BlockDialog::​OnButtonBlockNewClick )
 +...
 +EVT_BUTTON( wxID_OK, BlockDialog::​OnOkClick )
 +
 +////@end BlockDialog event table entries
 +</​code>​
 +
 +Questo codice è generato da DialogBlocks e viene sovrascritto automaticamente quando un altro sviluppatore utilizza il tool per una successiva modifica.
 +Consultate la seguente pagina per ulteriori informazioni in merito: http://​www.anthemion.co.uk/​dialogblocks/​
 +
 +
 + \\
 +
 +===== Traduzioni =====
 +[[https://​translations.launchpad.net/​rocrail|Launchpad]] mette a disposizione una comoda interfaccia web per eseguire traduzioni utilizzando il formato Gnu Gettext.
 +  * http://​it.wikipedia.org/​wiki/​Gettext
 +  * http://​www.gnu.org/​software/​gettext/​
 +
 +Questo rappresenta un grande passo in avanti per la traduzione di Rocrail ma richiede un grande sforzo per migrare dalla soluzione basata su file XML a quella basata su Gettext.\\
 +il server Rocrail è attualmente privo di traduzione e può essere tradotto utilizzando il formato Gettext.\\
 +(Anche MinGW dispone di funzionalità Gettext)
gui-code-it.txt · Last modified: 2018/11/12 08:56 (external edit)