1 Star 2 Fork 0

naoyun_orgin / QXlsx-CMake

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
xlsxchart_p.h 4.90 KB
AI 代码解读
一键复制 编辑 原始数据 按行查看 历史
chazy 提交于 2021-10-27 14:55 . init
// xlsxchart_p.h
#ifndef QXLSX_CHART_P_H
#define QXLSX_CHART_P_H
#include <QtGlobal>
#include <QObject>
#include <QString>
#include <QSharedPointer>
#include <QVector>
#include <QMap>
#include <QList>
#include <QXmlStreamReader>
#include <QXmlStreamWriter>
#include "xlsxabstractooxmlfile_p.h"
#include "xlsxchart.h"
QT_BEGIN_NAMESPACE_XLSX
class XlsxSeries
{
public:
//At present, we care about number cell ranges only!
QString numberDataSource_numRef; // yval, val
QString axDataSource_numRef; // xval, cat
QString headerH_numRef;
QString headerV_numRef;
bool swapHeader = false;
};
class XlsxAxis
{
public:
enum Type { T_None = (-1), T_Cat, T_Val, T_Date, T_Ser };
enum AxisPos { None = (-1), Left, Right, Top, Bottom };
public:
XlsxAxis(){}
XlsxAxis( Type t,
XlsxAxis::AxisPos p,
int id,
int crossId,
QString axisTitle = QString())
{
type = t;
axisPos = p;
axisId = id;
crossAx = crossId;
if ( !axisTitle.isEmpty() )
{
axisNames[ p ] = axisTitle;
}
}
public:
Type type;
XlsxAxis::AxisPos axisPos;
int axisId;
int crossAx;
QMap< XlsxAxis::AxisPos, QString > axisNames;
};
class ChartPrivate : public AbstractOOXmlFilePrivate
{
Q_DECLARE_PUBLIC(Chart)
public:
ChartPrivate(Chart *q, Chart::CreateFlag flag);
~ChartPrivate();
public:
bool loadXmlChart(QXmlStreamReader &reader);
bool loadXmlPlotArea(QXmlStreamReader &reader);
protected:
bool loadXmlPlotAreaElement(QXmlStreamReader &reader);
public:
bool loadXmlXxxChart(QXmlStreamReader &reader);
bool loadXmlSer(QXmlStreamReader &reader);
QString loadXmlNumRef(QXmlStreamReader &reader);
QString loadXmlStrRef(QXmlStreamReader &reader);
bool loadXmlChartTitle(QXmlStreamReader &reader);
bool loadXmlChartLegend(QXmlStreamReader &reader);
protected:
bool loadXmlChartTitleTx(QXmlStreamReader &reader);
bool loadXmlChartTitleTxRich(QXmlStreamReader &reader);
bool loadXmlChartTitleTxRichP(QXmlStreamReader &reader);
bool loadXmlChartTitleTxRichP_R(QXmlStreamReader &reader);
protected:
bool loadXmlAxisCatAx(QXmlStreamReader &reader);
bool loadXmlAxisDateAx(QXmlStreamReader &reader);
bool loadXmlAxisSerAx(QXmlStreamReader &reader);
bool loadXmlAxisValAx(QXmlStreamReader &reader);
bool loadXmlAxisEG_AxShared(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Scaling(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Overlay(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Tx(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Tx_Rich(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Tx_Rich_P(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Tx_Rich_P_pPr(QXmlStreamReader &reader, XlsxAxis* axis);
bool loadXmlAxisEG_AxShared_Title_Tx_Rich_P_R(QXmlStreamReader &reader, XlsxAxis* axis);
QString readSubTree(QXmlStreamReader &reader);
public:
void saveXmlChart(QXmlStreamWriter &writer) const;
void saveXmlChartTitle(QXmlStreamWriter &writer) const;
void saveXmlPieChart(QXmlStreamWriter &writer) const;
void saveXmlBarChart(QXmlStreamWriter &writer) const;
void saveXmlLineChart(QXmlStreamWriter &writer) const;
void saveXmlScatterChart(QXmlStreamWriter &writer) const;
void saveXmlAreaChart(QXmlStreamWriter &writer) const;
void saveXmlDoughnutChart(QXmlStreamWriter &writer) const;
void saveXmlSer(QXmlStreamWriter &writer, XlsxSeries *ser, int id) const;
void saveXmlAxis(QXmlStreamWriter &writer) const;
void saveXmlChartLegend(QXmlStreamWriter &writer) const;
protected:
void saveXmlAxisCatAx(QXmlStreamWriter &writer, XlsxAxis* axis) const;
void saveXmlAxisDateAx(QXmlStreamWriter &writer, XlsxAxis* axis) const;
void saveXmlAxisSerAx(QXmlStreamWriter &writer, XlsxAxis* axis) const;
void saveXmlAxisValAx(QXmlStreamWriter &writer, XlsxAxis* axis) const;
void saveXmlAxisEG_AxShared(QXmlStreamWriter &writer, XlsxAxis* axis) const;
void saveXmlAxisEG_AxShared_Title(QXmlStreamWriter &writer, XlsxAxis* axis) const;
QString GetAxisPosString( XlsxAxis::AxisPos axisPos ) const;
QString GetAxisName(XlsxAxis* ptrXlsxAxis) const;
public:
Chart::ChartType chartType;
QList< QSharedPointer<XlsxSeries> > seriesList;
QList< QSharedPointer<XlsxAxis> > axisList;
QMap< XlsxAxis::AxisPos, QString > axisNames;
QString chartTitle;
AbstractSheet* sheet;
Chart::ChartAxisPos legendPos;
bool legendOverlay;
bool majorGridlinesEnabled;
bool minorGridlinesEnabled;
QString layout; // only for storing a readed file
};
QT_END_NAMESPACE_XLSX
#endif // QXLSX_CHART_P_H
C/C++
1
https://gitee.com/naoyun_orgin/QXlsx-CMake.git
git@gitee.com:naoyun_orgin/QXlsx-CMake.git
naoyun_orgin
QXlsx-CMake
QXlsx-CMake
master

搜索帮助