Advertisement
Guest User

Wt Window Test

a guest
Jul 2nd, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <Wt/WApplication.h>
  2. #include <Wt/WBreak.h>
  3. #include <Wt/WContainerWidget.h>
  4. #include <Wt/WLineEdit.h>
  5. #include <Wt/WPushButton.h>
  6. #include <Wt/WText.h>
  7. #include <Wt/WDialog.h>
  8.  
  9. void openAWindow() {
  10.     std::shared_ptr<Wt::WDialog> dialog = std::make_shared<Wt::WDialog>("Open another window?");
  11.     Wt::WDialog* dialogPtr = dialog.get();
  12.     dialog->contents()->addWidget(Wt::cpp14::make_unique<Wt::WText>("The button below will open another window."));
  13.     Wt::WPushButton* windowButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Open a window"));
  14.     windowButton->clicked().connect(std::bind(&openAWindow));
  15.     Wt::WPushButton* raiseToTopButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Raise to top"));
  16.     raiseToTopButton->clicked().connect([=] {
  17.         dialogPtr->raiseToFront();
  18.     });
  19.     Wt::WPushButton* cancelButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Cancel"));
  20.     cancelButton->clicked().connect([=] () mutable {
  21.         dialog->reject();
  22.         dialog = nullptr;
  23.         std::cerr << "Destroying dialog" << std::endl;
  24.     });
  25.     dialog->setModal(false);
  26.     dialog->show();
  27. }
  28.  
  29. class WindowTest : public Wt::WApplication
  30. {
  31. public:
  32.     WindowTest(const Wt::WEnvironment& env) : WApplication(env) {
  33.         setTitle("Window test");
  34.  
  35.         Wt::WPushButton* windowButton = root()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Open a window"));
  36.         windowButton->setDefault(true);
  37.         windowButton->clicked().connect(std::bind(&openAWindow));
  38.     }
  39. };
  40.  
  41. int main(int argc, char **argv)
  42. {
  43.     return Wt::WRun(argc, argv, [](const Wt::WEnvironment &env) {
  44.         return Wt::cpp14::make_unique<WindowTest>(env);
  45.     });
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement