Browse Source

Code refactor: Add prefix "XlsxFormat" to some internal class

master
Debao Zhang 11 years ago
parent
commit
b2c7e554b3
  1. 54
      src/xlsx/xlsxformat_p.h
  2. 2
      src/xlsx/xlsxsharedstrings.cpp
  3. 28
      src/xlsx/xlsxstyles.cpp
  4. 26
      src/xlsx/xlsxstyles_p.h

54
src/xlsx/xlsxformat_p.h

@ -28,9 +28,9 @@
namespace QXlsx {
struct NumberData
struct XlsxFormatNumberData
{
NumberData() : formatIndex(0), _valid(true) {}
XlsxFormatNumberData() : formatIndex(0), _valid(true) {}
int formatIndex;
QString formatString;
@ -38,9 +38,9 @@ struct NumberData
bool _valid;
};
struct FontData
struct XlsxFormatFontData
{
FontData() :
XlsxFormatFontData() :
size(11), italic(false), strikeOut(false), color(QColor()), bold(false)
, scirpt(Format::FontScriptNormal), underline(Format::FontUnderlineNone)
, outline(false), shadow(false), name(QStringLiteral("Calibri")), family(2), charset(0)
@ -76,9 +76,9 @@ struct FontData
<<outline<<scheme<<scirpt<<shadow
<<size<<strikeOut<<underline;
const_cast<FontData*>(this)->_key = key;
const_cast<FontData*>(this)->_dirty = false;
const_cast<FontData*>(this)->_indexValid = false;//dirty flag can not be simply cleared.
const_cast<XlsxFormatFontData*>(this)->_key = key;
const_cast<XlsxFormatFontData*>(this)->_dirty = false;
const_cast<XlsxFormatFontData*>(this)->_indexValid = false;//dirty flag can not be simply cleared.
}
return _key;
}
@ -108,9 +108,9 @@ private:
int _index; //index in the Font list
};
struct AlignmentData
struct XlsxFormatAlignmentData
{
AlignmentData() :
XlsxFormatAlignmentData() :
alignH(Format::AlignHGeneral), alignV(Format::AlignBottom)
, wrap(false), rotation(0), indent(0), shinkToFit(false)
{}
@ -123,9 +123,9 @@ struct AlignmentData
bool shinkToFit;
};
struct BorderData
struct XlsxFormatBorderData
{
BorderData() :
XlsxFormatBorderData() :
left(Format::BorderNone), right(Format::BorderNone), top(Format::BorderNone)
,bottom(Format::BorderNone), diagonal(Format::BorderNone)
,diagonalType(Format::DiagonalBorderNone)
@ -157,9 +157,9 @@ struct BorderData
stream << bottom << bottomColor << bottomThemeColor << top << topColor << topThemeColor
<< diagonal << diagonalColor << diagonalThemeColor << diagonalType
<< left << leftColor << leftThemeColor << right << rightColor << rightThemeColor;
const_cast<BorderData*>(this)->_key = key;
const_cast<BorderData*>(this)->_dirty = false;
const_cast<BorderData*>(this)->_indexValid = false;
const_cast<XlsxFormatBorderData*>(this)->_key = key;
const_cast<XlsxFormatBorderData*>(this)->_dirty = false;
const_cast<XlsxFormatBorderData*>(this)->_indexValid = false;
}
return _key;
}
@ -189,8 +189,8 @@ private:
int _index; //index in the border list
};
struct FillData {
FillData() :
struct XlsxFormatFillData {
XlsxFormatFillData() :
pattern(Format::PatternNone)
,_dirty(true), _indexValid(false), _index(-1)
{}
@ -209,9 +209,9 @@ struct FillData {
stream<< bgColor << bgThemeColor
<< fgColor << fgThemeColor
<< pattern;
const_cast<FillData*>(this)->_key = key;
const_cast<FillData*>(this)->_dirty = false;
const_cast<FillData*>(this)->_indexValid = false;
const_cast<XlsxFormatFillData*>(this)->_key = key;
const_cast<XlsxFormatFillData*>(this)->_dirty = false;
const_cast<XlsxFormatFillData*>(this)->_indexValid = false;
}
return _key;
}
@ -241,8 +241,8 @@ private:
int _index; //index in the border list
};
struct ProtectionData {
ProtectionData() :
struct XlsxFormatProtectionData {
XlsxFormatProtectionData() :
locked(false), hidden(false)
{}
@ -256,12 +256,12 @@ class FormatPrivate
public:
FormatPrivate(Format *p);
NumberData numberData;
FontData fontData;
AlignmentData alignmentData;
BorderData borderData;
FillData fillData;
ProtectionData protectionData;
XlsxFormatNumberData numberData;
XlsxFormatFontData fontData;
XlsxFormatAlignmentData alignmentData;
XlsxFormatBorderData borderData;
XlsxFormatFillData fillData;
XlsxFormatProtectionData protectionData;
bool dirty; //The key re-generation is need.
QByteArray formatKey;

2
src/xlsx/xlsxsharedstrings.cpp

@ -130,7 +130,7 @@ void SharedStrings::writeRichStringPart_rPr(XmlStreamWriter &writer, Format *for
if (!format)
return;
FontData *font = &format->d_ptr->fontData;
XlsxFormatFontData *font = &format->d_ptr->fontData;
if (font->bold)
writer.writeEmptyElement(QStringLiteral("b"));

28
src/xlsx/xlsxstyles.cpp

@ -48,7 +48,7 @@ Styles::Styles(bool createEmpty)
//Add default Format
addFormat(createFormat());
//Add another fill format
QSharedPointer<FillData> fill = QSharedPointer<FillData>(new FillData);
QSharedPointer<XlsxFormatFillData> fill = QSharedPointer<XlsxFormatFillData>(new XlsxFormatFillData);
fill->pattern = Format::PatternGray125;
m_fillsList.append(fill);
m_fillsHash[fill->key()] = fill;
@ -138,7 +138,7 @@ void Styles::addFormat(Format *format, bool force)
//Assign a new fmt Id.
format->setNumFmt(m_nextCustomNumFmtId, str);
QSharedPointer<NumberData> fmt(new NumberData(format->d_func()->numberData));
QSharedPointer<XlsxFormatNumberData> fmt(new XlsxFormatNumberData(format->d_func()->numberData));
m_customNumFmtIdMap.insert(m_nextCustomNumFmtId, fmt);
m_customNumFmtsHash.insert(str, fmt);
@ -149,7 +149,7 @@ void Styles::addFormat(Format *format, bool force)
//Font
if (!format->fontIndexValid()) {
if (!m_fontsHash.contains(format->fontKey())) {
QSharedPointer<FontData> font = QSharedPointer<FontData>(new FontData(format->d_func()->fontData));
QSharedPointer<XlsxFormatFontData> font = QSharedPointer<XlsxFormatFontData>(new XlsxFormatFontData(format->d_func()->fontData));
font->setIndex(m_fontsList.size()); //Assign proper index
m_fontsList.append(font);
m_fontsHash[font->key()] = font;
@ -160,7 +160,7 @@ void Styles::addFormat(Format *format, bool force)
//Fill
if (!format->fillIndexValid()) {
if (!m_fillsHash.contains(format->fillKey())) {
QSharedPointer<FillData> fill = QSharedPointer<FillData>(new FillData(format->d_func()->fillData));
QSharedPointer<XlsxFormatFillData> fill = QSharedPointer<XlsxFormatFillData>(new XlsxFormatFillData(format->d_func()->fillData));
fill->setIndex(m_fillsList.size()); //Assign proper index
m_fillsList.append(fill);
m_fillsHash[fill->key()] = fill;
@ -171,7 +171,7 @@ void Styles::addFormat(Format *format, bool force)
//Border
if (!format->borderIndexValid()) {
if (!m_bordersHash.contains(format->borderKey())) {
QSharedPointer<BorderData> border = QSharedPointer<BorderData>(new BorderData(format->d_func()->borderData));
QSharedPointer<XlsxFormatBorderData> border = QSharedPointer<XlsxFormatBorderData>(new XlsxFormatBorderData(format->d_func()->borderData));
border->setIndex(m_bordersList.size()); //Assign proper index
m_bordersList.append(border);
m_bordersHash[border->key()] = border;
@ -267,7 +267,7 @@ void Styles::writeNumFmts(XmlStreamWriter &writer)
writer.writeStartElement(QStringLiteral("numFmts"));
writer.writeAttribute(QStringLiteral("count"), QString::number(m_customNumFmtIdMap.count()));
QMapIterator<int, QSharedPointer<NumberData> > it(m_customNumFmtIdMap);
QMapIterator<int, QSharedPointer<XlsxFormatNumberData> > it(m_customNumFmtIdMap);
while(it.hasNext()) {
it.next();
writer.writeEmptyElement(QStringLiteral("numFmt"));
@ -285,7 +285,7 @@ void Styles::writeFonts(XmlStreamWriter &writer)
writer.writeStartElement(QStringLiteral("fonts"));
writer.writeAttribute(QStringLiteral("count"), QString::number(m_fontsList.count()));
for (int i=0; i<m_fontsList.size(); ++i) {
QSharedPointer<FontData> font = m_fontsList[i];
QSharedPointer<XlsxFormatFontData> font = m_fontsList[i];
writer.writeStartElement(QStringLiteral("font"));
if (font->bold)
@ -381,13 +381,13 @@ void Styles::writeFills(XmlStreamWriter &writer)
writer.writeAttribute(QStringLiteral("count"), QString::number(m_fillsList.size()));
for (int i=0; i<m_fillsList.size(); ++i) {
QSharedPointer<FillData> fill = m_fillsList[i];
QSharedPointer<XlsxFormatFillData> fill = m_fillsList[i];
writeFill(writer, fill.data());
}
writer.writeEndElement(); //fills
}
void Styles::writeFill(XmlStreamWriter &writer, FillData *fill)
void Styles::writeFill(XmlStreamWriter &writer, XlsxFormatFillData *fill)
{
static QMap<int, QString> patternStrings;
if (patternStrings.isEmpty()) {
@ -446,7 +446,7 @@ void Styles::writeBorders(XmlStreamWriter &writer)
writer.writeStartElement(QStringLiteral("borders"));
writer.writeAttribute(QStringLiteral("count"), QString::number(m_bordersList.count()));
for (int i=0; i<m_bordersList.size(); ++i) {
QSharedPointer<BorderData> border = m_bordersList[i];
QSharedPointer<XlsxFormatBorderData> border = m_bordersList[i];
writer.writeStartElement(QStringLiteral("border"));
if (border->diagonalType == Format::DiagonalBorderUp) {
@ -583,7 +583,7 @@ bool Styles::readNumFmts(XmlStreamReader &reader)
if (reader.name() != QLatin1String("numFmt"))
return false;
QXmlStreamAttributes attributes = reader.attributes();
QSharedPointer<NumberData> fmt (new NumberData);
QSharedPointer<XlsxFormatNumberData> fmt (new XlsxFormatNumberData);
fmt->formatIndex = attributes.value(QLatin1String("numFmtId")).toString().toInt();
fmt->formatString = attributes.value(QLatin1String("formatCode")).toString();
if (fmt->formatIndex >= m_nextCustomNumFmtId)
@ -606,7 +606,7 @@ bool Styles::readFonts(XmlStreamReader &reader)
reader.readNextStartElement();
if (reader.name() != QLatin1String("font"))
return false;
QSharedPointer<FontData> font(new FontData);
QSharedPointer<XlsxFormatFontData> font(new XlsxFormatFontData);
while((reader.readNextStartElement(),true)) { //read until font endelement.
if (reader.tokenType() == QXmlStreamReader::StartElement) {
if (reader.name() == QLatin1String("b")) {
@ -712,7 +712,7 @@ bool Styles::readFill(XmlStreamReader &reader)
patternValues[QStringLiteral("lightGrid")] = Format::PatternLightGrid;
}
QSharedPointer<FillData> fill(new FillData);
QSharedPointer<XlsxFormatFillData> fill(new XlsxFormatFillData);
while((reader.readNextStartElement(), true)) { //read until fill endelement
if (reader.tokenType() == QXmlStreamReader::StartElement) {
if (reader.name() == QLatin1String("patternFill")) {
@ -783,7 +783,7 @@ bool Styles::readBorders(XmlStreamReader &reader)
bool Styles::readBorder(XmlStreamReader &reader)
{
Q_ASSERT(reader.name() == QLatin1String("border"));
QSharedPointer<BorderData> border(new BorderData);
QSharedPointer<XlsxFormatBorderData> border(new XlsxFormatBorderData);
QXmlStreamAttributes attributes = reader.attributes();
bool isUp = attributes.hasAttribute(QLatin1String("diagonalUp"));

26
src/xlsx/xlsxstyles_p.h

@ -40,10 +40,10 @@ class StylesTest;
namespace QXlsx {
class Format;
struct NumberData;
struct FontData;
struct FillData;
struct BorderData;
struct XlsxFormatNumberData;
struct XlsxFormatFontData;
struct XlsxFormatFillData;
struct XlsxFormatBorderData;
class XmlStreamWriter;
class XmlStreamReader;
@ -68,7 +68,7 @@ private:
void writeNumFmts(XmlStreamWriter &writer);
void writeFonts(XmlStreamWriter &writer);
void writeFills(XmlStreamWriter &writer);
void writeFill(XmlStreamWriter &writer, FillData *fill);
void writeFill(XmlStreamWriter &writer, XlsxFormatFillData *fill);
void writeBorders(XmlStreamWriter &writer);
void writeSubBorder(XmlStreamWriter &writer, const QString &type, int style, const QColor &color, const QString &themeColor);
void writeCellXfs(XmlStreamWriter &writer);
@ -88,15 +88,15 @@ private:
QColor getColorByIndex(int idx);
QHash<QString, int> m_builtinNumFmtsHash;
QMap<int, QSharedPointer<NumberData> > m_customNumFmtIdMap;
QHash<QString, QSharedPointer<NumberData> > m_customNumFmtsHash;
QMap<int, QSharedPointer<XlsxFormatNumberData> > m_customNumFmtIdMap;
QHash<QString, QSharedPointer<XlsxFormatNumberData> > m_customNumFmtsHash;
int m_nextCustomNumFmtId;
QList<QSharedPointer<FontData> > m_fontsList; //Keep a copy of unique fonts
QList<QSharedPointer<FillData> > m_fillsList; //Keep a copy of unique fills
QList<QSharedPointer<BorderData> > m_bordersList; //Keep a copy of unique borders
QHash<QByteArray, QSharedPointer<FontData> > m_fontsHash;
QHash<QByteArray, QSharedPointer<FillData> > m_fillsHash;
QHash<QByteArray, QSharedPointer<BorderData> > m_bordersHash;
QList<QSharedPointer<XlsxFormatFontData> > m_fontsList; //Keep a copy of unique fonts
QList<QSharedPointer<XlsxFormatFillData> > m_fillsList; //Keep a copy of unique fills
QList<QSharedPointer<XlsxFormatBorderData> > m_bordersList; //Keep a copy of unique borders
QHash<QByteArray, QSharedPointer<XlsxFormatFontData> > m_fontsHash;
QHash<QByteArray, QSharedPointer<XlsxFormatFillData> > m_fillsHash;
QHash<QByteArray, QSharedPointer<XlsxFormatBorderData> > m_bordersHash;
QVector<QColor> m_indexedColors;

Loading…
Cancel
Save