File indexing completed on 2024-06-23 03:45:57

0001 // xlsxworkbook_p.h
0002 
0003 #ifndef XLSXWORKBOOK_P_H
0004 #define XLSXWORKBOOK_P_H
0005 
0006 #include <QtGlobal>
0007 #include <QSharedPointer>
0008 #include <QStringList>
0009 
0010 #include "xlsxworkbook.h"
0011 #include "xlsxabstractooxmlfile_p.h"
0012 #include "xlsxtheme_p.h"
0013 #include "xlsxsimpleooxmlfile_p.h"
0014 #include "xlsxrelationships_p.h"
0015 
0016 QT_BEGIN_NAMESPACE_XLSX
0017 
0018 struct XlsxDefineNameData
0019 {
0020     XlsxDefineNameData()
0021         :sheetId(-1)
0022     {}
0023     XlsxDefineNameData(const QString &name, const QString &formula, const QString &comment, int sheetId=-1)
0024         :name(name), formula(formula), comment(comment), sheetId(sheetId)
0025     {
0026 
0027     }
0028     QString name;
0029     QString formula;
0030     QString comment;
0031     //using internal sheetId, instead of the localSheetId(order in the workbook)
0032     int sheetId;
0033 };
0034 
0035 class WorkbookPrivate : public AbstractOOXmlFilePrivate
0036 {
0037     Q_DECLARE_PUBLIC(Workbook)
0038 public:
0039     WorkbookPrivate(Workbook *q, Workbook::CreateFlag flag);
0040 
0041     QSharedPointer<SharedStrings> sharedStrings;
0042     QList<QSharedPointer<AbstractSheet> > sheets;
0043     QList<QSharedPointer<SimpleOOXmlFile> > externalLinks;
0044     QStringList sheetNames;
0045     QSharedPointer<Styles> styles;
0046     QSharedPointer<Theme> theme;
0047     QList<std::shared_ptr<MediaFile> > mediaFiles;
0048     QList<QSharedPointer<Chart> > chartFiles;
0049     QList<XlsxDefineNameData> definedNamesList;
0050 
0051     bool strings_to_numbers_enabled;
0052     bool strings_to_hyperlinks_enabled;
0053     bool html_to_richstring_enabled;
0054     bool date1904;
0055     QString defaultDateFormat;
0056 
0057     int x_window;
0058     int y_window;
0059     int window_width;
0060     int window_height;
0061 
0062     int activesheetIndex;
0063     int firstsheet;
0064     int table_count;
0065 
0066     //Used to generate new sheet name and id
0067     int last_worksheet_index;
0068     int last_chartsheet_index;
0069     int last_sheet_id;
0070 };
0071 
0072 QT_END_NAMESPACE_XLSX
0073 
0074 #endif // XLSXWORKBOOK_P_H