Timeout avec GTKmm
Par Sébastien Le Ray le mardi 6 septembre 2011, 19:55 - Développement - Lien permanent
Petit extrait de code pour créer un timeout avec GTKmm. À adapter proprement pour l'utilisation.
// Variable globale (sale) pointant sur le timeout
Glib::RefPtr<Glib::TimeoutSource> ts;
// Définition du callback
bool timeout() {
std::cerr << "Callback timeout" << std::endl;
// Détruit le timeout, évitant de futures notifications
ts->destroy();
}
// ...
// le callback sera appelé toutes les 500ms environ (dans la mainloop Gtk)
ts = Glib::TimeoutSource::create(500);
// Indique le callback à appeler
ts->connect(sigc::ptr_fun(&timeout));
// Attache la source au contexte ce qui déclenche
// l'exéccution périodique du callback à partir de l'entrée dans la mainloop
ts->attach();
// ...