1 #ifndef MODELS_H 2 #define MODELS_H 3 4 #include <Wt/WAbstractTableModel.h> 5 6 class SombreroData : public Wt::WAbstractTableModel { 7 public: 8 SombreroData(int nbXPts, int nbYPts, 9 double xStart, double xEnd, 10 double yStart, double yEnd); 11 12 virtual int rowCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 13 virtual int columnCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 14 15 Wt::cpp17::any data(int row, int column, Wt::ItemDataRole role = Wt::ItemDataRole::Display, const Wt::WModelIndex &parent = Wt::WModelIndex()) const; 16 17 virtual Wt::cpp17::any data(const Wt::WModelIndex& index, 18 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 19 20 virtual Wt::cpp17::any headerData(int section, 21 Wt::Orientation orientation = Wt::Orientation::Horizontal, 22 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 23 update(double xStart,double xEnd,double yStart,double yEnd,int nbXPts,int nbYPts)24 void update(double xStart, double xEnd, double yStart, double yEnd, 25 int nbXPts, int nbYPts) { 26 nbXPts_ = nbXPts; 27 nbYPts_ = nbYPts; 28 xStart_ = xStart; 29 xEnd_ = xEnd; 30 yStart_ = yStart; 31 yEnd_ = yEnd; 32 } 33 34 private: 35 int nbXPts_, nbYPts_; 36 double xStart_, xEnd_, yStart_, yEnd_; 37 }; 38 39 class PlaneData : public Wt::WAbstractTableModel { 40 public: 41 PlaneData(int nbXPts, int nbYPts, 42 double xStart, double xDelta, 43 double yStart, double yDelta, 44 bool Yvariation, 45 double colorRoleBound, double sizeRoleBound); 46 47 virtual int rowCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 48 virtual int columnCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 49 50 Wt::cpp17::any data(int row, int column, Wt::ItemDataRole role = Wt::ItemDataRole::Display, 51 const Wt::WModelIndex &parent = Wt::WModelIndex()) const; 52 53 virtual Wt::cpp17::any data(const Wt::WModelIndex& index, 54 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 55 56 virtual Wt::cpp17::any headerData(int section, 57 Wt::Orientation orientation = Wt::Orientation::Horizontal, 58 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 59 update(double xStart,double xDelta,double yStart,double yDelta,int nbXPts,int nbYPts)60 void update(double xStart, double xDelta, double yStart, double yDelta, 61 int nbXPts, int nbYPts) { 62 nbXPts_ = nbXPts; 63 nbYPts_ = nbYPts; 64 xStart_ = xStart; 65 xDelta_ = xDelta; 66 yStart_ = yStart; 67 yDelta_ = yDelta; 68 } 69 70 private: 71 int nbXPts_, nbYPts_; 72 double xStart_, xDelta_, yStart_, yDelta_; 73 bool yVar_; 74 75 double colorRoleBound_, sizeRoleBound_; 76 }; 77 78 class PointsData : public Wt::WAbstractTableModel { 79 public: 80 PointsData(int nbPts); 81 82 virtual int rowCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 83 virtual int columnCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 84 85 Wt::cpp17::any data(int row, int column, Wt::ItemDataRole role = Wt::ItemDataRole::Display, 86 const Wt::WModelIndex &parent = Wt::WModelIndex()) const ; 87 88 virtual Wt::cpp17::any data(const Wt::WModelIndex& index, 89 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 90 91 virtual Wt::cpp17::any headerData(int section, 92 Wt::Orientation orientation = Wt::Orientation::Horizontal, 93 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 94 95 private: 96 int nbPts_; 97 }; 98 99 class Parabola : public Wt::WAbstractTableModel { 100 public: 101 Parabola(double xMin, double deltaX, double yMin, double deltaY, 102 double factor, double minimum, 103 bool withColorRoles, double colorRoleBoundary); 104 105 virtual int rowCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 106 virtual int columnCount(const Wt::WModelIndex& parent = Wt::WModelIndex()) const override; 107 108 Wt::cpp17::any data(int row, int column, Wt::ItemDataRole role = Wt::ItemDataRole::Display, 109 const Wt::WModelIndex &parent = Wt::WModelIndex()) const ; 110 111 virtual Wt::cpp17::any data(const Wt::WModelIndex& index, 112 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 113 114 virtual Wt::cpp17::any headerData(int section, 115 Wt::Orientation orientation = Wt::Orientation::Horizontal, 116 Wt::ItemDataRole role = Wt::ItemDataRole::Display) const override; 117 118 private: 119 double xMin_, deltaX_; 120 double yMin_, deltaY_; 121 122 double factor_; 123 double minimum_; 124 125 bool colorRoles_; 126 double colorRoleBoundary_; 127 }; 128 129 #endif 130