Project

General

Profile

Bug #3927 » Main.cpp

 

#include <Wt/WApplication>
#include <Wt/WEnvironment>
#include <Wt/WMenu>
#include <Wt/WMenuItem>
#include <Wt/WBreak>
#include <Wt/WText>

#include <boost/bind.hpp>

using namespace Wt;

void printItem(WMenuItem *item, WText *msg) {
msg->setText(item->text());
}

Wt::WApplication* createApp(const Wt::WEnvironment& env) {
WApplication* app = new WApplication(env);

app->setCssTheme("polished");
app->useStyleSheet( "everywidget.css");

WContainerWidget *w(app->root());
WMenu *mainMenu = new WMenu(Vertical,w);
mainMenu->setStyleClass("menu");

WMenu *subMenu = new WMenu();
subMenu->setStyleClass("menu submenu");
WMenu *subMenu2 = new WMenu();
subMenu2->setStyleClass("menu submenu");

mainMenu->addItem("item",0);
mainMenu->addMenu("sub menu ",subMenu);

subMenu->addItem("item",0);
subMenu->addMenu("sub menu2 ",subMenu2);

subMenu2->addItem("item 1",0);
subMenu2->addItem("item 2",0);

new WBreak(w);
new WText("last selected item: ", w);

WText *msg = new WText(w);

mainMenu->itemSelected().connect(boost::bind(&printItem,_1,msg));
subMenu->itemSelected().connect(boost::bind(&printItem,_1,msg));
subMenu2->itemSelected().connect(boost::bind(&printItem,_1,msg));

return app;
}


int main(int argc, char** argv) {
return WRun(argc,argv,&createApp);
}

(2-2/3)