16{
17 std::unique_ptr<WApplication> appl
18 = std::make_unique<WApplication>(env);
19
20 appl->root()->addWidget(std::make_unique<WText>("<h1>Your mission</h1>"));
21 WText *secret
22 = appl->root()->addWidget(std::make_unique<WText>("Your mission, Jim, should you accept, is to create solid "
23 "web applications."));
24
25 appl->root()->addWidget(std::make_unique<WBreak>());
26 appl->root()->addWidget(std::make_unique<WBreak>());
27
28 appl->root()->addWidget(std::make_unique<WText>("This program will quit in "));
29 CountDownWidget *countdown = appl->root()->addWidget(std::make_unique<CountDownWidget>(10, 0, std::chrono::milliseconds{1000}));
30 appl->root()->addWidget(std::make_unique<WText>(" seconds."));
31
32 appl->root()->addWidget(std::make_unique<WBreak>());
33 appl->root()->addWidget(std::make_unique<WBreak>());
34
35 WPushButton *cancelButton = appl->root()->addWidget(std::make_unique<WPushButton>("Cancel!"));
36 WPushButton *quitButton = appl->root()->addWidget(std::make_unique<WPushButton>("Quit"));
37 quitButton->clicked().connect(appl.get(), &WApplication::quit);
38
39 countdown->
done().connect([](){ WApplication::instance()->quit(); });
41 cancelButton->clicked().connect(cancelButton, &WFormWidget::disable);
42 cancelButton->clicked().connect(secret, &WWidget::hide);
43
44 return appl;
45}