14 #include <Wt/WApplication> 16 #include <Wt/WEnvironment> 17 #include <Wt/WItemDelegate> 18 #include <Wt/WStandardItemModel> 21 #include <Wt/WBorderLayout> 22 #include <Wt/WFitLayout> 24 #include <Wt/WStandardItem> 25 #include <Wt/WTableView> 27 #include <Wt/Chart/WCartesianChart> 28 #include <Wt/Chart/WPieChart> 40 virtual NumericItem *clone()
const {
41 return new NumericItem();
44 virtual void setData(
const boost::any &data,
int role = UserRole) {
47 if (role == EditRole) {
50 double d = strtod(s.c_str(), &endptr);
69 std::ifstream f(fname.c_str());
74 for (
int row = 0; row < model->
rowCount(); ++row)
75 for (
int col = 0; col < model->
columnCount(); ++col) {
76 model->
item(row, col)->
setFlags(ItemIsSelectable | ItemIsEditable);
93 error.arg(fname, UTF8);
94 new WText(error, parent);
103 new WText(WString::tr(
"introduction"),
this);
114 new WText(WString::tr(
"category chart"),
this);
117 = readCsvFile(WApplication::appRoot() +
"category.csv",
this);
140 if (WApplication::instance()->environment().ajax()) {
141 table->
resize(600, 20 + 5*22);
144 table->
resize(600, WLength::Auto);
196 new WText(WString::tr(
"scatter plot"),
this);
199 WApplication::appRoot() +
"timeseries.csv",
this);
207 for (
int i = 0; i < model->
rowCount(); ++i) {
209 WDate d = WDate::fromString(s,
"dd/MM/yy");
231 if (WApplication::instance()->environment().ajax()) {
232 table->
resize(800, 20 + 5*22);
235 table->
resize(800, 20 + 5*22 + 25);
270 for (
int i = 1; i < 3; ++i) {
287 new WText(WString::tr(
"scatter plot 2"),
this);
294 for (
unsigned i = 0; i < 40; ++i) {
295 double x = (
static_cast<double>(i) - 20) / 4;
341 new WText(WString::tr(
"pie chart"),
this);
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);
389 if (WApplication::instance()->environment().ajax()) {
390 table->
resize(150 + 100 + 14, 20 + 6 * 22);
393 table->
resize(150 + 100 + 14, WLength::Auto);
void setExplode(int modelRow, double factor)
A Widget that demonstrates a scatter plot.
void setTextFormat(const WString &format)
WStandardItem * item(int row, int column=0) const
ChartsExample(Wt::WContainerWidget *root)
Constructor.
virtual void resize(const WLength &width, const WLength &height) override
virtual bool insertColumns(int column, int count, const WModelIndex &parent=WModelIndex())
void setPanEnabled(bool pan=true)
void setLabelsColumn(int column)
void addSeries(std::unique_ptr< WDataSeries > series)
void setItemDelegateForColumn(int column, const std::shared_ptr< WAbstractItemDelegate > &delegate)
A Widget that demonstrates a Pie chart.
void setLocation(AxisValue value)
virtual bool insertRows(int row, int count, const WModelIndex &parent=WModelIndex())
void setDisplayLabels(WFlags< LabelOption > options)
void setShadow(const WShadow &shadow)
void setItemDelegate(const std::shared_ptr< WAbstractItemDelegate > &delegate)
virtual void setModel(const std::shared_ptr< WAbstractItemModel > &model) override
void setType(ChartType type)
void setSelectionMode(SelectionMode mode)
CategoryExample(Wt::WContainerWidget *parent)
Creates the category chart example.
virtual bool setData(const WModelIndex &index, const cpp17::any &value, ItemDataRole role=ItemDataRole::Edit)
virtual int rowCount(const WModelIndex &parent=WModelIndex()) const=0
virtual void setData(const cpp17::any &data, ItemDataRole role=ItemDataRole::User)
void setPerspectiveEnabled(bool enabled, double height=1.0)
void setCrosshairEnabled(bool crosshair=true)
std::string toUTF8() const
void setZoomEnabled(bool zoom=true)
A Widget that demonstrates a category chart.
A widget that demonstrates a times series chart.
void setBackground(const WBrush &background)
void setScale(AxisScale scale)
static WString tr(const char *key)
void setXSeriesColumn(int modelColumn)
TimeSeriesExample(Wt::WContainerWidget *parent)
Creates the time series scatter plot example.
WString asString(const cpp17::any &v, const WString &formatString=WString())
void setModel(const std::shared_ptr< WAbstractItemModel > &model)
void setValueFill(Wt::Chart::FillRangeType fill)
virtual cpp17::any data(const WModelIndex &index, ItemDataRole role=ItemDataRole::Display) const=0
void setItemPrototype(std::unique_ptr< WStandardItem > item)
virtual int columnCount(const WModelIndex &parent=WModelIndex()) const=0
virtual void setAlternatingRowColors(bool enable) override
void setEditTriggers(WFlags< EditTrigger > editTriggers)
void setShadowEnabled(bool enabled)
void setColumnResizeEnabled(bool enabled)
virtual void setColumnWidth(int column, const WLength &width) override
void setAutoLayoutEnabled(bool enabled=true)
void setDataColumn(int modelColumn)
virtual void setHeaderAlignment(int column, WFlags< AlignmentFlag > alignment)
void setLegendEnabled(bool enabled)
void setSortingEnabled(bool enabled)
virtual bool setHeaderData(int section, Orientation orientation, const cpp17::any &value, ItemDataRole role=ItemDataRole::Edit)
void setFlags(WFlags< ItemFlag > flags)
PieExample(Wt::WContainerWidget *parent)
Creates the pie chart example.
A class that allows configuration of a cartesian chart.
void readFromCsv(std::istream &f, Wt::WAbstractItemModel *model, int numRows, bool firstLineIsHeaders)
Utility function that reads a model from a CSV file.
virtual void setRowHeight(const WLength &rowHeight) override
ScatterPlotExample(Wt::WContainerWidget *parent)
Creates the scatter plot example.
virtual void setColumnAlignment(int column, AlignmentFlag alignment)