From 7c4f64e32d5362f7abc3e3cf539dfbf325f13274 Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Thu, 26 May 2022 16:21:51 +0300 Subject: [PATCH] Fixed click handler in button --- gtkpp/Button.cpp | 1 + gtkpp/Widget.cpp | 4 ++++ gtkpp/Widget.h | 3 +++ 3 files changed, 8 insertions(+) diff --git a/gtkpp/Button.cpp b/gtkpp/Button.cpp index 987646e..edfd2fa 100644 --- a/gtkpp/Button.cpp +++ b/gtkpp/Button.cpp @@ -8,6 +8,7 @@ namespace gtkpp { Button::Button() : Widget() { _widget = gtk_button_new(); + setupSignals(); } void Button::setTitle(const std::string &title) { diff --git a/gtkpp/Widget.cpp b/gtkpp/Widget.cpp index 6b1607b..0b25005 100644 --- a/gtkpp/Widget.cpp +++ b/gtkpp/Widget.cpp @@ -57,4 +57,8 @@ namespace gtkpp { gtk_widget_set_sensitive(_widget, enabled); } + void Widget::setupSignals() { + g_signal_connect(_widget, "clicked", G_CALLBACK(clickedCallback), this); + } + } diff --git a/gtkpp/Widget.h b/gtkpp/Widget.h index 23f08dd..88a3836 100644 --- a/gtkpp/Widget.h +++ b/gtkpp/Widget.h @@ -20,6 +20,9 @@ namespace gtkpp { private: friend void clickedCallback(GtkButton*, void* data); + protected: + void setupSignals(); + public: void onClick(const std::function& callback);