Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wt/WApplication.h>
- #include <Wt/WBreak.h>
- #include <Wt/WContainerWidget.h>
- #include <Wt/WLineEdit.h>
- #include <Wt/WPushButton.h>
- #include <Wt/WText.h>
- #include <Wt/WDialog.h>
- void openAWindow() {
- std::shared_ptr<Wt::WDialog> dialog = std::make_shared<Wt::WDialog>("Open another window?");
- Wt::WDialog* dialogPtr = dialog.get();
- dialog->contents()->addWidget(Wt::cpp14::make_unique<Wt::WText>("The button below will open another window."));
- Wt::WPushButton* windowButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Open a window"));
- windowButton->clicked().connect(std::bind(&openAWindow));
- Wt::WPushButton* raiseToTopButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Raise to top"));
- raiseToTopButton->clicked().connect([=] {
- dialogPtr->raiseToFront();
- });
- Wt::WPushButton* cancelButton = dialog->footer()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Cancel"));
- cancelButton->clicked().connect([=] () mutable {
- dialog->reject();
- dialog = nullptr;
- std::cerr << "Destroying dialog" << std::endl;
- });
- dialog->setModal(false);
- dialog->show();
- }
- class WindowTest : public Wt::WApplication
- {
- public:
- WindowTest(const Wt::WEnvironment& env) : WApplication(env) {
- setTitle("Window test");
- Wt::WPushButton* windowButton = root()->addWidget(Wt::cpp14::make_unique<Wt::WPushButton>("Open a window"));
- windowButton->setDefault(true);
- windowButton->clicked().connect(std::bind(&openAWindow));
- }
- };
- int main(int argc, char **argv)
- {
- return Wt::WRun(argc, argv, [](const Wt::WEnvironment &env) {
- return Wt::cpp14::make_unique<WindowTest>(env);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement