#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; //Initialisation des bibliotheques ::gtk_init(&argc, &argv); // Creation de la fenetre Fenetre = new lgtkpp::gtk_window (); Fenetre->SetTitle("Test calendrier"); Fenetre->SignalConnect("delete_event",GtkSignalFunc(gtk_exit), NULL); Fenetre->SignalConnect("destroy",GtkSignalFunc(gtk_exit), NULL); // Creation du calendrier Calendrier = new lgtkpp::gtk_calendar (); *Fenetre += *Calendrier; // Options du calendrier Calendrier->DisplayOptions(GtkCalendarDisplayOptions( GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_WEEK_NUMBERS | GTK_CALENDAR_WEEK_START_MONDAY)); // On marque le 15 du mois Calendrier->MarkDay(15); // On connecte le signal Calendrier->SignalConnect("day_selected_double_clicked",GtkSignalFunc(AfficheDate), NULL); // On affiche la fenetre Fenetre->ShowAll(); // La boucle principale gtk_main(); return 0; };