|
#include <Wt/WApplication>
|
|
#include <Wt/WTreeView>
|
|
#include <Wt/WStandardItemModel>
|
|
#include <Wt/WStandardItem>
|
|
#include <Wt/WPushButton>
|
|
|
|
#include <memory>
|
|
|
|
class TestApplication : public Wt::WApplication
|
|
{
|
|
public:
|
|
TestApplication(const Wt::WEnvironment &env);
|
|
};
|
|
|
|
TestApplication::TestApplication(const Wt::WEnvironment &env) : Wt::WApplication(env)
|
|
{
|
|
Wt::WTreeView *treeView = new Wt::WTreeView(root());
|
|
Wt::WStandardItemModel *itemModel = new Wt::WStandardItemModel(0, 4);
|
|
itemModel->setHeaderData(0, Wt::Horizontal, std::string(""), Wt::DisplayRole);
|
|
itemModel->setHeaderData(1, Wt::Horizontal, std::string("Id"), Wt::DisplayRole);
|
|
itemModel->setHeaderData(2, Wt::Horizontal, std::string("Description"), Wt::DisplayRole);
|
|
itemModel->setHeaderData(3, Wt::Horizontal, std::string("Battery"), Wt::DisplayRole);
|
|
|
|
treeView->setModel(itemModel);
|
|
treeView->setColumnWidth(0, 150);
|
|
treeView->setColumnWidth(1, 120);
|
|
treeView->setColumnWidth(2, 150);
|
|
treeView->setColumnWidth(3, 70);
|
|
treeView->setWidth(513 + 3 * 7);
|
|
treeView->setSelectionMode(Wt::SingleSelection);
|
|
|
|
Wt::WStandardItem *beacons = new Wt::WStandardItem("Beacons");
|
|
beacons->setStyleClass("header-item");
|
|
itemModel->appendRow(beacons);
|
|
Wt::WStandardItem *basestations = new Wt::WStandardItem("Basestations");
|
|
basestations->setStyleClass("header-item");
|
|
itemModel->appendRow(basestations);
|
|
Wt::WStandardItem *mobiles = new Wt::WStandardItem("Mobiles");
|
|
mobiles->setStyleClass("header-item");
|
|
itemModel->appendRow(mobiles);
|
|
Wt::WStandardItem *tags = new Wt::WStandardItem("Tags");
|
|
tags->setStyleClass("header-item");
|
|
itemModel->appendRow(tags);
|
|
|
|
std::vector<Wt::WStandardItem *> row1;
|
|
row1.push_back(new Wt::WStandardItem("1"));
|
|
row1.push_back(new Wt::WStandardItem("aa"));
|
|
row1.push_back(new Wt::WStandardItem("bb"));
|
|
row1.push_back(new Wt::WStandardItem("cc"));
|
|
|
|
beacons->appendRow(row1);
|
|
|
|
Wt::WPushButton *clearList = new Wt::WPushButton("Clear", root());
|
|
clearList->clicked().connect(std::bind([=]() {
|
|
beacons->removeRows(0, beacons->rowCount());
|
|
}));
|
|
}
|
|
|
|
Wt::WApplication *createApplication(const Wt::WEnvironment &env)
|
|
{
|
|
return new TestApplication(env);
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
return Wt::WRun(argc, argv, &createApplication);
|
|
}
|