This is an old revision of the document!


Legenda delle icone:

  • cartella blu: workspace
  • cartella gialla: project
  • cartella marrone: virtual folder

Esempio

  1. Aprire codelite
  2. nel menu Workspace
    • new workspace (selezionare checkbox “separate directory”)
    • new project (selezionare GUI wxFrame e selezionare checkbox “separate directory”)
    • espandere le cartelle virtuali ed aprire gui.cpp e gui.h
  3. nella virtual folder RESOURCE (marrone)
    • tasto destro sul file gui.fbp (open with wxformbuilder)
    • versione diversa…? risposta: yes!
  4. dentro wxformbuilder
    • si potrebbe non modificare nulla
    • attenzione a NON modificare il nome del progetto (gui)
    • del progetto si può modificare la proprietà “event_generation TABLE”
    • attenzione a NON modificare il nome del Frame (MainFrameBase)
    • Ogni elemento a cui verrà associato un evento dovrà avere un ID unico: modificare wxID_ANY sostituendolo con una cosa a piacere (Esempio: wxID_MYBUTTON1)
    • modificare poi quello tutto che si desidera…
    • salvare il progetto
    • il codice autogenerato da wxformbuilder (gui.cpp, gui.h) è diverso da quello di codelite
    • esportarlo sovrascrivendo i file originali (premendo F8)
    • leggi sulla barra di stato: code generated!
    • Generare una classe derivata premendo F6: importante usare questi nomi (MainFrame, mainframe)
    • chiudere wxformbuilder
  5. di nuovo dentro codelite
    • se gui.cpp era stato aperto, codelite si accorge delle modifiche, chiederà: reload modified file? (ok!)
    • tasto destro sul project (giallo) > Import Files from Dir
    • correggere il percorso e selezionare la check box (non è mai selezionata)
  6. gui.cpp e gui.h DO NOT MODIFY…
  7. main.h (per capire confrontarlo con mainframe.h)
    • cancellare sotto
      //main application frame declaration// 

      ECCETTO

      #end_if

      perché quel codice si trova già in mainframe.h

    • sostituire
      #include "gui.h"

      con

      #include "mainframe.h"

      perché la classe dentro gui.h è solo la classe base.

  8. main.cpp
    • cancellare 4 elementi in fondo: costruttore, distruttore e due metodi (ora si trovano in mainframe.cpp) perché si trovano in mainframe.cpp
  9. mainframe.h
    • niente da fare
  10. mainframe.cpp
    • il costruttore viene completamente ereditato (rimane vuoto)
    • implementare SOLO quello che è suggerito dal commento
      //TO DO// 
    • NB: per esempio, per chiudere la finestra usare Destroy();
  11. Compilazione
    • Prima di compilare assicurarsi di NON essere in debug, ma in release.
    • premere F7 (build)
    • viene creata la cartella RELEASE contenente i file oggetto
    • l'eseguibile ha il nome del Project
    • premere CTRL+F5 (Run)
    • la modalità Debug produce errore su debian e ubuntu: in casi disperati usare gdb
  • appunti3s/wxformbuilder_dentro_codelite.1371496061.txt.gz
  • Last modified: 2018/04/25 11:11
  • (external edit)