Project

General

Profile

Bug #4608 » test_program.C

Bruce Toll, 12/05/2015 06:43 AM

 
#include <Wt/WApplication>
#include <Wt/WComboBox>
#include <Wt/WPushButton>
#include <Wt/WStandardItem>
#include <Wt/WStandardItemModel>
#include <Wt/WText>
#include <Wt/Chart/WCartesianChart>

using namespace Wt;

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

TestApplication::TestApplication(const WEnvironment& env) : WApplication(env)
{
setTitle("WCartesianChart Tooltips");

new WText("<h5>Press button to toggle between 0 and 2 points on chart.</h5>", root());

auto button = new WPushButton("Press Three Times", root());

auto chartModel = new WStandardItemModel(0, 2, this);

Chart::WCartesianChart *chart = new Chart::WCartesianChart(Chart::ScatterPlot, root());
chart->resize(200, 200);
chart->setAutoLayoutEnabled();
chart->setZoomEnabled();
chart->setModel(chartModel);
chart->setXSeriesColumn(0);
chart->addSeries(Chart::WDataSeries(1, Chart::PointSeries));

button->clicked().connect(std::bind([=] {
if (chartModel->rowCount()) {
chartModel->removeRows(0, 2);
}
else {
chartModel->insertRows(0, 2);
chartModel->setData(chartModel->index(0, 0), 1);
chartModel->setData(chartModel->index(0, 1), 1);
chartModel->setData(chartModel->index(0, 1), "tool tip one", ToolTipRole);
chartModel->setData(chartModel->index(1, 0), 10);
chartModel->setData(chartModel->index(1, 1), 10);
chartModel->setData(chartModel->index(1, 1), "tool tip two", ToolTipRole);
}
}));
}

int main(int argc, char **argv)
{
return WRun(argc, argv, [](const WEnvironment& env) {return new TestApplication(env);});
}
(1-1/2)