Vous êtes sur la page 1sur 21

// inclure les fichiers

d'en-tête nécessaires
#include <wx/wx.h>
#include <wx/sizer.h>
#include <wx/grid.h>
#include <wx/timer.h>

// déclarer la classe de
fenêtre principale
class MyFrame : public
wxFrame
{
public:
// Constructeur
MyFrame(const
wxString& title);

// événements
void
OnQuit(wxCommandEve
nt& event);
void
OnAbout(wxCommandE
vent& event);
void
OnTimer(wxTimerEvent
& event);

// définir le contrôleur
wxPanel* panel;

// définir le moteur de
temps
wxTimer *timer;

private:
// déclarer les
éléments graphiques
wxBoxSizer *sizer;
wxGrid *grid;

// déclarer les
données membres
wxString theme;
wxArrayString
candidats;
wxArrayString
votants;

// déclarer les
fonctions utilitaires
void loadData();
void saveData();

DECLARE_EVENT_TABLE
()
};

// définir l'événement
table
BEGIN_EVENT_TABLE(M
yFrame, wxFrame)

EVT_MENU(wxID_ABOU
T, MyFrame::OnAbout)
EVT_MENU(wxID_EXIT,
MyFrame::OnQuit)

EVT_TIMER(wxID_ANY,
MyFrame::OnTimer)
END_EVENT_TABLE()

