Added new graphs
[harbour-pedalo.git] / src / graph.h
1 #ifndef TEXTBALLOON_H
2 #define TEXTBALLOON_H
3
4 #include <QObject>
5 #include <QQuickPaintedItem>
6
7 class Graph : public QQuickPaintedItem
8 {
9 Q_OBJECT
10 Q_PROPERTY(QList<float> model READ getModel WRITE setModel NOTIFY modelChanged)
11 Q_PROPERTY(QStringList labelsx READ getLabelsx WRITE setLabelsx NOTIFY labelsxChanged)
12 Q_PROPERTY(QStringList labelsy READ getLabelsy WRITE setLabelsy NOTIFY labelsyChanged)
13 Q_PROPERTY(QColor primary READ getPrimary WRITE setPrimary NOTIFY primaryChanged)
14 Q_PROPERTY(QColor secondary READ getSecondary WRITE setSecondary NOTIFY secondaryChanged)
15 Q_PROPERTY(QColor highlight READ getHighlight WRITE setHighlight NOTIFY highlightChanged)
16
17 Q_PROPERTY(float gap READ getGap WRITE setGap NOTIFY gapChanged)
18 Q_PROPERTY(float miny READ getMiny WRITE setMiny NOTIFY minyChanged)
19 Q_PROPERTY(float maxy READ getMaxy WRITE setMaxy NOTIFY maxyChanged)
20 Q_PROPERTY(float stepy READ getStepy WRITE setStepy NOTIFY stepyChanged)
21 Q_PROPERTY(QString unitsy READ getUnitsy WRITE setUnitsy NOTIFY unitsyChanged)
22 Q_PROPERTY(float fontsize READ getFontsize WRITE setFontsize NOTIFY fontsizeChanged)
23
24 Q_PROPERTY(float animate READ getAnimate WRITE setAnimate NOTIFY animateChanged)
25
26 public:
27 Graph(QQuickItem *parent = 0);
28 void paint(QPainter *painter);
29
30 QList<float> getModel() const;
31 void setModel(QList<float> value);
32 QStringList getLabelsx() const;
33 void setLabelsx(QStringList value);
34 QStringList getLabelsy() const;
35 void setLabelsy(QStringList value);
36 QColor getPrimary() const;
37 void setPrimary(QColor value);
38 QColor getSecondary() const;
39 void setSecondary(QColor value);
40 QColor getHighlight() const;
41 void setHighlight(QColor value);
42 float getGap() const;
43 void setGap(float value);
44 float getMiny() const;
45 void setMiny(float value);
46 float getMaxy() const;
47 void setMaxy(float value);
48 float getStepy() const;
49 void setStepy(float value);
50 QString getUnitsy() const;
51 void setUnitsy(QString value);
52 float getFontsize() const;
53 void setFontsize(float value);
54 float getAnimate() const;
55 void setAnimate(float value);
56
57 private:
58 QList<float> model;
59 QStringList labelsx;
60 QStringList labelsy;
61 QColor primary;
62 QColor secondary;
63 QColor highlight;
64 float axisThickness;
65 int bars;
66 float gap;
67 float minmodel;
68 float maxmodel;
69 float miny;
70 float maxy;
71 float stepy;
72 QString unitsy;
73 float fontsize;
74 float animate;
75
76 signals:
77 void modelChanged();
78 void labelsxChanged();
79 void labelsyChanged();
80 void primaryChanged(QColor primary);
81 void secondaryChanged(QColor secondary);
82 void highlightChanged(QColor highlight);
83 void gapChanged(float gap);
84 void minyChanged(float miny);
85 void maxyChanged(float maxy);
86 void stepyChanged(float maxy);
87 void unitsyChanged();
88 void fontsizeChanged(float fontsize);
89 void animateChanged(float animate);
90 };
91
92 #endif // TEXTBALLOON_H