Creates the pie chart example.
339 WContainerWidget(parent)
341 new WText(WString::tr(
"pie chart"),
this);
343 WStandardItemModel *model =
new WStandardItemModel(
this);
344 model->setItemPrototype(
new NumericItem());
347 model->insertColumns(model->columnCount(), 2);
348 model->setHeaderData(0, WString(
"Item"));
349 model->setHeaderData(1, WString(
"Sales"));
352 model->insertRows(model->rowCount(), 6);
354 model->setData(row, 0, WString(
"Blueberry"));
355 model->setData(row, 1, 120);
358 model->setData(row, 0, WString(
"Cherry"));
359 model->setData(row, 1, 30);
361 model->setData(row, 0, WString(
"Apple"));
362 model->setData(row, 1, 260);
364 model->setData(row, 0, WString(
"Boston Cream"));
365 model->setData(row, 1, 160);
367 model->setData(row, 0, WString(
"Other"));
368 model->setData(row, 1, 40);
370 model->setData(row, 0, WString(
"Vanilla Cream"));
371 model->setData(row, 1, 120);
375 for (
int row = 0; row < model->rowCount(); ++row)
376 for (
int col = 0; col < model->columnCount(); ++col)
377 model->item(row, col)->setFlags(ItemIsSelectable | ItemIsEditable);
379 WContainerWidget *w =
new WContainerWidget(
this);
380 WTableView* table =
new WTableView(w);
382 table->setMargin(10, Top | Bottom);
383 table->setMargin(WLength::Auto, Left | Right);
384 table->setSortingEnabled(
true);
385 table->setModel(model);
386 table->setColumnWidth(1, 100);
387 table->setRowHeight(22);
389 if (WApplication::instance()->environment().ajax()) {
390 table->resize(150 + 100 + 14, 20 + 6 * 22);
391 table->setEditTriggers(WAbstractItemView::SingleClicked);
393 table->resize(150 + 100 + 14, WLength::Auto);
394 table->setEditTriggers(WAbstractItemView::NoEditTrigger);
400 WPieChart *chart =
new WPieChart(
this);
401 chart->setModel(model);
402 chart->setLabelsColumn(0);
403 chart->setDataColumn(1);
406 chart->setDisplayLabels(Outside | TextLabel | TextPercentage);
409 chart->setPerspectiveEnabled(
true, 0.2);
410 chart->setShadowEnabled(
true);
413 chart->setExplode(0, 0.3);
415 chart->resize(800, 300);
417 chart->setMargin(10, Top | Bottom);
418 chart->setMargin(WLength::Auto, Left | Right);