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

0001 // xlsxformat_p.h
0002 #ifndef XLSXFORMAT_P_H
0003 #define XLSXFORMAT_P_H
0004 
0005 #include <QtGlobal>
0006 #include <QSharedData>
0007 #include <QMap>
0008 #include <QSet>
0009 
0010 #include "xlsxformat.h"
0011 
0012 QT_BEGIN_NAMESPACE_XLSX
0013 
0014 class FormatPrivate : public QSharedData
0015 {
0016 public:
0017     enum FormatType
0018     {
0019         FT_Invalid = 0,
0020         FT_NumFmt = 0x01,
0021         FT_Font = 0x02,
0022         FT_Alignment = 0x04,
0023         FT_Border = 0x08,
0024         FT_Fill = 0x10,
0025         FT_Protection = 0x20
0026     };
0027 
0028     enum Property {
0029         P_STARTID,
0030 
0031         //numFmt
0032         P_NumFmt_Id,
0033         P_NumFmt_FormatCode,
0034 
0035         //font
0036         P_Font_STARTID,
0037         P_Font_Size = P_Font_STARTID,
0038         P_Font_Italic,
0039         P_Font_StrikeOut,
0040         P_Font_Color,
0041         P_Font_Bold,
0042         P_Font_Script,
0043         P_Font_Underline,
0044         P_Font_Outline,
0045         P_Font_Shadow,
0046         P_Font_Name,
0047         P_Font_Family,
0048         P_Font_Charset,
0049         P_Font_Scheme,
0050         P_Font_Condense,
0051         P_Font_Extend,
0052         P_Font_ENDID,
0053 
0054         //border
0055         P_Border_STARTID,
0056         P_Border_LeftStyle = P_Border_STARTID,
0057         P_Border_RightStyle,
0058         P_Border_TopStyle,
0059         P_Border_BottomStyle,
0060         P_Border_DiagonalStyle,
0061         P_Border_LeftColor,
0062         P_Border_RightColor,
0063         P_Border_TopColor,
0064         P_Border_BottomColor,
0065         P_Border_DiagonalColor,
0066         P_Border_DiagonalType,
0067         P_Border_ENDID,
0068 
0069         //fill
0070         P_Fill_STARTID,
0071         P_Fill_Pattern = P_Fill_STARTID,
0072         P_Fill_BgColor,
0073         P_Fill_FgColor,
0074         P_Fill_ENDID,
0075 
0076         //alignment
0077         P_Alignment_STARTID,
0078         P_Alignment_AlignH = P_Alignment_STARTID,
0079         P_Alignment_AlignV,
0080         P_Alignment_Wrap,
0081         P_Alignment_Rotation,
0082         P_Alignment_Indent,
0083         P_Alignment_ShinkToFit,
0084         P_Alignment_ENDID,
0085 
0086         //protection
0087         P_Protection_Locked,
0088         P_Protection_Hidden,
0089 
0090         P_ENDID
0091     };
0092 
0093     FormatPrivate();
0094     FormatPrivate(const FormatPrivate &other);
0095     ~FormatPrivate();
0096 
0097     bool dirty; //The key re-generation is need.
0098     QByteArray formatKey;
0099 
0100     bool font_dirty;
0101     bool font_index_valid;
0102     QByteArray font_key;
0103     int font_index;
0104 
0105     bool fill_dirty;
0106     bool fill_index_valid;
0107     QByteArray fill_key;
0108     int fill_index;
0109 
0110     bool border_dirty;
0111     bool border_index_valid;
0112     QByteArray border_key;
0113     int border_index;
0114 
0115     int xf_index;
0116     bool xf_indexValid;
0117 
0118     bool is_dxf_fomat;
0119     int dxf_index;
0120     bool dxf_indexValid;
0121 
0122     int theme;
0123 
0124     QMap<int, QVariant> properties;
0125 };
0126 
0127 
0128 QT_END_NAMESPACE_XLSX
0129 
0130 #endif