Project

General

Profile

Bug #5459 ยป test_drag.cpp

Yoika Ghysens, 12/09/2016 12:37 PM

 
#include <Wt/WApplication>
#include <Wt/WContainerWidget>
#include <Wt/WTableView>
#include <Wt/WStandardItemModel>
#include <Wt/WStandardItem>
#include <Wt/WComboBox>

class TestApplication : public Wt::WApplication
{
public:
TestApplication(const Wt::WEnvironment &env);
};

TestApplication::TestApplication(const Wt::WEnvironment &env) : Wt::WApplication(env)
{
Wt::WContainerWidget *container = new Wt::WContainerWidget(root());
Wt::WComboBox *combo = new Wt::WComboBox();
combo->addItem("Option 1");
combo->addItem("Option 2");
combo->addItem("Option 3");
container->addWidget(combo);

Wt::WTableView *table = new Wt::WTableView();
table->setSelectionMode(Wt::SelectionMode::SingleSelection);
Wt::WStandardItemModel *itemModel = new Wt::WStandardItemModel(0, 2);
itemModel->setHeaderData(0, Wt::Horizontal, std::string(""), Wt::DisplayRole);
itemModel->setHeaderData(1, Wt::Horizontal, std::string("Id"), Wt::DisplayRole);
table->setModel(itemModel);

std::vector<Wt::WStandardItem *> row1;
row1.push_back(new Wt::WStandardItem("1"));
row1.push_back(new Wt::WStandardItem("aa"));

std::vector<Wt::WStandardItem *> row2;
row2.push_back(new Wt::WStandardItem("2"));
row2.push_back(new Wt::WStandardItem("bb"));

std::vector<Wt::WStandardItem *> row3;
row3.push_back(new Wt::WStandardItem("3"));
row3.push_back(new Wt::WStandardItem("cc"));

itemModel->appendRow(row1);
itemModel->appendRow(row2);
itemModel->appendRow(row3);
container->addWidget(table);

container->mouseDragged().connect(std::bind([=](){std::cout << "DRAGGING" << std::endl;}));
container->mouseWentDown().connect(std::bind([=](){std::cout << "WENT DOWN" << std::endl;}));
container->mouseWentUp().connect(std::bind([=](){std::cout << "WENT UP" << std::endl;}));
}

Wt::WApplication *createApplication(const Wt::WEnvironment &env)
{
return new TestApplication(env);
}

int main(int argc, char **argv)
{
return Wt::WRun(argc, argv, &createApplication);
}
    (1-1/1)