78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | // xlsxchart.h
 | ||
|  | 
 | ||
|  | #ifndef QXLSX_CHART_H
 | ||
|  | #define QXLSX_CHART_H
 | ||
|  | 
 | ||
|  | #include "xlsxabstractooxmlfile.h"
 | ||
|  | 
 | ||
|  | #include <QXmlStreamReader>
 | ||
|  | #include <QXmlStreamWriter>
 | ||
|  | #include <QtGlobal>
 | ||
|  | 
 | ||
|  | QT_BEGIN_NAMESPACE_XLSX | ||
|  | 
 | ||
|  | class AbstractSheet; | ||
|  | class Worksheet; | ||
|  | class ChartPrivate; | ||
|  | class CellRange; | ||
|  | class DrawingAnchor; | ||
|  | 
 | ||
|  | class QXLSX_EXPORT Chart : public AbstractOOXmlFile | ||
|  | { | ||
|  |     Q_DECLARE_PRIVATE(Chart) | ||
|  | public: | ||
|  |     enum ChartType {             // 16 type of chart (ECMA 376)
 | ||
|  |         CT_NoStatementChart = 0, // Zero is internally used for unknown types
 | ||
|  |         CT_AreaChart, | ||
|  |         CT_Area3DChart, | ||
|  |         CT_LineChart, | ||
|  |         CT_Line3DChart, | ||
|  |         CT_StockChart, | ||
|  |         CT_RadarChart, | ||
|  |         CT_ScatterChart, | ||
|  |         CT_PieChart, | ||
|  |         CT_Pie3DChart, | ||
|  |         CT_DoughnutChart, | ||
|  |         CT_BarChart, | ||
|  |         CT_Bar3DChart, | ||
|  |         CT_OfPieChart, | ||
|  |         CT_SurfaceChart, | ||
|  |         CT_Surface3DChart, | ||
|  |         CT_BubbleChart, | ||
|  |     }; | ||
|  |     enum ChartAxisPos { None = (-1), Left = 0, Right, Top, Bottom }; | ||
|  | 
 | ||
|  | private: | ||
|  |     friend class AbstractSheet; | ||
|  |     friend class Worksheet; | ||
|  |     friend class Chartsheet; | ||
|  |     friend class DrawingAnchor; | ||
|  | 
 | ||
|  | private: | ||
|  |     Chart(AbstractSheet *parent, CreateFlag flag); | ||
|  | 
 | ||
|  | public: | ||
|  |     ~Chart(); | ||
|  | 
 | ||
|  | public: | ||
|  |     void addSeries(const CellRange &range, | ||
|  |                    AbstractSheet *sheet = nullptr, | ||
|  |                    bool headerH         = false, | ||
|  |                    bool headerV         = false, | ||
|  |                    bool swapHeaders     = false); | ||
|  |     void setChartType(ChartType type); | ||
|  |     void setChartStyle(int id); | ||
|  |     void setAxisTitle(Chart::ChartAxisPos pos, QString axisTitle); | ||
|  |     void setChartTitle(QString strchartTitle); | ||
|  |     void setChartLegend(Chart::ChartAxisPos legendPos, bool overlap = false); | ||
|  |     void setGridlinesEnable(bool majorGridlinesEnable = false, bool minorGridlinesEnable = false); | ||
|  | 
 | ||
|  | public: | ||
|  |     bool loadFromXmlFile(QIODevice *device) override; | ||
|  |     void saveToXmlFile(QIODevice *device) const override; | ||
|  | }; | ||
|  | 
 | ||
|  | QT_END_NAMESPACE_XLSX | ||
|  | 
 | ||
|  | #endif // QXLSX_CHART_H
 |