#include <gtk++/gtkcalendars.hpp>
#include <gtk++/gtkwindows.hpp>
std::string NomMois [] = {"janvier","fevrier","mars","avril","mai","juin",
"juillet","aout","septembre","octrobre","novembre","decembre"};
bool AfficheDate (GtkCalendar *aCalendrier)
{
lgtkpp::day Jour;
lgtkpp::month Mois;
lgtkpp::year Annee;
lgtkpp::gtk_calendar(aCalendrier).GetDate(&Annee, &Mois, &Jour);
std::cout << "Date selectionnée : " << Jour << " " <<NomMois[Mois]<< " " << Annee << std::endl;
return true;
}
int main (int argc, char* argv[])
{
lgtkpp::gtk_window* Fenetre;
lgtkpp::gtk_calendar* Calendrier;
::gtk_init(&argc, &argv);
Fenetre = new lgtkpp::gtk_window ();
Fenetre->SetTitle("Test calendrier");
Fenetre->SignalConnect("delete_event",GtkSignalFunc(gtk_exit), NULL);
Fenetre->SignalConnect("destroy",GtkSignalFunc(gtk_exit), NULL);
Calendrier = new lgtkpp::gtk_calendar ();
*Fenetre += *Calendrier;
Calendrier->DisplayOptions(GtkCalendarDisplayOptions(
GTK_CALENDAR_SHOW_HEADING |
GTK_CALENDAR_SHOW_DAY_NAMES |
GTK_CALENDAR_SHOW_WEEK_NUMBERS |
GTK_CALENDAR_WEEK_START_MONDAY));
Calendrier->MarkDay(15);
Calendrier->SignalConnect("day_selected_double_clicked",GtkSignalFunc(AfficheDate), NULL);
Fenetre->ShowAll();
gtk_main();
return 0;
};