3 #include <Wt/WApplication.h>
5 #include <Wt/WDateEdit.h>
6 #include <Wt/WSelectionBox.h>
7 #include <Wt/WContainerWidget.h>
9 #include <Wt/WIntValidator.h>
10 #include <Wt/WLabel.h>
11 #include <Wt/WLineEdit.h>
12 #include <Wt/WPushButton.h>
13 #include <Wt/WTableCell.h>
14 #include <Wt/WTextArea.h>
29 elementAt(row, 0)->setColumnSpan(3);
30 elementAt(row, 0)->setContentAlignment(AlignmentFlag::Top | AlignmentFlag::Center);
31 elementAt(row, 0)->setPadding(10);
32 WText *title = elementAt(row,0)->addWidget(std::make_unique<WText>(tr(
"example.form")));
33 title->decorationStyle().font().setSize(FontSize::XLarge);
37 elementAt(row, 0)->setColumnSpan(3);
42 errorStyle.setForegroundColor(WColor(
"red"));
43 errorStyle.font().setSize(FontSize::Smaller);
44 errorStyle.font().setWeight(FontWeight::Bold);
45 errorStyle.font().setStyle(FontStyle::Italic);
49 nameEdit_ = elementAt(row,2)->addWidget(std::make_unique<WLineEdit>());
50 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.name")));
52 nameEdit_->setValidator(std::make_shared<WValidator>(
true));
57 firstNameEdit_ = elementAt(row,2)->addWidget(std::make_unique<WLineEdit>());
58 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.firstname")));
63 countryEdit_ = elementAt(row,2)->addWidget(std::make_unique<WComboBox>());
69 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.country")));
71 countryEdit_->setValidator(std::make_shared<WValidator>(
true));
76 cityEdit_ = elementAt(row,2)->addWidget(std::make_unique<WComboBox>());
77 cityEdit_->addItem(tr(
"example.choosecountry"));
78 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.city")));
83 birthDateEdit_ = elementAt(row, 2)->addWidget(std::make_unique<WDateEdit>());
86 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.birthdate")));
93 childCountEdit_ = elementAt(row,2)->addWidget(std::make_unique<WLineEdit>(
"0"));
94 label = elementAt(row, 0)->addWidget(std::make_unique<WLabel>(tr(
"example.childcount")));
100 remarksEdit_ = elementAt(row,2)->addWidget(std::make_unique<WTextArea>());
103 label = elementAt(row,0)->addWidget(std::make_unique<WLabel>(tr(
"example.remarks")));
108 WPushButton *
submit = elementAt(row,0)->addWidget(std::make_unique<WPushButton>(tr(
"submit")));
110 submit->setMargin(15, Side::Top);
111 elementAt(row, 0)->setColumnSpan(3);
112 elementAt(row, 0)->setContentAlignment(AlignmentFlag::Top | AlignmentFlag::Center);
115 elementAt(2, 0)->resize(WLength(30, LengthUnit::FontEx), WLength::Auto);
116 elementAt(2, 1)->resize(20, WLength::Auto);
155 if (edit->validate() != ValidationState::Valid) {
158 edit->label()->decorationStyle().setForegroundColor(WColor(
"red"));
159 edit->setStyleClass(
"Wt-invalid");
162 edit->label()->decorationStyle().setForegroundColor(WColor());
163 edit->setStyleClass(
"");
190 WString name = WString(
"{1} {2}")
199 elementAt(0,0)->addWidget(std::make_unique<WText>(
200 WString(
"<p>Thank you, {1}, "
201 "for all this precious data.</p>").arg(name)));
203 if (!remarks.empty())
204 elementAt(0,0)->addWidget(std::make_unique<WText>(
205 WString(
"<p>You had some remarks. Splendid !</p>")));