Project

General

Profile

Bug #7404 » forum_16637.cpp

Minimal Sample demonstrating issue - Stefan Bn, 01/16/2020 06:25 PM

 
#include <Wt/WApplication.h>
#include <Wt/WBootstrapTheme.h>
#include <Wt/WContainerWidget.h>
#include <Wt/WDateEdit.h>
#include <Wt/WDialog.h>
#include <Wt/WPanel.h>
#include <Wt/WText.h>
#include <Wt/WVBoxLayout.h>
#include <Wt/WLabel.h>


#include <memory>

// set to 1 to test with a dialog instead
#define DIALOG 0

using namespace Wt;


int main(int argc, char *argv[])
{
return Wt::WRun(argc, argv, [](const Wt::WEnvironment &env) {
auto app = std::make_unique<Wt::WApplication>(env);

auto theme = std::make_shared<Wt::WBootstrapTheme>();
theme->setVersion(Wt::BootstrapVersion::v3);
app->setTheme(theme);

#if DIALOG
Wt::WDialog *dialog = app->addChild(std::make_unique<Wt::WDialog>());
dialog->resize(300, 150);
dialog->setTitleBarEnabled(true);
dialog->titleBar()->addNew<Wt::WText>("Titlebar");
dialog->contents()->addNew<Wt::WDateEdit>();

dialog->show();
#else
WVBoxLayout *mainLayout;

auto layout = std::make_unique<WVBoxLayout>();
mainLayout = layout.get();

app->root()->setLayout(std::move(layout));

auto mainContainer = mainLayout->addWidget(std::make_unique<WContainerWidget>());
auto rightLayout = mainContainer->setLayout(std::make_unique<WVBoxLayout>());


Wt::WPanel *panel = rightLayout->addWidget(std::make_unique<WPanel>());
panel->setTitle(Wt::utf8("Titlebar"));
auto containerPtr = std::make_unique<Wt::WContainerWidget>();
auto container = containerPtr.get();
container->setMargin(50);
panel->setCentralWidget(std::move(containerPtr));
container->addNew<Wt::WDateEdit>();

rightLayout->addWidget(std::make_unique<WText>("Popup Cut Off Example"));
rightLayout->addWidget(std::make_unique<WLabel>(), 1);


#endif

return app;
});
}
(1-1/2)