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

0001 // xlsxabstractsheet.h
0002 
0003 #ifndef XLSXABSTRACTSHEET_H
0004 #define XLSXABSTRACTSHEET_H
0005 
0006 #include "xlsxglobal.h"
0007 #include "xlsxabstractooxmlfile.h"
0008 
0009 QT_BEGIN_NAMESPACE_XLSX
0010 
0011 class Workbook;
0012 class Drawing;
0013 class AbstractSheetPrivate;
0014 
0015 class QXLSX_EXPORT AbstractSheet : public AbstractOOXmlFile
0016 {
0017     Q_DECLARE_PRIVATE(AbstractSheet)
0018 
0019 public:
0020     Workbook *workbook() const;
0021 
0022 public:
0023     // NOTE: If all Qt  compiler supports C++1x, recommend to use a 'class enum'.
0024     enum SheetType { ST_WorkSheet, ST_ChartSheet, ST_DialogSheet, ST_MacroSheet };
0025     enum SheetState { SS_Visible,SS_Hidden, SS_VeryHidden };
0026 
0027 public:
0028     QString sheetName() const;
0029     SheetType sheetType() const;
0030     SheetState sheetState() const;
0031     void setSheetState(SheetState ss);
0032     bool isHidden() const;
0033     bool isVisible() const;
0034     void setHidden(bool hidden);
0035     void setVisible(bool visible);
0036 
0037 protected:
0038     friend class Workbook;
0039     AbstractSheet(const QString &sheetName, int sheetId, Workbook *book, AbstractSheetPrivate *d);
0040     virtual AbstractSheet *copy(const QString &distName, int distId) const = 0;
0041     void setSheetName(const QString &sheetName);
0042     void setSheetType(SheetType type);
0043     int sheetId() const;
0044 
0045     Drawing *drawing() const;
0046 };
0047 
0048 QT_END_NAMESPACE_XLSX
0049 #endif // XLSXABSTRACTSHEET_H