Fixed click handler in button

This commit is contained in:
Selim Mustafaev 2022-05-26 16:21:51 +03:00
parent 4590aeaee8
commit 7c4f64e32d
3 changed files with 8 additions and 0 deletions

View File

@ -8,6 +8,7 @@ namespace gtkpp {
Button::Button() : Widget() { Button::Button() : Widget() {
_widget = gtk_button_new(); _widget = gtk_button_new();
setupSignals();
} }
void Button::setTitle(const std::string &title) { void Button::setTitle(const std::string &title) {

View File

@ -57,4 +57,8 @@ namespace gtkpp {
gtk_widget_set_sensitive(_widget, enabled); gtk_widget_set_sensitive(_widget, enabled);
} }
void Widget::setupSignals() {
g_signal_connect(_widget, "clicked", G_CALLBACK(clickedCallback), this);
}
} }

View File

@ -20,6 +20,9 @@ namespace gtkpp {
private: private:
friend void clickedCallback(GtkButton*, void* data); friend void clickedCallback(GtkButton*, void* data);
protected:
void setupSignals();
public: public:
void onClick(const std::function<void()>& callback); void onClick(const std::function<void()>& callback);