Creates the time series scatter plot example.
198 :
199 WContainerWidget()
200{
201 this->addWidget(std::make_unique<WText>(WString::tr("scatter plot")));
202
203 std::shared_ptr<WAbstractItemModel>
model
204 =
readCsvFile(WApplication::appRoot() +
"timeseries.csv",
this);
205
207 return;
208
209
210
211
212 for (
int i = 0;
i <
model->rowCount(); ++
i) {
214 WDate d = WDate::fromString(
s,
"dd/MM/yy");
216 }
217
218
219 auto *
w = this->addWidget(std::make_unique<WContainerWidget>());
220 auto *
table =
w->addWidget(std::make_unique<WTableView>());
221
222 table->setMargin(10, Side::Top | Side::Bottom);
223 table->setMargin(WLength::Auto, Side::Left | Side::Right);
224
226 table->setSortingEnabled(
false);
227 table->setColumnResizeEnabled(
true);
228 table->setSelectionMode(SelectionMode::None);
229 table->setAlternatingRowColors(
true);
230 table->setColumnAlignment(0, AlignmentFlag::Center);
231 table->setHeaderAlignment(0, AlignmentFlag::Center);
232 table->setRowHeight(22);
233
234
235
237 table->resize(800, 20 + 5*22);
238 table->setEditTriggers(EditTrigger::SingleClicked);
239 } else {
240 table->resize(800, 20 + 5*22 + 25);
241 table->setEditTriggers(EditTrigger::None);
242 }
243
244 std::shared_ptr<WItemDelegate>
delegate
245 = std::make_shared<WItemDelegate>();
248
250 = std::make_shared<WItemDelegate>();
252
253 table->setColumnWidth(0, 80);
254 for (
int i = 1;
i <
model->columnCount(); ++
i)
255 table->setColumnWidth(
i, 90);
256
257
258
259
261
262
264 chart->setXSeriesColumn(0);
265 chart->setLegendEnabled(
true);
266 chart->setZoomEnabled(
true);
267 chart->setPanEnabled(
true);
268
269 chart->setType(ChartType::Scatter);
270 chart->axis(Axis::X).setScale(AxisScale::Date);
271
272
273 chart->setAutoLayoutEnabled();
274
276
277
278
279 for (
int i = 1;
i < 3; ++
i) {
280 std::unique_ptr<WDataSeries>
s
281 = std::make_unique<WDataSeries>(
i, SeriesType::Line);
283 chart->addSeries(std::move(
s));
284 }
285
286 chart->resize(800, 400);
287
288 chart->setMargin(10, Side::Top | Side::Bottom);
289 chart->setMargin(WLength::Auto, Side::Left | Side::Right);
290
291 this->addWidget(std::make_unique<ChartConfig>(
chart));
292}
Wt::Auth::Dbo::UserDatabase< AuthInfo > UserDatabase