Creates the pie chart example.
331 WContainerWidget(parent)
333 new WText(WString::tr(
"pie chart"),
this);
335 WStandardItemModel *model =
new WStandardItemModel(
this);
336 model->setItemPrototype(
new NumericItem());
339 model->insertColumns(model->columnCount(), 2);
340 model->setHeaderData(0, WString(
"Item"));
341 model->setHeaderData(1, WString(
"Sales"));
344 model->insertRows(model->rowCount(), 6);
346 model->setData(row, 0, WString(
"Blueberry"));
347 model->setData(row, 1, 120);
350 model->setData(row, 0, WString(
"Cherry"));
351 model->setData(row, 1, 30);
353 model->setData(row, 0, WString(
"Apple"));
354 model->setData(row, 1, 260);
356 model->setData(row, 0, WString(
"Boston Cream"));
357 model->setData(row, 1, 160);
359 model->setData(row, 0, WString(
"Other"));
360 model->setData(row, 1, 40);
362 model->setData(row, 0, WString(
"Vanilla Cream"));
363 model->setData(row, 1, 120);
367 for (
int row = 0; row < model->rowCount(); ++row)
368 for (
int col = 0; col < model->columnCount(); ++col)
369 model->item(row, col)->setFlags(ItemIsSelectable | ItemIsEditable);
371 WContainerWidget *w =
new WContainerWidget(
this);
372 WTableView* table =
new WTableView(w);
374 table->setMargin(10, Top | Bottom);
375 table->setMargin(WLength::Auto, Left | Right);
376 table->setSortingEnabled(
true);
377 table->setModel(model);
378 table->setColumnWidth(1, 100);
379 table->setRowHeight(22);
381 if (WApplication::instance()->environment().ajax()) {
382 table->resize(150 + 100 + 14, 20 + 6 * 22);
383 table->setEditTriggers(WAbstractItemView::SingleClicked);
385 table->resize(150 + 100 + 14, WLength::Auto);
386 table->setEditTriggers(WAbstractItemView::NoEditTrigger);
392 WPieChart *chart =
new WPieChart(
this);
393 chart->setModel(model);
394 chart->setLabelsColumn(0);
395 chart->setDataColumn(1);
398 chart->setDisplayLabels(Outside | TextLabel | TextPercentage);
401 chart->setPerspectiveEnabled(
true, 0.2);
402 chart->setShadowEnabled(
true);
405 chart->setExplode(0, 0.3);
407 chart->resize(800, 300);
409 chart->setMargin(10, Top | Bottom);
410 chart->setMargin(WLength::Auto, Left | Right);