Bonjour,

Jai créé un "Custom widget" avec Gtkmm en suivant cette documentation:
https://developer-old.gnome.org/gtkm...idgets.html.en

J’ai trouvé une solution pour faire réagir le widget aux clicks de souris mais qui me semble un peu bancale:
Dans ma classe d'affichage, je crée un objet EventBox dans laquelle j’ajoute mon SimpleWidget et qui me permet de gérer les événements de la souris.
Je peux ensuite connecter des fonctions pour ces événement press/release et ainsi changer l’affichage. Mais cela veut dire que je dois pour chaque SimpleWidget que j'ajoute dans mon ihm, ajouter une EventBox et créer autant de fonctions n_eventbox_button_press et on_eventbox_button_release que j'ai de SimpleWidget ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
  m_VBox.pack_start(m_EventBox, Gtk::PACK_EXPAND_WIDGET);
 
  m_EventBox.add(m_SimpleWidget);
  m_EventBox.set_events(Gdk::BUTTON_PRESS_MASK);
  m_EventBox.signal_button_press_event().connect(
    sigc::mem_fun(*this, &ExampleWindow::on_eventbox_button_press) );
 
  m_EventBox.signal_button_release_event().connect(
    sigc::mem_fun(*this, &ExampleWindow::on_eventbox_button_release) );
J’aimerai que la gestion de ces événements de la souris soit intégrés a ma classe Gtk::Widget et non rajoutés par la suite.
Auriez-vous une piste pour intégrer directement cette gestion des événements dans ma classe SimpleWidget ?

Mon projet en pj, cela sera peut être plus clair ...simple_widget.7z