本文整理汇总了C++中WTemplate::setTemplateText方法的典型用法代码示例。如果您正苦于以下问题:C++ WTemplate::setTemplateText方法的具体用法?C++ WTemplate::setTemplateText怎么用?C++ WTemplate::setTemplateText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WTemplate
的用法示例。
在下文中一共展示了WTemplate::setTemplateText方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: WContainerWidget
ItemContaWidget::ItemContaWidget(Wt::WContainerWidget *parent,
ContaWidget *view,
int id_diario,
std::string data,
std::string descricao,
Moeda debito,
Moeda credito):
WContainerWidget(parent), view_(view),
id_diario_(id_diario),
data_(data),
descricao_(descricao),
debito_(debito),
credito_(credito){
setInline(true);
WText *btnRemove = new WText("<button class='bg-color-red fg-color-white'>Remove</button>", Wt::XHTMLUnsafeText);
btnRemove->clicked().connect(this, &ItemContaWidget::removeLancamento);
WTemplate *t = new WTemplate(this);
t->setTemplateText(
"<tr>"
"<td>${data}</td>"
"<td>${descricao}</td>"
"<td class='right'>${debito}</td>"
"<td class='right'>${credito}</td>"
"<td>${btnRemove}</td>"
"</tr>", XHTMLUnsafeText);
t->bindString("data", data_);
t->bindString("descricao", WString(descricao_, UTF8));
t->bindString("debito", debito_.valStr());
t->bindString("credito", credito_.valStr());
t->bindWidget("btnRemove", btnRemove);
t->setInline(true);
}
示例2: init
void WTimePicker::init(const WTime &time)
{
WTemplate *container = new WTemplate();
setImplementation(container);
container->addStyleClass("form-inline");
container->setTemplateText(tr("Wt.WTimePicker.template"));
createWidgets();
configure();
}
示例3: clear
TileCaixa::TileCaixa() {
clear();
WTemplate *tilePainel = new WTemplate(this);
tilePainel->setTemplateText(
" <div class='tile double bg-color-pink'>"
" <div class='tile-content'>"
" <h2>" + tr("tile-Cash") + "</h2>"
" </div>"
" </div>"
);
}
示例4: update_impl
void Recaptcha::update_impl() {
if (!implementation()) {
setImplementation(new WContainerWidget());
}
get_impl()->clear();
WText* title = new WText("reCAPTCHA", get_impl());
title->addStyleClass("wc_recaptcha_title");
if (js()) {
WContainerWidget* image = new WContainerWidget(get_impl());
image->setId("recaptcha_image");
response_field_ = input_ ? input_ : new WLineEdit(get_impl());
challenge_field_ = new WLineEdit(get_impl());
// not challenge_field_->hide() to get its .text()
doJavaScript("$(" + challenge_field_->jsRef() + ").hide();");
response_field_->setId("recaptcha_response_field");
doJavaScript("Recaptcha.create('" + public_key_ + "', '',"
"{theme: 'custom'});");
if (buttons_enabled_) {
add_buttons();
}
doJavaScript("clearTimeout($(" + jsRef() + ").data('timer'));");
doJavaScript("$(" + jsRef() + ").data('timer',"
"setInterval(function() {"
"$(" + challenge_field_->jsRef() + ")"
".val(Recaptcha.get_challenge());"
"}, 200));");
} else {
WTemplate* iframe = new WTemplate(get_impl());
iframe->setTemplateText("<iframe src='https://www.google.com/recaptcha/"
"api/noscript?k=" + public_key_ +
"' height='300' width='500' frameborder='0'>"
"</iframe>", XHTMLUnsafeText);
if (input_) {
challenge_field_ = input_;
} else {
WTextArea* ta = new WTextArea(get_impl());
ta->setColumns(40);
ta->setRows(3);
challenge_field_ = ta;
}
response_field_ = new WLineEdit("manual_challenge", get_impl());
response_field_->hide();
}
}
示例5: novoAnuncio
void AdsEditor::novoAnuncio() {
AdsApplication *app = AdsApplication::adsApplication();
cppdb::session &db = app->db_;
Wt::WDialog dialog("novo Anuncio");
Wt::WPushButton *ok = new WPushButton("Ok");
ok->setStyleClass("btn btn-primary");
ok->clicked().connect(&dialog, &Wt::WDialog::accept);
Wt::WPushButton *cancel = new WPushButton("Cancela");
cancel->setStyleClass("btn");
cancel->clicked().connect(&dialog, &Wt::WDialog::reject);
WLineEdit *lTitulo = new WLineEdit();
WLineEdit *lURL = new WLineEdit();
WLineEdit *lTexto = new WLineEdit();
WTemplate *t = new WTemplate(dialog.contents());
t->setTemplateText("<form>"
" <fieldset>"
" <legend>Dados do anuncio</legend>"
" <table border=0>"
" <tr><td>Titulo</td> <td>${titulo}</td></tr>"
" <tr><td>URL</td> <td>${url}</td></tr>"
" <tr><td>Texto</td> <td>${texto}</td></tr>"
" </table>"
" </fieldset>"
" ${ok}${cancel}"
"</form>"
, XHTMLUnsafeText);
t->bindWidget("titulo", lTitulo);
t->bindWidget("url", lURL);
t->bindWidget("texto", lTexto);
t->bindWidget("ok", ok);
t->bindWidget("cancel", cancel);
if (dialog.exec() == Wt::WDialog::Accepted) {
db << "insert into anuncio (id, titulo, url, texto, imagem) values "
"(NULL, ?,?,?, '/img/cabure.png')"
<< lTitulo->text().narrow() << lURL->text().narrow()
<< lTexto->text().narrow() << cppdb::exec;
}
renderUI();
}
示例6: Div
WWidget *Cms::Layout()
{
Div *container = new Div("Cms", "cms-layout container-fluid");
Div *noScript = new Div(container);
noScript->addWidget(new WText(tr("no-script")));
CgiRoot *cgiRoot = static_cast<CgiRoot *>(WApplication::instance());
CgiEnv *cgiEnv = cgiRoot->GetCgiEnvInstance();
string htmlData;
string file;
if (cgiEnv->GetCurrentLanguage() == CgiEnv::Language::Fa) {
file = "../templates/cms-fa.wtml";
} else {
file = "../templates/cms.wtml";
}
if (CoreLib::FileSystem::Read(file, htmlData)) {
WTemplate *tmpl = new WTemplate(container);
tmpl->setTemplateText(WString::fromUTF8(htmlData), TextFormat::XHTMLUnsafeText);
tmpl->bindWidget("brand-title", new WText(tr("cms-page-title")));
WText *dashboard = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-dashboard fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard")), TextFormat::XHTMLUnsafeText);
WText *newsletter = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-newspaper-o fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-newsletter")), TextFormat::XHTMLUnsafeText);
WText *subscribers = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-users fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-subscribers")), TextFormat::XHTMLUnsafeText);
WText *contacts = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-envelope-o fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-contacts")), TextFormat::XHTMLUnsafeText);
WText *settings = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-gears fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-settings")), TextFormat::XHTMLUnsafeText);
WText *changeEmail = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-envelope-o fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-admin-change-email")), TextFormat::XHTMLUnsafeText);
WText *changePassword = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-key fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-admin-change-password")), TextFormat::XHTMLUnsafeText);
WText *sysmon = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-line-chart fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-system-monitor")), TextFormat::XHTMLUnsafeText);
WText *switchLanguage = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-refresh fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-switch-language")), TextFormat::XHTMLUnsafeText);
WText *exit = new WText(
WString("<div><a href=\"javascript:;\"><i class=\"fa fa-sign-out fa-lg\"></i> {1}</a></div>")
.arg(tr("cms-dashboard-exit")), TextFormat::XHTMLUnsafeText);
dashboard->setId("menu-item-dashboard");
newsletter->setId("menu-item-newsletter");
subscribers->setId("menu-item-subscribers");
contacts->setId("menu-item-contacts");
settings->setId("menu-item-settings");
changeEmail->setId("menu-item-change-email");
changePassword->setId("menu-item-change-password");
sysmon->setId("menu-item-system-monitor");
switchLanguage->setId("menu-item-switch-language");
exit->setId("menu-item-exit");
tmpl->bindWidget("dashboard", dashboard);
tmpl->bindWidget("newsletter", newsletter);
tmpl->bindWidget("subscribers", subscribers);
tmpl->bindWidget("contacts", contacts);
tmpl->bindWidget("settings", settings);
tmpl->bindWidget("admin", new WText(tr("cms-dashboard-admin")));
tmpl->bindWidget("change-email", changeEmail);
tmpl->bindWidget("change-password", changePassword);
tmpl->bindWidget("system-monitor", sysmon);
tmpl->bindWidget("switch-language", switchLanguage);
tmpl->bindWidget("exit", exit);
m_pimpl->Contents = new Wt::WStackedWidget();
m_pimpl->Contents->addWidget(new CmsDashboard());
m_pimpl->Contents->addWidget(new CmsNewsletter());
m_pimpl->Contents->addWidget(new CmsSubscribers());
m_pimpl->Contents->addWidget(new CmsContacts());
m_pimpl->Contents->addWidget(new CmsSettings());
m_pimpl->Contents->addWidget(new CmsChangeEmail());
m_pimpl->Contents->addWidget(new CmsChangePassword());
m_pimpl->SystemMonitor = new SysMon();
m_pimpl->Contents->addWidget(m_pimpl->SystemMonitor);
tmpl->bindWidget("stcked-widget", m_pimpl->Contents);
WSignalMapper<WText *, WStackedWidget *> *menuItemSignalMapper = new WSignalMapper<WText *, WStackedWidget *>(m_pimpl.get());
menuItemSignalMapper->mapped().connect(m_pimpl.get(), &Cms::Impl::OnMenuItemPressed);
menuItemSignalMapper->mapConnect(dashboard->clicked(), dashboard);
menuItemSignalMapper->mapConnect(newsletter->clicked(), newsletter);
menuItemSignalMapper->mapConnect(subscribers->clicked(), subscribers);
menuItemSignalMapper->mapConnect(contacts->clicked(), contacts);
menuItemSignalMapper->mapConnect(settings->clicked(), settings);
menuItemSignalMapper->mapConnect(changeEmail->clicked(), changeEmail);
menuItemSignalMapper->mapConnect(changePassword->clicked(), changePassword);
menuItemSignalMapper->mapConnect(sysmon->clicked(), sysmon);
menuItemSignalMapper->mapConnect(switchLanguage->clicked(), switchLanguage);
//.........这里部分代码省略.........
示例7: s
//.........这里部分代码省略.........
memoryUsageChart->addSeries(s);
}
memoryUsageChart->resize(600, 330);
memoryUsageChart->setMargin(10, Top | Bottom);
memoryUsageChart->setMargin(WLength::Auto, Left | Right);
/// Swap Graph
WCartesianChart *swapUsageChart = new WCartesianChart();
swapUsageChart->setBackground(gray);
swapUsageChart->setModel(m_pimpl->SwapUsageModel);
swapUsageChart->setXSeriesColumn(m_pimpl->SwapUsageModel->columnCount() - 1);
swapUsageChart->setLegendEnabled(true);
swapUsageChart->setLegendLocation(LegendOutside, Right, AlignMiddle);
swapUsageChart->setType(ScatterPlot);
swapUsageChart->axis(XAxis).setScale(LinearScale);
swapUsageChart->axis(YAxis).setScale(LinearScale);
swapUsageChart->setPlotAreaPadding(220, Right);
swapUsageChart->setPlotAreaPadding(30, Top | Bottom);
for (int i = 0; i < m_pimpl->SwapUsageModel->columnCount() - 1; ++i) {
WDataSeries s(i, CurveSeries);
s.setShadow(WShadow(3, 3, WColor(0, 0, 0, 127), 3));
swapUsageChart->addSeries(s);
}
swapUsageChart->resize(600, 330);
swapUsageChart->setMargin(10, Top | Bottom);
swapUsageChart->setMargin(WLength::Auto, Left | Right);
/// Virtual Memory Graph
WCartesianChart *virtualMemoryUsageChart = new WCartesianChart();
virtualMemoryUsageChart->setBackground(gray);
virtualMemoryUsageChart->setModel(m_pimpl->VirtualMemoryUsageModel);
virtualMemoryUsageChart->setXSeriesColumn(m_pimpl->VirtualMemoryUsageModel->columnCount() - 1);
virtualMemoryUsageChart->setLegendEnabled(true);
virtualMemoryUsageChart->setLegendLocation(LegendOutside, Right, AlignMiddle);
virtualMemoryUsageChart->setType(ScatterPlot);
virtualMemoryUsageChart->axis(XAxis).setScale(LinearScale);
virtualMemoryUsageChart->axis(YAxis).setScale(LinearScale);
virtualMemoryUsageChart->setPlotAreaPadding(220, Right);
virtualMemoryUsageChart->setPlotAreaPadding(30, Top | Bottom);
for (int i = 0; i < m_pimpl->VirtualMemoryUsageModel->columnCount() - 1; ++i) {
WDataSeries s(i, CurveSeries);
s.setShadow(WShadow(3, 3, WColor(0, 0, 0, 127), 3));
virtualMemoryUsageChart->addSeries(s);
}
virtualMemoryUsageChart->resize(600, 330);
virtualMemoryUsageChart->setMargin(10, Top | Bottom);
virtualMemoryUsageChart->setMargin(WLength::Auto, Left | Right);
/// Disk Info
m_pimpl->DiskInfoDiv = new Div(container, "DiskInfoDiv");
/// Net Info
m_pimpl->NetworkInfoDiv = new Div(container, "NetworkInfoDiv");
/// Fill the template
WTemplate *tmpl = new WTemplate(container);
tmpl->setTemplateText(WString(htmlData), TextFormat::XHTMLUnsafeText);
tmpl->bindWidget("host-info", m_pimpl->HostInfoDiv);
tmpl->bindWidget("cpu-info", cpuUsageChart);
tmpl->bindWidget("memory-info", memoryUsageChart);
tmpl->bindWidget("swap-info", swapUsageChart);
tmpl->bindWidget("virtual-memory-info", virtualMemoryUsageChart);
tmpl->bindWidget("disk-info", m_pimpl->DiskInfoDiv);
tmpl->bindWidget("network-info", m_pimpl->NetworkInfoDiv);
tmpl->bindWidget("host-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-host-info"))));
tmpl->bindWidget("cpu-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-cpu-percents"))));
tmpl->bindWidget("memory-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-memory-stats"))));
tmpl->bindWidget("swap-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-swap-stats"))));
tmpl->bindWidget("virtual-memory-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-virtual-memory-stats"))));
tmpl->bindWidget("disk-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-disk-io-stats"))));
tmpl->bindWidget("network-info-title",
new WText(WString("<h4>{1}</h4>").arg(tr("system-monitor-network-io-stats"))));
return container;
}
示例8: Div
WWidget *CmsDashboard::Layout()
{
Div *container = new Div("CmsDashboard", "container-fluid");
try {
CgiRoot *cgiRoot = static_cast<CgiRoot *>(WApplication::instance());
CgiEnv *cgiEnv = cgiRoot->GetCgiEnvInstance();
string htmlData;
string file;
if (cgiEnv->GetCurrentLanguage() == CgiEnv::Language::Fa) {
file = "../templates/cms-dashboard-fa.wtml";
} else {
file = "../templates/cms-dashboard.wtml";
}
if (CoreLib::FileSystem::Read(file, htmlData)) {
/// Fill the template
WTemplate *tmpl = new WTemplate(container);
tmpl->setTemplateText(WString::fromUTF8(htmlData), TextFormat::XHTMLUnsafeText);
WPushButton *forceTerminateAllSessionsPushButton = new WPushButton(tr("cms-dashboard-force-terminate-all-sessions"));
forceTerminateAllSessionsPushButton->setStyleClass("btn btn-default");
tmpl->bindWidget("welcome-message", new WText(tr("cms-dashboard-welcome-message")));
tmpl->bindWidget("last-login-title", new WText(tr("cms-dashboard-last-login-info-title")));
tmpl->bindWidget("last-login-ip-label", new WText(tr("cms-dashboard-last-login-info-ip")));
tmpl->bindWidget("last-login-location-label", new WText(tr("cms-dashboard-last-login-info-location")));
tmpl->bindWidget("last-login-user-agent-label", new WText(tr("cms-dashboard-last-login-info-user-agent")));
tmpl->bindWidget("last-login-referer-label", new WText(tr("cms-dashboard-last-login-info-referer")));
tmpl->bindWidget("last-login-time-label", new WText(tr("cms-dashboard-last-login-info-time")));
tmpl->bindWidget("last-login-ip", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.IP)));
tmpl->bindWidget("last-login-location", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.Location)));
tmpl->bindWidget("last-login-user-agent", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.UserAgent)));
tmpl->bindWidget("last-login-referer", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.Referer)));
tmpl->bindWidget("last-login-time-gdate", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.LoginGDate)));
tmpl->bindWidget("last-login-time-jdate", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.LoginJDate)));
tmpl->bindWidget("last-login-time", new WText(WString::fromUTF8(cgiEnv->SignedInUser.LastLogin.LoginTime)));
tmpl->bindWidget("force-terminate-all-sessions", forceTerminateAllSessionsPushButton);
forceTerminateAllSessionsPushButton->clicked().connect(m_pimpl.get(), &CmsDashboard::Impl::OnForceTerminateAllSessionsPushButtonPressed);
}
}
catch (boost::exception &ex) {
LOG_ERROR(boost::diagnostic_information(ex));
}
catch (std::exception &ex) {
LOG_ERROR(ex.what());
}
catch (...) {
LOG_ERROR(UNKNOWN_ERROR);
}
return container;
}
示例9: Div
WWidget *CmsSubscribers::Layout()
{
Div *container = new Div("CmsSubscribers", "container-fluid");
try {
CgiRoot *cgiRoot = static_cast<CgiRoot *>(WApplication::instance());
CgiEnv *cgiEnv = cgiRoot->GetCgiEnvInstance();
string htmlData;
string file;
if (cgiEnv->GetCurrentLanguage() == CgiEnv::Language::Fa) {
file = "../templates/cms-subscribers-fa.wtml";
} else {
file = "../templates/cms-subscribers.wtml";
}
if (CoreLib::FileSystem::Read(file, htmlData)) {
/// Fill the template
WTemplate *tmpl = new WTemplate(container);
tmpl->setTemplateText(WString::fromUTF8(htmlData), TextFormat::XHTMLUnsafeText);
WPushButton *allSubscribersPushButton = new WPushButton(tr("cms-subscribers-all"));
allSubscribersPushButton->setStyleClass("btn btn-default");
WPushButton *englishFarsiSubscribersPushButton = new WPushButton(tr("cms-subscribers-english-farsi"));
englishFarsiSubscribersPushButton->setStyleClass("btn btn-default");
WPushButton *englishSubscribersPushButton = new WPushButton(tr("cms-subscribers-english"));
englishSubscribersPushButton->setStyleClass("btn btn-default");
WPushButton *farsiSubscribersPushButton = new WPushButton(tr("cms-subscribers-farsi"));
farsiSubscribersPushButton->setStyleClass("btn btn-default");
WPushButton *inactiveSubscribersPushButton = new WPushButton(tr("cms-subscribers-inactive"));
inactiveSubscribersPushButton->setStyleClass("btn btn-default");
m_pimpl->SubscribersTableContainer = new Div("SubscribersTableContainer", "subscribers-table-container");
tmpl->bindWidget("subscribers-title", new WText(tr("cms-subscribers-page-title")));
tmpl->bindWidget("subscribers-table", m_pimpl->SubscribersTableContainer);
tmpl->bindWidget("all-subscribers-button", allSubscribersPushButton);
tmpl->bindWidget("english-farsi-subscribers-button", englishFarsiSubscribersPushButton);
tmpl->bindWidget("english-subscribers-button", englishSubscribersPushButton);
tmpl->bindWidget("farsi-subscribers-button", farsiSubscribersPushButton);
tmpl->bindWidget("inactive-subscribers-button", inactiveSubscribersPushButton);
allSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnAllButtonPressed);
englishFarsiSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnEnFaButtonPressed);
englishSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnEnButtonPressed);
farsiSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnFaButtonPressed);
inactiveSubscribersPushButton->clicked().connect(m_pimpl.get(), &CmsSubscribers::Impl::OnInactiveButtonPressed);
allSubscribersPushButton->setFocus();
}
}
catch (boost::exception &ex) {
LOG_ERROR(boost::diagnostic_information(ex));
}
catch (std::exception &ex) {
LOG_ERROR(ex.what());
}
catch (...) {
LOG_ERROR(UNKNOWN_ERROR);
}
return container;
}
示例10: init
void WTimePicker::init(const WTime &time)
{
Wt::WStringStream text;
text << "<table>"
"""<tr>"
"" "<th>${incrementHour}</th>"
"" "<th></th>"
"" "<th>${incrementMinute}</th>"
"" "<th></th>"
"" "<th>${incrementSecond}</th>"
"""</tr>"
"""<tr>"
"" "<td valign=\"middle\" align=\"center\">${hourText}</td>"
"" "<td valign=\"middle\" align=\"center\">:</td>"
"" "<td valign=\"middle\" align=\"center\">${minuteText}</td>"
"" "<td valign=\"middle\" align=\"center\">:</td>"
"" "<td valign=\"middle\" align=\"center\">${secondText}</td>"
"""</tr>"
"""<tr>"
"" "<th>${decrementHour}</th>"
"" "<th></th>"
"" "<th>${decrementMinute}</th>"
"" "<th></th>"
"" "<th>${decrementSecond}</th>"
"""</tr>"
"</table>";
WTemplate *impl = new WTemplate();
setImplementation(impl);
impl->setTemplateText(WString::fromUTF8(text.str(), XHTMLUnsafeText));
WIcon::loadIconFont();
WPushButton *incHourButton = new WPushButton();
incHourButton->addStyleClass("fa fa-arrow-up");
WPushButton *decHourButton = new WPushButton();
decHourButton->addStyleClass("fa fa-arrow-down");
WPushButton *incMinuteButton = new WPushButton();
incMinuteButton->addStyleClass("fa fa-arrow-up");
WPushButton *decMinuteButton = new WPushButton();
decMinuteButton->addStyleClass("fa fa-arrow-down");
WPushButton *incSecondButton = new WPushButton();
incSecondButton->addStyleClass("fa fa-arrow-up");
WPushButton *decSecondButton = new WPushButton();
decSecondButton->addStyleClass("fa fa-arrow-down");
hourText_ = new WText("0");
hourText_->setInline(false);
hourText_->setTextAlignment(AlignCenter);
minuteText_ = new WText("00");
minuteText_->setInline(false);
minuteText_->setTextAlignment(AlignCenter);
secondText_ = new WText("00");
secondText_->setInline(false);
secondText_->setTextAlignment(AlignCenter);
impl->bindWidget("incrementHour", incHourButton);
impl->bindWidget("decrementHour", decHourButton);
impl->bindWidget("hourText", hourText_);
impl->bindWidget("minuteText", minuteText_);
impl->bindWidget("secondText", secondText_);
impl->bindWidget("incrementMinute", incMinuteButton);
impl->bindWidget("decrementMinute", decMinuteButton);
impl->bindWidget("incrementSecond", incSecondButton);
impl->bindWidget("decrementSecond", decSecondButton);
incHourButton->clicked().connect(this, &WTimePicker::incrementHours);
decHourButton->clicked().connect(this, &WTimePicker::decrementHours);
incMinuteButton->clicked().connect(this, &WTimePicker::incrementMinutes);
decMinuteButton->clicked().connect(this, &WTimePicker::decrementMinutes);
incSecondButton->clicked().connect(this, &WTimePicker::incrementSeconds);
decSecondButton->clicked().connect(this, &WTimePicker::decrementSeconds);
}