qchart.h
85 lines
| 2.0 KiB
| text/x-c
|
CLexer
/ src / qchart.h
Michal Klocek
|
r12 | #ifndef CHART_H | ||
#define CHART_H | ||||
Tero Ahola
|
r30 | #include <qchartglobal.h> | ||
Tero Ahola
|
r42 | #include <qchartseries.h> | ||
Michal Klocek
|
r115 | #include <QGraphicsWidget> | ||
Michal Klocek
|
r69 | #include <QLinearGradient> | ||
Michal Klocek
|
r87 | #include <QFont> | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r115 | class QGraphicsSceneResizeEvent; | ||
Tero Ahola
|
r30 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r67 | class AxisItem; | ||
Michal Klocek
|
r21 | class QChartSeries; | ||
Michal Klocek
|
r67 | class PlotDomain; | ||
sauimone
|
r216 | class BarPresenter; | ||
Michal Klocek
|
r72 | class QChartAxis; | ||
Tero Ahola
|
r103 | class ChartTheme; | ||
Tero Ahola
|
r108 | class ChartItem; | ||
Michal Klocek
|
r131 | class ChartDataSet; | ||
class ChartPresenter; | ||||
Michal Klocek
|
r21 | |||
Tero Ahola
|
r42 | /*! | ||
* TODO: define the responsibilities | ||||
*/ | ||||
Michal Klocek
|
r115 | class QTCOMMERCIALCHART_EXPORT QChart : public QGraphicsWidget | ||
Tero Ahola
|
r38 | { | ||
Tero Ahola
|
r48 | Q_OBJECT | ||
Tero Ahola
|
r64 | public: | ||
Michal Klocek
|
r153 | enum ChartTheme { | ||
Tero Ahola
|
r81 | /*! The default theme follows the GUI style of the Operating System */ | ||
Tero Ahola
|
r103 | ChartThemeDefault, | ||
Tero Ahola
|
r81 | ChartThemeVanilla, | ||
Tero Ahola
|
r64 | ChartThemeIcy, | ||
Tero Ahola
|
r77 | ChartThemeGrayscale, | ||
Tero Ahola
|
r125 | ChartThemeScientific, | ||
Michal Klocek
|
r143 | //ChartThemeUnnamed1 | ||
Tero Ahola
|
r64 | }; | ||
Michal Klocek
|
r12 | public: | ||
Michal Klocek
|
r115 | QChart(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); | ||
Tero Ahola
|
r48 | ~QChart(); | ||
Michal Klocek
|
r12 | |||
Michal Klocek
|
r258 | void addSeries(QChartSeries* series,QChartAxis* axisY=0);// takes series ownership , takes axis ownership | ||
void removeSeries(QChartSeries* series); //returns ownership , deletes axis if no series attached | ||||
void removeAllSeries(); // deletes series and axis | ||||
Michal Klocek
|
r12 | |||
void setMargin(int margin); | ||||
Michal Klocek
|
r28 | int margin() const; | ||
Michal Klocek
|
r153 | void setChartTheme(QChart::ChartTheme theme); | ||
QChart::ChartTheme chartTheme() const; | ||||
Michal Klocek
|
r28 | |||
Michal Klocek
|
r192 | void setChartTitle(const QString& title); | ||
void setChartTitleFont(const QFont& font); | ||||
Michal Klocek
|
r122 | void setChartBackgroundBrush(const QBrush& brush); | ||
void setChartBackgroundPen(const QPen& pen); | ||||
Michal Klocek
|
r67 | void zoomIn(); | ||
Michal Klocek
|
r223 | void zoomIn(const QRectF& rect); | ||
Michal Klocek
|
r67 | void zoomOut(); | ||
Tero Ahola
|
r93 | void zoomReset(); | ||
Michal Klocek
|
r67 | |||
Michal Klocek
|
r223 | QChartAxis* axisX() const; | ||
QChartAxis* axisY() const; | ||||
Michal Klocek
|
r72 | |||
Michal Klocek
|
r115 | protected: | ||
void resizeEvent(QGraphicsSceneResizeEvent *event); | ||||
Michal Klocek
|
r223 | private: | ||
inline void createChartBackgroundItem(); | ||||
inline void createChartTitleItem(); | ||||
Michal Klocek
|
r12 | private: | ||
Michal Klocek
|
r28 | Q_DISABLE_COPY(QChart) | ||
Michal Klocek
|
r87 | QGraphicsRectItem* m_backgroundItem; | ||
QGraphicsTextItem* m_titleItem; | ||||
Michal Klocek
|
r115 | QRectF m_rect; | ||
Michal Klocek
|
r131 | ChartDataSet *m_dataset; | ||
ChartPresenter *m_presenter; | ||||
Michal Klocek
|
r12 | }; | ||
Tero Ahola
|
r30 | QTCOMMERCIALCHART_END_NAMESPACE | ||
Michal Klocek
|
r12 | |||
#endif | ||||