#include "Wt/WContainerWidget" #include "Wt/WPushButton" #include "Wt/WSignal" class MyWidget : public Wt::WContainerWidget { public: MyWidget(Wt::WContainerWidget *parent = 0) : Wt::WContainerWidget(parent), done_(this) { Wt::WPushButton *button = new Wt::WPushButton("Okay"); button->clicked().connect(SLOT(this, MyWidget::process)); } // provide an accessor for the signal Wt::Signal& done() { return done_; } private: Wt::Signal done_; void process() { done_.emit(42, "Totally done"); // emit the signal } }; class GUIClass : public Wt::WContainerWidget { private: void init() { MyWidget *widget = new MyWidget(this); widget->done().connect(SLOT(this, GUIClass::whenDone)); } void whenDone(int result, const std::string& description) { } };