Wt examples  4.10.4
ChartConfig.h
Go to the documentation of this file.
1 // This may look like C code, but it's really -*- C++ -*-
2 /*
3  * Copyright (C) 2008 Emweb bv, Herent, Belgium.
4  *
5  * See the LICENSE file for terms of use.
6  */
7 #ifndef CHART_CONFIG_H_
8 #define CHART_CONFIG_H_
9 
10 #include <Wt/WContainerWidget.h>
11 #include <Wt/Chart/WDataSeries.h>
12 
13 namespace Wt {
14  class WCheckBox;
15  class WComboBox;
16  class WFormWidget;
17  class WLineEdit;
18  class WStandardItemModel;
19  class WTable;
20  class WValidator;
21 
22  namespace Chart {
23  class WAxis;
24  class WCartesianChart;
25  }
26 }
27 
32 
41 {
42 public:
46 
48 
49 private:
52 
54  struct SeriesControl {
63  };
64 
66  std::vector<SeriesControl> seriesControls_;
67 
69  struct AxisControl {
81  };
82 
84  std::vector<AxisControl> axisControls_;
85 
94 
95  std::shared_ptr<Wt::WStandardItemModel> xAxesModel_, yAxesModel_, xScales_, yScales_;
97  std::shared_ptr<Wt::WValidator> anyNumberValidator_, angleValidator_;
98 
100  void update();
101  void addXAxis();
102  void addYAxis();
103  void addAxis(Wt::Chart::Axis axis, int axisId);
104  void removeXAxis(const Wt::Chart::WAxis *axis);
105  void removeYAxis(const Wt::Chart::WAxis *axis);
106  void clearXAxes();
107  void clearYAxes();
108 
109  static bool validate(Wt::WFormWidget *w);
110 };
111 
114 #endif // CHARTS_EXAMPLE_H_
A class that allows configuration of a cartesian chart.
Definition: ChartConfig.h:41
std::vector< SeriesControl > seriesControls_
Controls for series.
Definition: ChartConfig.h:66
void addAxis(Wt::Chart::Axis axis, int axisId)
Definition: ChartConfig.C:692
Wt::WComboBox * legendAlignmentEdit_
Definition: ChartConfig.h:92
Wt::WComboBox * legendLocationEdit_
Definition: ChartConfig.h:90
std::shared_ptr< Wt::WValidator > angleValidator_
Definition: ChartConfig.h:97
Wt::WTable * axisConfig_
Definition: ChartConfig.h:96
Wt::WComboBox * legendSideEdit_
Definition: ChartConfig.h:91
void removeXAxis(const Wt::Chart::WAxis *axis)
Definition: ChartConfig.C:794
std::shared_ptr< Wt::WValidator > anyNumberValidator_
Definition: ChartConfig.h:97
void setValueFill(Wt::Chart::FillRangeType fill)
Definition: ChartConfig.C:393
Wt::WLineEdit * chartWidthEdit_
Definition: ChartConfig.h:87
Wt::WLineEdit * titleEdit_
Definition: ChartConfig.h:86
void removeYAxis(const Wt::Chart::WAxis *axis)
Definition: ChartConfig.C:808
void addYAxis()
Definition: ChartConfig.C:683
std::shared_ptr< Wt::WStandardItemModel > xAxesModel_
Definition: ChartConfig.h:95
static bool validate(Wt::WFormWidget *w)
Definition: ChartConfig.C:655
void connectSignals(Wt::WFormWidget *w)
Definition: ChartConfig.C:667
Wt::Chart::WCartesianChart * chart_
Definition: ChartConfig.h:50
std::vector< AxisControl > axisControls_
Controls for axes.
Definition: ChartConfig.h:84
void clearYAxes()
Definition: ChartConfig.C:839
ChartConfig(Wt::Chart::WCartesianChart *chart)
Constructor.
Definition: ChartConfig.C:76
std::shared_ptr< Wt::WStandardItemModel > xScales_
Definition: ChartConfig.h:95
void clearXAxes()
Definition: ChartConfig.C:822
Wt::Chart::FillRangeType fill_
Definition: ChartConfig.h:51
void addXAxis()
Definition: ChartConfig.C:674
void update()
Definition: ChartConfig.C:398
Wt::WCheckBox * borderEdit_
Definition: ChartConfig.h:93
Wt::WLineEdit * chartHeightEdit_
Definition: ChartConfig.h:88
std::shared_ptr< Wt::WStandardItemModel > yAxesModel_
Definition: ChartConfig.h:95
Wt::WComboBox * chartOrientationEdit_
Definition: ChartConfig.h:89
std::shared_ptr< Wt::WStandardItemModel > yScales_
Definition: ChartConfig.h:95
Struct that holds the controls for one axis.
Definition: ChartConfig.h:69
Wt::WLineEdit * maximumEdit
Definition: ChartConfig.h:74
Wt::WComboBox * tickDirectionEdit
Definition: ChartConfig.h:79
Wt::WLineEdit * titleEdit
Definition: ChartConfig.h:77
Wt::WLineEdit * labelAngleEdit
Definition: ChartConfig.h:76
Wt::WComboBox * titleOrientationEdit
Definition: ChartConfig.h:78
Wt::WCheckBox * gridLinesEdit
Definition: ChartConfig.h:75
Wt::WLineEdit * minimumEdit
Definition: ChartConfig.h:73
Wt::WComboBox * locationEdit
Definition: ChartConfig.h:80
Wt::WComboBox * scaleEdit
Definition: ChartConfig.h:71
Wt::WCheckBox * visibleEdit
Definition: ChartConfig.h:70
Wt::WCheckBox * autoEdit
Definition: ChartConfig.h:72
Struct that holds the controls for one series.
Definition: ChartConfig.h:54
Wt::WComboBox * markerEdit
Definition: ChartConfig.h:57
Wt::WComboBox * labelsEdit
Definition: ChartConfig.h:62
Wt::WCheckBox * enabledEdit
Definition: ChartConfig.h:55
Wt::WCheckBox * legendEdit
Definition: ChartConfig.h:60
Wt::WCheckBox * shadowEdit
Definition: ChartConfig.h:61
Wt::WComboBox * typeEdit
Definition: ChartConfig.h:56
Wt::WComboBox * xAxisEdit
Definition: ChartConfig.h:58
Wt::WComboBox * yAxisEdit
Definition: ChartConfig.h:59