// définir le constructeur
MyFrame::MyFrame(con
st wxString& title)
: wxFrame(NULL,
wxID_ANY, title,
wxDefaultPosition,
wxSize(500, 500))
{
// définir le menu
wxMenu *menuFile =
new wxMenu;
menuFile-
>Append(wxID_ABOUT,
_("&A propos\tCtrl-A"),
_("Afficher des
informations sur ce
programme"));
menuFile-
>AppendSeparator();
menuFile-
>Append(wxID_EXIT,
_("&Quitter\tCtrl-Q"),
_("Quitter le
programme"));
wxMenuBar
*menuBar = new
wxMenuBar;
menuBar-
>Append(menuFile,
_("&Fichier"));

SetMenuBar(menuBar);

// créer une zone


centrale
panel = new
wxPanel(this,
wxID_ANY);
sizer = new
wxBoxSizer(wxVERTICA
L);
panel-
>SetSizer(sizer);

// créer un tableau
avec les informations
des votants
wxArrayString labels;

labels.Add(_("Identifiant
"));

labels.Add(_("Nom"));

labels.Add(_("Prénom"))
;
labels.Add(_("Date
de naissance"));
grid = new
wxGrid(panel,
wxID_ANY);
grid->CreateGrid(0,
4);
grid-
>SetColLabelSize(20);
grid-
>SetRowLabelSize(20);
grid-
>SetColLabelValue(0,
labels[0]);
grid-
>SetColLabelValue(1,
labels[1]);
grid-
>SetColLabelValue(2,
labels[2]);
grid-
>SetColLabelValue(3,
labels[3]);
sizer->Add(grid, 1,
wxEXPAND | wxALL, 10);

// charger les
données
loadData();

// créer un moteur de
temps
timer = new
wxTimer(this,
wxID_ANY);
timer->Start(1000);

// montrer la fenêtre
Show(true);
}

// définir la fonction qui


permet de quitter le
programme
void
MyFrame::OnQuit(wxCo
mmandEvent&
WXUNUSED(event))
{
Close(true);
}

// définir la fonction qui


affiche des informations
sur le programme
void
MyFrame::OnAbout(wxC
ommandEvent&
WXUNUSED(event))
{

wxMessageBox(_("Ceci
est un programme pour
gérer le vote
électronique."),
_("A propos de ce
programme"),
wxOK |
wxICON_INFORMATION,
this);
}

// définir la fonction qui


exécute le processus de
vote
void
MyFrame::OnTimer(wxTi
merEvent& event)
{
// TODO:
implémenter le
processus de vote ici
}

// définir la fonction qui


charge les données
void
MyFrame::loadData()
{
// TODO:
implémenter la fonction
qui charge les données
ici
}

// définir la fonction qui


sauvegarde les données
void
MyFrame::saveData()
{
// TODO:
implémenter la fonction
qui sauvegarde les
données ici
}

// définir la fonction
principale
int main(int argc, char
*argv[])
{
// initialiser
l'application

wxApp::SetInstance(ne
w wxApp());

wxApp::Initialize(argc,
argv);

// créer la fenêtre
principale
MyFrame *frame =
new
MyFrame(_("Gestion de
vote électronique"));

// exécuter
l'application
wxApp::MainLoop();

return 0;
}
// Acceuil
class MyFrameAcceuil :
public wxFrame
{
public:
// Constructeur

MyFrameAcceuil(const
wxString& title);

// événements
void
OnQuit(wxCommandEve
nt& event);
void
OnAbout(wxCommandE
vent& event);
void
OnConnexion(wxComma
ndEvent& event);

// définir le contrôleur
wxPanel* panel;

// déclarer les
éléments graphiques
wxBoxSizer *sizer;
wxButton
*btn_connexion;

DECLARE_EVENT_TABLE
()
};

// définir l'événement
table
BEGIN_EVENT_TABLE(M
yFrameAcceuil,
wxFrame)

EVT_MENU(wxID_ABOU
T,
MyFrameAcceuil::OnAbo
ut)

EVT_MENU(wxID_EXIT,
MyFrameAcceuil::OnQui
t)

EVT_BUTTON(wxID_CON
NEXION,
MyFrameAcceuil::OnCon
nexion)
END_EVENT_TABLE()

// définir le constructeur
MyFrameAcceuil::MyFra
meAcceuil(const
wxString& title)
: wxFrame(NULL,
wxID_ANY, title,
wxDefaultPosition,
wxSize(500, 500))
{
// définir le menu
wxMenu *menuFile =
new wxMenu;
menuFile-
>Append(wxID_ABOUT,
_("&A propos\tCtrl-A"),
_("Afficher des
informations sur ce
programme"));
menuFile-
>AppendSeparator();
menuFile-
>Append(wxID_EXIT,
_("&Quitter\tCtrl-Q"),
_("Quitter le
programme"));
wxMenuBar
*menuBar = new
wxMenuBar;
menuBar-
>Append(menuFile,
_("&Fichier"));
SetMenuBar(menuBar);

// créer une zone


centrale
panel = new
wxPanel(this,
wxID_ANY);
sizer = new
wxBoxSizer(wxVERTICA
L);
panel-
>SetSizer(sizer);

// créer un bouton de
connexion
btn_connexion = new
wxButton(panel,
wxID_CONNEXION,
_("Se connecter"));
sizer-
>Add(btn_connexion, 0,
wxALIGN_CENTER |
wxALL, 10);

// montrer la fenêtre
Show(true);
}

// définir la fonction qui


permet de quitter le
programme
void
MyFrameAcceuil::OnQui
t(wxCommandEvent&
WXUNUSED(event))
{
Close(true);
}

// définir la fonction qui


affiche des informations
sur le programme
void
MyFrameAcceuil::OnAbo
ut(wxCommandEvent&
WXUNUSED(event))
{

wxMessageBox(_("Ceci
est un programme pour
gérer le vote
électronique."),
_("A propos de ce
programme"),
wxOK |
wxICON_INFORMATION,
this);
}

// définir la fonction qui


permet de se connecter
void
MyFrameAcceuil::OnCon
nexion(wxCommandEve
nt& event)
{
// TODO:
implémenter la fonction
qui permet de se
connecter ici
}

// définir la fonction
principale
int main(int argc, char
*argv[])
{
// initialiser
l'application

wxApp::SetInstance(ne
w wxApp());

wxApp::Initialize(argc,
argv);

// créer la fenêtre
principale
MyFrameAcceuil
*frame = new
MyFrameAcceuil(_("Gest
ion de vote
électronique"));

// exécuter
l'application
wxApp::MainLoop();

return 0;
}

Vous aimerez peut-être aussi