256 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			256 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | // xlsxformat.h
 | ||
|  | 
 | ||
|  | #ifndef QXLSX_FORMAT_H
 | ||
|  | #define QXLSX_FORMAT_H
 | ||
|  | 
 | ||
|  | #include "xlsxglobal.h"
 | ||
|  | 
 | ||
|  | #include <QByteArray>
 | ||
|  | #include <QColor>
 | ||
|  | #include <QExplicitlySharedDataPointer>
 | ||
|  | #include <QFont>
 | ||
|  | #include <QList>
 | ||
|  | #include <QVariant>
 | ||
|  | 
 | ||
|  | class FormatTest; | ||
|  | 
 | ||
|  | QT_BEGIN_NAMESPACE_XLSX | ||
|  | 
 | ||
|  | class Styles; | ||
|  | class Worksheet; | ||
|  | class WorksheetPrivate; | ||
|  | class RichStringPrivate; | ||
|  | class SharedStrings; | ||
|  | 
 | ||
|  | class FormatPrivate; | ||
|  | 
 | ||
|  | class QXLSX_EXPORT Format | ||
|  | { | ||
|  | public: | ||
|  |     enum FontScript { FontScriptNormal, FontScriptSuper, FontScriptSub }; | ||
|  | 
 | ||
|  |     enum FontUnderline { | ||
|  |         FontUnderlineNone, | ||
|  |         FontUnderlineSingle, | ||
|  |         FontUnderlineDouble, | ||
|  |         FontUnderlineSingleAccounting, | ||
|  |         FontUnderlineDoubleAccounting | ||
|  |     }; | ||
|  | 
 | ||
|  |     enum HorizontalAlignment { | ||
|  |         AlignHGeneral, | ||
|  |         AlignLeft, | ||
|  |         AlignHCenter, | ||
|  |         AlignRight, | ||
|  |         AlignHFill, | ||
|  |         AlignHJustify, | ||
|  |         AlignHMerge, | ||
|  |         AlignHDistributed | ||
|  |     }; | ||
|  | 
 | ||
|  |     enum VerticalAlignment { | ||
|  |         AlignTop, | ||
|  |         AlignVCenter, | ||
|  |         AlignBottom, | ||
|  |         AlignVJustify, | ||
|  |         AlignVDistributed | ||
|  |     }; | ||
|  | 
 | ||
|  |     enum BorderStyle { | ||
|  |         BorderNone, | ||
|  |         BorderThin, | ||
|  |         BorderMedium, | ||
|  |         BorderDashed, | ||
|  |         BorderDotted, | ||
|  |         BorderThick, | ||
|  |         BorderDouble, | ||
|  |         BorderHair, | ||
|  |         BorderMediumDashed, | ||
|  |         BorderDashDot, | ||
|  |         BorderMediumDashDot, | ||
|  |         BorderDashDotDot, | ||
|  |         BorderMediumDashDotDot, | ||
|  |         BorderSlantDashDot | ||
|  |     }; | ||
|  | 
 | ||
|  |     enum DiagonalBorderType { | ||
|  |         DiagonalBorderNone, | ||
|  |         DiagonalBorderDown, | ||
|  |         DiagonalBorderUp, | ||
|  |         DiagnoalBorderBoth | ||
|  |     }; | ||
|  | 
 | ||
|  |     enum FillPattern { | ||
|  |         PatternNone, | ||
|  |         PatternSolid, | ||
|  |         PatternMediumGray, | ||
|  |         PatternDarkGray, | ||
|  |         PatternLightGray, | ||
|  |         PatternDarkHorizontal, | ||
|  |         PatternDarkVertical, | ||
|  |         PatternDarkDown, | ||
|  |         PatternDarkUp, | ||
|  |         PatternDarkGrid, | ||
|  |         PatternDarkTrellis, | ||
|  |         PatternLightHorizontal, | ||
|  |         PatternLightVertical, | ||
|  |         PatternLightDown, | ||
|  |         PatternLightUp, | ||
|  |         PatternLightTrellis, | ||
|  |         PatternGray125, | ||
|  |         PatternGray0625, | ||
|  |         PatternLightGrid | ||
|  |     }; | ||
|  | 
 | ||
|  |     Format(); | ||
|  |     Format(const Format &other); | ||
|  |     Format &operator=(const Format &rhs); | ||
|  |     ~Format(); | ||
|  | 
 | ||
|  |     int numberFormatIndex() const; | ||
|  |     void setNumberFormatIndex(int format); | ||
|  |     QString numberFormat() const; | ||
|  |     void setNumberFormat(const QString &format); | ||
|  |     void setNumberFormat(int id, const QString &format); | ||
|  |     bool isDateTimeFormat() const; | ||
|  | 
 | ||
|  |     int fontSize() const; | ||
|  |     void setFontSize(int size); | ||
|  |     bool fontItalic() const; | ||
|  |     void setFontItalic(bool italic); | ||
|  |     bool fontStrikeOut() const; | ||
|  |     void setFontStrikeOut(bool); | ||
|  |     QColor fontColor() const; | ||
|  |     void setFontColor(const QColor &); | ||
|  |     bool fontBold() const; | ||
|  |     void setFontBold(bool bold); | ||
|  |     FontScript fontScript() const; | ||
|  |     void setFontScript(FontScript); | ||
|  |     FontUnderline fontUnderline() const; | ||
|  |     void setFontUnderline(FontUnderline); | ||
|  |     bool fontOutline() const; | ||
|  |     void setFontOutline(bool outline); | ||
|  |     QString fontName() const; | ||
|  |     void setFontName(const QString &); | ||
|  |     QFont font() const; | ||
|  |     void setFont(const QFont &font); | ||
|  | 
 | ||
|  |     HorizontalAlignment horizontalAlignment() const; | ||
|  |     void setHorizontalAlignment(HorizontalAlignment align); | ||
|  |     VerticalAlignment verticalAlignment() const; | ||
|  |     void setVerticalAlignment(VerticalAlignment align); | ||
|  |     bool textWrap() const; | ||
|  |     void setTextWrap(bool textWrap); | ||
|  |     int rotation() const; | ||
|  |     void setRotation(int rotation); | ||
|  |     int indent() const; | ||
|  |     void setIndent(int indent); | ||
|  |     bool shrinkToFit() const; | ||
|  |     void setShrinkToFit(bool shink); | ||
|  | 
 | ||
|  |     void setBorderStyle(BorderStyle style); | ||
|  |     void setBorderColor(const QColor &color); | ||
|  |     BorderStyle leftBorderStyle() const; | ||
|  |     void setLeftBorderStyle(BorderStyle style); | ||
|  |     QColor leftBorderColor() const; | ||
|  |     void setLeftBorderColor(const QColor &color); | ||
|  |     BorderStyle rightBorderStyle() const; | ||
|  |     void setRightBorderStyle(BorderStyle style); | ||
|  |     QColor rightBorderColor() const; | ||
|  |     void setRightBorderColor(const QColor &color); | ||
|  |     BorderStyle topBorderStyle() const; | ||
|  |     void setTopBorderStyle(BorderStyle style); | ||
|  |     QColor topBorderColor() const; | ||
|  |     void setTopBorderColor(const QColor &color); | ||
|  |     BorderStyle bottomBorderStyle() const; | ||
|  |     void setBottomBorderStyle(BorderStyle style); | ||
|  |     QColor bottomBorderColor() const; | ||
|  |     void setBottomBorderColor(const QColor &color); | ||
|  |     BorderStyle diagonalBorderStyle() const; | ||
|  |     void setDiagonalBorderStyle(BorderStyle style); | ||
|  |     DiagonalBorderType diagonalBorderType() const; | ||
|  |     void setDiagonalBorderType(DiagonalBorderType style); | ||
|  |     QColor diagonalBorderColor() const; | ||
|  |     void setDiagonalBorderColor(const QColor &color); | ||
|  | 
 | ||
|  |     FillPattern fillPattern() const; | ||
|  |     void setFillPattern(FillPattern pattern); | ||
|  |     QColor patternForegroundColor() const; | ||
|  |     void setPatternForegroundColor(const QColor &color); | ||
|  |     QColor patternBackgroundColor() const; | ||
|  |     void setPatternBackgroundColor(const QColor &color); | ||
|  | 
 | ||
|  |     bool locked() const; | ||
|  |     void setLocked(bool locked); | ||
|  |     bool hidden() const; | ||
|  |     void setHidden(bool hidden); | ||
|  | 
 | ||
|  |     void mergeFormat(const Format &modifier); | ||
|  |     bool isValid() const; | ||
|  |     bool isEmpty() const; | ||
|  | 
 | ||
|  |     bool operator==(const Format &format) const; | ||
|  |     bool operator!=(const Format &format) const; | ||
|  | 
 | ||
|  |     QVariant property(int propertyId, const QVariant &defaultValue = QVariant()) const; | ||
|  |     void setProperty(int propertyId, | ||
|  |                      const QVariant &value, | ||
|  |                      const QVariant &clearValue = QVariant(), | ||
|  |                      bool detach                = true); | ||
|  |     void clearProperty(int propertyId); | ||
|  |     bool hasProperty(int propertyId) const; | ||
|  | 
 | ||
|  |     bool boolProperty(int propertyId, bool defaultValue = false) const; | ||
|  |     int intProperty(int propertyId, int defaultValue = 0) const; | ||
|  |     double doubleProperty(int propertyId, double defaultValue = 0.0) const; | ||
|  |     QString stringProperty(int propertyId, const QString &defaultValue = QString()) const; | ||
|  |     QColor colorProperty(int propertyId, const QColor &defaultValue = QColor()) const; | ||
|  | 
 | ||
|  |     bool hasNumFmtData() const; | ||
|  |     bool hasFontData() const; | ||
|  |     bool hasFillData() const; | ||
|  |     bool hasBorderData() const; | ||
|  |     bool hasAlignmentData() const; | ||
|  |     bool hasProtectionData() const; | ||
|  | 
 | ||
|  |     bool fontIndexValid() const; | ||
|  |     int fontIndex() const; | ||
|  |     QByteArray fontKey() const; | ||
|  |     bool borderIndexValid() const; | ||
|  |     QByteArray borderKey() const; | ||
|  |     int borderIndex() const; | ||
|  |     bool fillIndexValid() const; | ||
|  |     QByteArray fillKey() const; | ||
|  |     int fillIndex() const; | ||
|  | 
 | ||
|  |     QByteArray formatKey() const; | ||
|  |     bool xfIndexValid() const; | ||
|  |     int xfIndex() const; | ||
|  |     bool dxfIndexValid() const; | ||
|  |     int dxfIndex() const; | ||
|  | 
 | ||
|  |     void fixNumberFormat(int id, const QString &format); | ||
|  |     void setFontIndex(int index); | ||
|  |     void setBorderIndex(int index); | ||
|  |     void setFillIndex(int index); | ||
|  |     void setXfIndex(int index); | ||
|  |     void setDxfIndex(int index); | ||
|  | 
 | ||
|  | private: | ||
|  |     friend class Styles; | ||
|  |     friend class ::FormatTest; | ||
|  |     friend QDebug operator<<(QDebug, const Format &f); | ||
|  | 
 | ||
|  |     int theme() const; | ||
|  | 
 | ||
|  |     QExplicitlySharedDataPointer<FormatPrivate> d; | ||
|  | }; | ||
|  | 
 | ||
|  | #ifndef QT_NO_DEBUG_STREAM
 | ||
|  | QDebug operator<<(QDebug dbg, const Format &f); | ||
|  | #endif
 | ||
|  | 
 | ||
|  | QT_END_NAMESPACE_XLSX | ||
|  | 
 | ||
|  | #endif // QXLSX_FORMAT_H
 |