Manutenzione e creazione di finestre per l'interfaccia

Angolo degli sviluppatori



Dal 18/01/2009 le nuove finestre devono essere create con wxFormsBuilder.



wxFormsBuilder

Negli sviluppi futuri dovrete utilizzare il tool open source 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:


È 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: 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)

////@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

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

Launchpad mette a disposizione una comoda interfaccia web per eseguire traduzioni utilizzando il formato Gnu 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)


Personal Tools