Commit 9c9e1148 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

XlsFormat - правка по результатм тестирования + небольшое изменение для оптимизации

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@68528 954022d7-b5bf-4e40-9824-e11837661b57
parent e0719ab4
......@@ -28,7 +28,7 @@ public:
LongRGB rgbFore;
LongRGB rgbBack;
BIFF_WORD fls;
_UINT16 fls;
bool fAuto;
bool fInvertNeg;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeAutoFilter;
BIFF_WORD iEntry;
_UINT16 iEntry;
BIFF_BYTE wJoin;
......@@ -34,7 +34,7 @@ public:
bool fPercent;
BIFF_BYTE fTop;
BIFF_WORD wTopN;
_UINT16 wTopN;
AFDOper doper1;
AFDOper doper2;
......
......@@ -28,7 +28,7 @@ public:
static const ElementType type = typeAutoFilter12;
FrtRefHeader frtRefHeader;
BIFF_WORD iEntry;
_UINT16 iEntry;
BIFF_DWORD fHideArrow;
BIFF_DWORD ft;
BIFF_DWORD cft;
......
......@@ -22,7 +22,7 @@ class AutoFilterInfo: public BiffRecord
void writeFields(CFRecord& record);
void readFields(CFRecord& record);
//-----------------------------
BIFF_WORD cEntries;
_UINT16 cEntries;
};
......
......@@ -25,14 +25,14 @@ public:
int serialize(std::wostream & _stream);
//-----------------------------
BIFF_WORD catMin;
BIFF_WORD catMax;
BIFF_WORD catMajor;
BIFF_WORD duMajor;
BIFF_WORD catMinor;
BIFF_WORD duMinor;
BIFF_WORD duBase;
BIFF_WORD catCrossDate;
_UINT16 catMin;
_UINT16 catMax;
_UINT16 catMajor;
_UINT16 duMajor;
_UINT16 catMinor;
_UINT16 duMinor;
_UINT16 duBase;
_UINT16 catCrossDate;
bool fAutoMin;
bool fAutoMax;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeAxesUsed;
//-----------------------------
BIFF_WORD cAxes;
_UINT16 cAxes;
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeAxis;
//-----------------------------
BIFF_WORD wType;
_UINT16 wType;
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeAxisLine;
//-----------------------------
BIFF_WORD id;
_UINT16 id;
};
} // namespace XLS
......
......@@ -38,10 +38,10 @@ public:
//-----------------------------
BIFF_WORD vers;
BIFF_WORD dt;
BIFF_WORD rupBuild;
BIFF_WORD rupYear;
_UINT16 vers;
_UINT16 dt;
_UINT16 rupBuild;
_UINT16 rupYear;
bool fWin;
bool fRisc;
......@@ -54,7 +54,7 @@ public:
bool fGlJmp;
bool fFontLimit;
BIFF_WORD verXLHigh;
_UINT16 verXLHigh;
BIFF_BYTE verLowestBiff;
BIFF_BYTE verLastXLSaved;
......
......@@ -24,8 +24,8 @@ public:
int serialize(std::wostream & _stream);
BIFF_SHORT pcOverlap;
BIFF_WORD pcGap;
_INT16 pcOverlap;
_UINT16 pcGap;
bool fTranspose;
bool fStacked;
......
......@@ -22,8 +22,6 @@ public:
static const ElementType type = typeBigName;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -49,7 +49,7 @@ int Blank::serialize(std::wostream & stream)
CP_XML_ATTR(L"r", ref);
int st = (int)cell.ixfe - global_info_->cellStyleXfs_count;
if ((cell.ixfe.value()) && (cell.ixfe > global_info_->cellStyleXfs_count))
if (cell.ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -49,9 +49,9 @@ int BoolErr::serialize(std::wostream & stream)
{
CP_XML_ATTR(L"r", ref);
if (cell.ixfe.value())
if (cell.ixfe - global_info_->cellStyleXfs_count > 0)
{
CP_XML_ATTR(L"s", *cell.ixfe.value() - global_info_->cellStyleXfs_count);
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
}
}
......
......@@ -27,11 +27,11 @@ public:
//-----------------------------
BIFF_BYTE pst;
Boolean<unsigned char> fAutoSplit;
BIFF_WORD split;
BIFF_SHORT iSplitPos;
BIFF_SHORT pcSplitPercent;
BIFF_SHORT pcPie2Size;
BIFF_SHORT pcGap;
_UINT16 split;
_INT16 iSplitPos;
_INT16 pcSplitPercent;
_INT16 pcPie2Size;
_INT16 pcGap;
BIFF_DOUBLE numSplitValue;
bool fHasShadow;
......
......@@ -24,7 +24,7 @@ public:
//-----------------------------
BIFF_WORD count;
_UINT16 count;
};
} // namespace XLS
......
......@@ -40,8 +40,8 @@ public:
CFParsedFormulaNoCCE rgce2;
CFParsedFormula fmlaActive;
BIFF_WORD ipriority;
BIFF_WORD icfTemplate;
_UINT16 ipriority;
_UINT16 icfTemplate;
CFExTemplateParams rgbTemplateParms;
BiffStructurePtr rgbCT;
......
......@@ -28,19 +28,8 @@ public:
//-----------------------------
FrtRefHeaderU frtRefHeaderU;
Boolean<unsigned int> fIsCF12;
BIFF_WORD nID;
_UINT16 nID;
CFExNonCF12 rgbContent;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_COMPLEX(frtRefHeaderU)
//BO_ATTRIB_MARKUP_ATTRIB(fIsCF12)
//BO_ATTRIB_MARKUP_ATTRIB(nID)
//if(!fIsCF12)
//{
// //BO_ATTRIB_MARKUP_COMPLEX(rgbContent)
//}
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -26,7 +26,7 @@ public:
//-----------------------------
BIFF_BYTE colLast;
BIFF_BYTE colFirst;
BIFF_WORD row;
_UINT16 row;
BiffStructurePtrVector crnOper;
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeCalcCount;
//-----------------------------
BIFF_SHORT cIter;
_INT16 cIter;
};
} // namespace XLS
......
......@@ -23,8 +23,8 @@ public:
static const ElementType type = typeCatLab;
//-----------------------------
BIFF_WORD wOffset;
BIFF_WORD at;
_UINT16 wOffset;
_UINT16 at;
bool cAutoCatLabelReal;
};
......
......@@ -23,9 +23,9 @@ public:
static const ElementType type = typeCatSerRange;
//-----------------------------
BIFF_SHORT catCross;
BIFF_SHORT catLabel;
BIFF_SHORT catMark;
_INT16 catCross;
_INT16 catLabel;
_INT16 catMark;
bool fBetween;
bool fMaxCross;
......
......@@ -23,12 +23,12 @@ public:
static const ElementType type = typeChart3d;
//-----------------------------
BIFF_SHORT anRot;
BIFF_SHORT anElev;
BIFF_SHORT pcDist;
BIFF_DWORD pcHeight;
BIFF_SHORT pcDepth;
BIFF_WORD pcGap;
_INT16 anRot;
_INT16 anElev;
_INT16 pcDist;
_UINT32 pcHeight;
_INT16 pcDepth;
_UINT16 pcGap;
bool fPerspective;
bool fCluster;
......
......@@ -25,7 +25,7 @@ public:
int serialize(std::wostream & _stream);
//-----------------------------
bool fVaried;
BIFF_WORD icrt;
_UINT16 icrt;
};
} // namespace XLS
......
......@@ -20,7 +20,7 @@ public:
void writeFields(CFRecord& record);
void readFields(CFRecord& record);
//-----------------------------
BIFF_WORD cv;
_UINT16 cv;
};
......
......@@ -38,12 +38,14 @@ void ColInfo::readFields(CFRecord& record)
{
unsigned short flags;
record >> colFirst >> colLast >> coldx >> ixfe >> flags;
fHidden = GETBIT(flags, 0);
fUserSet = GETBIT(flags, 1);
fBestFit = GETBIT(flags, 2);
fPhonetic = GETBIT(flags, 3);
iOutLevel = GETBITS(flags, 8, 10);
fCollapsed = GETBIT(flags, 12);
fHidden = GETBIT(flags, 0);
fUserSet = GETBIT(flags, 1);
fBestFit = GETBIT(flags, 2);
fPhonetic = GETBIT(flags, 3);
iOutLevel = GETBITS(flags, 8, 10);
fCollapsed = GETBIT(flags, 12);
record.skipNunBytes(2); // unused
}
......
......@@ -23,9 +23,9 @@ public:
static const ElementType type = typeColInfo;
//-----------------------------
Col256U colFirst;
Col256U colLast;
BIFF_WORD coldx;
_UINT16 colFirst;
_UINT16 colLast;
_UINT16 coldx;
IXFCell ixfe;
bool fHidden;
......
......@@ -26,9 +26,9 @@ public:
const CellRef getLocation() const;
//-----------------------------
BIFF_WORD ccf;
_UINT16 ccf;
bool fToughRecalc;
BIFF_WORD nID;
_UINT16 nID;
SqRefU sqref;
BIFF_BSTR refBound;
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeContinueBigName;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeContinueFrt;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,8 +22,8 @@ public:
static const ElementType type = typeCountry;
BIFF_WORD iCountryDef;
BIFF_WORD iCountryWinIni;
_UINT16 iCountryDef;
_UINT16 iCountryWinIni;
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeCrErr;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeCrtLayout12A;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -24,7 +24,7 @@ public:
int serialize(std::wostream & _stream);
BIFF_WORD id;
_UINT16 id;
BaseObjectPtr m_LineFormat;
//-----------------------------
......
......@@ -22,14 +22,6 @@ public:
static const ElementType type = typeCrtMlFrtContinue;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeDBQueryExt;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,7 +22,6 @@ public:
static const ElementType type = typeDCon;
//-----------------------------
// BIFF_WORD userName;
unsigned short iiftab;
unsigned short fLeftCat;
unsigned short fTopCat;
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeDConBin;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeDConName;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeDConRef;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeDConn;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,9 +22,9 @@ public:
static const ElementType type = typeDataFormat;
BIFF_WORD xi;
BIFF_WORD yi;
BIFF_WORD iss;
_UINT16 xi;
_UINT16 yi;
_UINT16 iss;
bool fUnknown;
};
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeDbOrParamQry;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeDefColWidth;
//-----------------------------
BIFF_WORD cchdefColWidth;
_UINT16 cchdefColWidth;
};
} // namespace XLS
......
......@@ -6,6 +6,7 @@ namespace XLS
DefaultRowHeight::DefaultRowHeight()
{
miyRw = -1;
}
......@@ -27,15 +28,10 @@ void DefaultRowHeight::writeFields(CFRecord& record)
SETBIT(flags, 1, fDyZero);
SETBIT(flags, 2, fExAsc);
SETBIT(flags, 3, fExDsc);
record << flags;
if(!fDyZero)
{
record << miyRw;
}
else
{
record << miyRwHidden;
}
record << miyRw;
}
......@@ -51,16 +47,10 @@ void DefaultRowHeight::readFields(CFRecord& record)
fExAsc = GETBIT(flags, 2);
fExDsc = GETBIT(flags, 3);
if(!fDyZero)
{
record >> miyRw;
global_info->defaultRowHeight = miyRw / 20.;
}
else
{
record >> miyRwHidden;
global_info->defaultRowHeight = miyRwHidden / 20.;
}
record >> miyRw;
global_info->defaultRowHeight = miyRw / 20.;
}
} // namespace XLS
......
......@@ -28,8 +28,7 @@ public:
bool fExAsc;
bool fExDsc;
BIFF_SHORT miyRw; // measured in twips (1/20 of of a printer's point)
BIFF_SHORT miyRwHidden;
_INT16 miyRw; // measured in twips (1/20 of of a printer's point)
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeDefaultText;
//-----------------------------
BIFF_WORD id;
_UINT16 id;
};
......
......@@ -46,11 +46,12 @@ void Dimensions::writeFields(CFRecord& record)
void Dimensions::readFields(CFRecord& record)
{
record >> rwMic >> rwMac >> colMic >> colMac;
record.skipNunBytes(2); // reserved
if(rwMac.value() && colMac.value())
if(rwMac >= 0 && colMac >= 0)
{
ref_ = static_cast<std::wstring >(CellRangeRef(CellRef(*rwMic.value(), *colMic.value(), true, true), CellRef(*rwMac.value() - 1, *colMac.value() - 1, true, true)).toString(false).c_str());
ref_ = static_cast<std::wstring >(CellRangeRef(CellRef(rwMic, colMic, true, true), CellRef(rwMac - 1, colMac - 1, true, true)).toString(false).c_str());
}
else
{
......
......@@ -26,10 +26,10 @@ public:
std::wstring ref_;
//-----------------------------
RwLongU rwMic;
BIFF_DWORD rwMac;
ColU colMic;
BIFF_WORD colMac;
_UINT32 rwMic;
_UINT32 rwMac;
_UINT16 colMic;
_UINT16 colMac;
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeDocRoute;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,7 +22,7 @@ public:
static const ElementType type = typeDropBar;
BIFF_SHORT pcGap;
_INT16 pcGap;
};
} // namespace XLS
......
......@@ -23,12 +23,7 @@ public:
static const ElementType type = typeDxGCol;
//-----------------------------
BIFF_WORD dxgCol;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(dxgCol)
//BO_ATTRIB_MARKUP_END
_UINT16 dxgCol;
};
} // namespace XLS
......
......@@ -23,11 +23,7 @@ public:
static const ElementType type = typeEndObject;
//-----------------------------
BIFF_WORD iObjectKind;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(iObjectKind)
//BO_ATTRIB_MARKUP_END
_UINT16 iObjectKind;
};
......
......@@ -24,7 +24,7 @@ public:
static const ElementType type = typeExtSST;
//-----------------------------
BIFF_WORD dsst;
_UINT16 dsst;
BiffStructurePtrVector rgISSTInf;
BackwardOnlyParam<_UINT32> num_sets;
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeExtString;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -33,35 +33,25 @@ public:
bool fWantPict;
bool fOle;
bool fOleLink;
BIFF_WORD cf;
_UINT16 cf;
bool fIcon;
BiffStructurePtr body;
//-----------------------------
BIFF_WORD supbook_cch;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(fBuiltIn)
//BO_ATTRIB_MARKUP_ATTRIB(fWantAdvise)
//BO_ATTRIB_MARKUP_ATTRIB(fWantPict)
//BO_ATTRIB_MARKUP_ATTRIB(fOle)
//BO_ATTRIB_MARKUP_ATTRIB(fOleLink)
//BO_ATTRIB_MARKUP_ATTRIB(cf)
//BO_ATTRIB_MARKUP_ATTRIB(fIcon)
//if(0x3A01 == supbook_cch)
//{
// if(!body)
// {
// body = BiffStructurePtr(new AddinUdf);
// }
// //BO_ATTRIB_MARKUP_COMPLEX(*body)
//}
//else
//{
// throw;// EXCEPT::LE::NotImplemented(__FUNCTION__);
//}
//BO_ATTRIB_MARKUP_END
_UINT16 supbook_cch;
//if(0x3A01 == supbook_cch)
//{
// if(!body)
// {
// body = BiffStructurePtr(new AddinUdf);
// }
// //BO_ATTRIB_MARKUP_COMPLEX(*body)
//}
//else
//{
// throw;// EXCEPT::LE::NotImplemented(__FUNCTION__);
//}
};
......
......@@ -24,10 +24,10 @@ public:
static const ElementType type = typeFbi;
//-----------------------------
BIFF_WORD dmixBasis;
BIFF_WORD dmiyBasis;
BIFF_WORD twpHeightBasis;
BIFF_WORD scab;
_UINT16 dmixBasis;
_UINT16 dmiyBasis;
_UINT16 twpHeightBasis;
_UINT16 scab;
FontIndex ifnt;
......
......@@ -28,7 +28,7 @@ public:
//-----------------------------
SharedFeatureType isf;
BIFF_WORD cref;
_UINT16 cref;
BIFF_DWORD cbFeatData;
BiffStructurePtrVector refs;
BIFF_BSTR sqref;
......@@ -38,12 +38,6 @@ public:
FeatSmartTag smart_tag;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(isf)
//BO_ATTRIB_MARKUP_ATTRIB(cref)
//BO_ATTRIB_MARKUP_ATTRIB(sqref)
//BO_ATTRIB_MARKUP_ATTRIB(cbFeatData)
//BO_ATTRIB_MARKUP_VECTOR_COMPLEX(refs, Ref8U)
//switch(isf)
//{
// case SharedFeatureType::ISFPROTECTION:
......@@ -57,9 +51,6 @@ public:
// break;
//}
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -28,26 +28,14 @@ public:
public:
FrtRefHeaderU frtRefHeaderU;
BIFF_WORD isf;
BIFF_WORD cref2;
BIFF_DWORD cbFeatData;
BiffStructurePtrVector refs2;
BIFF_BSTR sqref;
FrtRefHeaderU frtRefHeaderU;
_UINT16 isf;
_UINT16 cref2;
_UINT32 cbFeatData;
BiffStructurePtrVector refs2;
BIFF_BSTR sqref;
TableFeatureType rgbFeat;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_COMPLEX(frtRefHeaderU)
//BO_ATTRIB_MARKUP_ATTRIB(isf)
//BO_ATTRIB_MARKUP_ATTRIB(cref2)
//BO_ATTRIB_MARKUP_ATTRIB(cbFeatData)
//BO_ATTRIB_MARKUP_ATTRIB(sqref)
//BO_ATTRIB_MARKUP_VECTOR_COMPLEX(refs2, Ref8U)
//BO_ATTRIB_MARKUP_COMPLEX(rgbFeat)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -29,12 +29,11 @@ public:
//-----------------------------
Boolean<unsigned short> wEncryptionType;
XORObfuscation key;
BIFF_WORD majorVer;
_UINT16 majorVer;
CRYPTO::RC4EncryptionHeader rc4Header;
CRYPTO::RC4CryptoAPIEncryptionHeader rc4CryptoAPIHeader;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(wEncryptionType)
//if(!wEncryptionType)
//{
......@@ -49,7 +48,6 @@ public:
// //BO_ATTRIB_MARKUP_COMPLEX(rc4CryptoAPIHeader)
//}
//BO_ATTRIB_MARKUP_END
};
......
......@@ -27,21 +27,8 @@ public:
Boolean<unsigned short> fReadOnlyRec;
unsigned short wResPassNum;
BIFF_BSTR wResPass;
BIFF_WORD iNoResPass;
_UINT16 iNoResPass;
XLUnicodeString stUNUsername;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(fReadOnlyRec)
//BO_ATTRIB_MARKUP_ATTRIB(wResPass)
//if(!wResPassNum)
//{
// //BO_ATTRIB_MARKUP_ATTRIB(iNoResPass)
//}
//else
//{
// //BO_ATTRIB_MARKUP_ATTRIB(stUNUsername)
//}
//BO_ATTRIB_MARKUP_END
};
......
......@@ -83,12 +83,12 @@ int Font::serialize_rPr(std::wostream & stream, bool rtl, bool defRPr, std::wstr
CP_XML_NODE(strRpr)
{
if (dyHeight.value())
if (dyHeight > 0)
{
CP_XML_ATTR(L"sz", (int)(dyHeight/20. * 100));
}
if ((bls.value()) && (*bls.value() == 700))
if (bls == 700)
{
CP_XML_ATTR(L"b", true);
}
......@@ -125,7 +125,7 @@ int Font::serialize_rPr(std::wostream & stream, bool rtl, bool defRPr, std::wstr
// CP_XML_ATTR(L"val", fExtend);
// }
// }
if (((icv.value()) && (icv < 0x7fff)) || color_ext.enabled )
if ( (icv < 0x7fff) || color_ext.enabled )
{
if (color_ext.enabled )
{
......@@ -269,7 +269,7 @@ int Font::serialize_properties(std::wostream & stream, bool isRPr)
{
CP_XML_WRITER(stream)
{
if ((bls.value()) && (*bls.value() == 700))
if ( bls== 700)
{
CP_XML_NODE(L"b")
{
......@@ -285,7 +285,7 @@ int Font::serialize_properties(std::wostream & stream, bool isRPr)
}
}
if (((icv.value()) && (icv < 0x7fff)) || color_ext.enabled )
if (icv < 0x7fff || color_ext.enabled )
{
CP_XML_NODE(L"color")
{
......@@ -395,7 +395,7 @@ int Font::serialize_properties(std::wostream & stream, bool isRPr)
}
}
if ((dyHeight.value()) && (dyHeight > 0))
if (dyHeight > 0)
{
CP_XML_NODE(L"sz")
{
......@@ -418,11 +418,11 @@ int Font::serialize_properties(std::wostream & stream, bool isRPr)
}
}
if ((sss.value()) && (*sss.value() > 0))
if (sss > 0)
{
CP_XML_NODE(L"vertAlign")
{
switch(*sss.value())
switch(sss)
{
case 1: CP_XML_ATTR(L"val", L"superscript");break;
case 2: CP_XML_ATTR(L"val", L"subscript");break;
......
......@@ -33,7 +33,7 @@ public:
GlobalWorkbookInfoPtr global_info;
//-----------------------------
BIFF_WORD dyHeight; // measured in twips (1/20 of of a printer's point)
_UINT16 dyHeight; // measured in twips (1/20 of of a printer's point)
bool fItalic;
bool fStrikeOut;
......@@ -42,9 +42,9 @@ public:
bool fCondense;
bool fExtend;
BIFF_WORD icv;
BIFF_WORD bls;
BIFF_WORD sss;
_UINT16 icv;
_UINT16 bls;
_UINT16 sss;
BIFF_BYTE uls;
BIFF_BYTE bFamily;
BIFF_BYTE bCharSet;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeFontX;
//-----------------------------
BIFF_WORD iFont;
_UINT16 iFont;
};
......
......@@ -25,7 +25,7 @@ public:
int serialize(std::wostream & stream);
//-----------------------------
BIFF_WORD ifmt;
_UINT16 ifmt;
XLUnicodeString stFormat;
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeFrame;
//-----------------------------
BIFF_WORD frt;
_UINT16 frt;
bool fAutoSize;
bool fAutoPosition;
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeFrtFontList;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -23,8 +23,8 @@ public:
static const ElementType type = typeGuts;
//-----------------------------
BIFF_WORD iLevelRwMac;
BIFF_WORD iLevelColMac;
_UINT16 iLevelRwMac;
_UINT16 iLevelColMac;
};
......
......@@ -30,10 +30,10 @@ public:
bool fHFScaleWithDoc;
bool fHFAlignMargins;
BIFF_WORD cchHeaderEven;
BIFF_WORD cchFooterEven;
BIFF_WORD cchHeaderFirst;
BIFF_WORD cchFooterFirst;
_UINT16 cchHeaderEven;
_UINT16 cchFooterEven;
_UINT16 cchHeaderFirst;
_UINT16 cchFooterFirst;
XLUnicodeString strHeaderEven;
XLUnicodeString strFooterEven;
......
......@@ -25,13 +25,8 @@ public:
//-----------------------------
BIFF_WORD cbrk;
_UINT16 cbrk;
BiffStructurePtrVector rgbrk;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(cbrk)
//BO_ATTRIB_MARKUP_VECTOR_COMPLEX(rgbrk, HorzBrk)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeIFmtRecord;
//-----------------------------
BIFF_WORD ifmt;
_UINT16 ifmt;
};
} // namespace XLS
......
......@@ -21,7 +21,7 @@ public:
void writeFields(CFRecord& record);
void readFields(CFRecord& record);
//-----------------------------
BIFF_WORD codePage;
_UINT16 codePage;
};
} // namespace XLS
......@@ -21,15 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeIntl;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -24,18 +24,10 @@ public:
static const ElementType type = typeLRng;
//-----------------------------
BIFF_WORD crefRw;
_UINT16 crefRw;
BiffStructurePtrVector refRow;
BIFF_WORD crefCol;
_UINT16 crefCol;
BiffStructurePtrVector refCol;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(crefRw)
//BO_ATTRIB_MARKUP_VECTOR_COMPLEX(refRow, Ref8U)
//BO_ATTRIB_MARKUP_ATTRIB(crefCol)
//BO_ATTRIB_MARKUP_VECTOR_COMPLEX(refCol, Ref8U)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -51,7 +51,7 @@ int Label::serialize(std::wostream & stream)
CP_XML_ATTR(L"r", ref);
int st = (int)cell.ixfe - global_info_->cellStyleXfs_count;
if ((cell.ixfe.value()) && (cell.ixfe > global_info_->cellStyleXfs_count))
if (cell.ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -50,7 +50,7 @@ int LabelSst::serialize(std::wostream & stream)
CP_XML_ATTR(L"r", ref);
int st = (int)cell.ixfe - global_info_->cellStyleXfs_count;
if ((cell.ixfe.value()) && (cell.ixfe > global_info_->cellStyleXfs_count))
if (cell.ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -39,7 +39,7 @@ public:
bool fWorkbookParam;
BIFF_BYTE chKey;
BIFF_WORD itab;
_UINT16 itab;
XLUnicodeStringNoCch Name_bin;
BIFF_BSTR Name;
NameParsedFormula rgce;
......
......@@ -20,7 +20,7 @@ public:
void writeFields(CFRecord& record);
void readFields(CFRecord& record);
BIFF_WORD iss;
_UINT16 iss;
bool fDelete;
bool fLabel;
......
......@@ -25,11 +25,11 @@ public:
int serialize(std::wostream & _stream);
//-----------------------------
LongRGB rgb;
BIFF_WORD lns;
BIFF_WORD we;
bool fAuto;
bool fAxisOn;
bool fAutoCo;
_UINT16 lns;
_UINT16 we;
bool fAuto;
bool fAxisOn;
bool fAutoCo;
IcvChart icv;
};
......
......@@ -26,7 +26,7 @@ public:
public:
FrtHeader frtHeader;
BIFF_WORD lsd;
_UINT16 lsd;
BIFF_DWORD idList;
List12BlockLevel rgbList12BlockLevel;
......@@ -34,12 +34,7 @@ public:
List12DisplayName rgbList12DisplayName;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_COMPLEX(frtHeader)
//BO_ATTRIB_MARKUP_ATTRIB(lsd)
//BO_ATTRIB_MARKUP_ATTRIB(idList)
//switch (lsd)
//switch (lsd)
//{
// case 0:
// //BO_ATTRIB_MARKUP_COMPLEX(rgbList12BlockLevel)
......@@ -51,9 +46,6 @@ public:
// //BO_ATTRIB_MARKUP_COMPLEX(rgbList12DisplayName)
// break;
//}
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -26,7 +26,7 @@ public:
LongRGB rgbFore;
LongRGB rgbBack;
BIFF_WORD imk;
_UINT16 imk;
bool fAuto;
bool fNotShowInt;
bool fNotShowBrd;
......
......@@ -71,7 +71,7 @@ int MulRk::serialize(std::wostream & stream)
{
CP_XML_ATTR(L"r", ref);
if ((cell->ixfe.value()) && (cell->ixfe > global_info_->cellStyleXfs_count))
if (cell->ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell->ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -21,8 +21,8 @@ public:
void writeFields(CFRecord& record);
void readFields(CFRecord& record);
//-----------------------------
BIFF_WORD cachName;
BIFF_WORD fgrp;
_UINT16 cachName;
_UINT16 fgrp;
XLNameUnicodeString rgach;
......
......@@ -56,7 +56,7 @@ int Number::serialize(std::wostream & stream)
{
CP_XML_ATTR(L"r", ref);
if ((cell.ixfe.value()) && (cell.ixfe > global_info_->cellStyleXfs_count))
if (cell.ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -22,9 +22,9 @@ public:
static const ElementType type = typeObjectLink;
BIFF_WORD wLinkObj;
BIFF_WORD wLinkVar1;
BIFF_WORD wLinkVar2;
_UINT16 wLinkObj;
_UINT16 wLinkVar1;
_UINT16 wLinkVar2;
//-------------------------------
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeOleDbConn;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typePLV;
//-----------------------------
BIFF_WORD wScalePLV;
_UINT16 wScalePLV;
bool fPageLayoutView;
bool fRulerVisible;
......
......@@ -25,10 +25,10 @@ public:
static const ElementType type = typePane;
//-----------------------------
BIFF_WORD x;
BIFF_WORD y;
R_RwU rwTop;
ColU colLeft;
_UINT16 x;
_UINT16 y;
_UINT16 rwTop;
_UINT16 colLeft;
PaneType pnnAcct;
BIFF_BSTR topLeftCell;
......
......@@ -25,8 +25,8 @@ public:
int serialize(std::wostream & _stream);
//-----------------------------
BIFF_WORD anStart;
BIFF_WORD pcDonut;
_UINT16 anStart;
_UINT16 pcDonut;
bool fHasShadow;
bool fShowLdrLines;
};
......
......@@ -24,7 +24,7 @@ public:
int serialize(std::wostream & _stream);
BIFF_SHORT pcExplode;
_INT16 pcExplode;
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typePivotChartBits;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -29,10 +29,10 @@ public:
_UINT16 mdTopLt;
_UINT16 mdBotRt;
BIFF_SHORT x1;
BIFF_SHORT y1;
BIFF_SHORT x2;
BIFF_SHORT y2;
_INT16 x1;
_INT16 y1;
_INT16 x2;
_INT16 y2;
//-----------------------------
......
......@@ -23,11 +23,7 @@ public:
static const ElementType type = typePrintSize;
//-----------------------------
BIFF_WORD printSize;
public:
//BO_ATTRIB_MARKUP_BEGIN
//BO_ATTRIB_MARKUP_ATTRIB(printSize)
//BO_ATTRIB_MARKUP_END
_UINT16 printSize;
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeQsi;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeQsiSXTag;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeQsif;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeQsir;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -53,7 +53,7 @@ int RK::serialize(std::wostream & stream)
{
CP_XML_ATTR(L"r", ref);
if ((cell.ixfe.value()) && (cell.ixfe > global_info_->cellStyleXfs_count))
if (cell.ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeRealTimeData;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeRecipName;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -27,7 +27,7 @@ public:
BackwardOnlyParam<unsigned short> colMic;
BackwardOnlyParam<unsigned short> colMac;
BIFF_WORD miyRw;
_UINT16 miyRw;
BIFF_BYTE iOutLevel;
bool fCollapsed;
......@@ -35,7 +35,7 @@ public:
bool fUnsynced;
bool fGhostDirty;
BIFF_WORD ixfe_val;
_UINT16 ixfe_val;
bool fExAsc;
bool fExDes;
bool fPhonetic;
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSBaseRef;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSCENARIO;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -28,7 +28,7 @@ public:
int serialize(std::wostream & _stream, int idx, const CellRef & in_ref);
//-----------------------------
BIFF_WORD numIndex;
_UINT16 numIndex;
std::vector<BaseObjectPtr > m_arData;
......
......@@ -22,14 +22,6 @@ public:
static const ElementType type = typeSXAddl;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
// The following classes are not implemented and most probably won't be.
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSXDI;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSXEx;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXLI;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSXPI;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSXPIEx;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,7 @@ public:
static const ElementType type = typeSXStreamID;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSXString;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXTBRGIITM;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSXTH;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXTbl;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXVDEx;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSXVDTEx;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSXVI;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -22,8 +22,6 @@ public:
static const ElementType type = typeSXVS;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXViewEx;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSXViewEx9;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -21,8 +21,7 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSXViewLink;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -25,8 +25,8 @@ public:
int serialize(std::wostream & _stream);
//-----------------------------
BIFF_WORD pcBubbleSizeRatio;
BIFF_WORD wBubbleSize;
_UINT16 pcBubbleSizeRatio;
_UINT16 wBubbleSize;
bool fBubbles;
bool fShowNegBubbles;
bool fHasShadow;
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeScenMan;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -23,8 +23,8 @@ public:
static const ElementType type = typeScl;
//-----------------------------
BIFF_SHORT nscl;
BIFF_SHORT dscl;
_INT16 nscl;
_INT16 dscl;
};
......
......@@ -31,7 +31,7 @@ public:
R_RwU rwAct;
ColU colAct;
BIFF_SHORT irefAct;
_INT16 irefAct;
BIFF_BSTR sqref;
BIFF_BSTR activeCell;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeSerParent;
//-----------------------------
BIFF_WORD series;
_UINT16 series;
BaseObjectPtr m_SerAuxTrend;
BaseObjectPtr m_SerAuxErrBar;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeSerToCrt;
//-----------------------------
BIFF_WORD id;
_UINT16 id;
};
......
......@@ -23,13 +23,13 @@ public:
static const ElementType type = typeSeries;
//-----------------------------
BIFF_WORD sdtX;
BIFF_WORD sdtY;
BIFF_WORD sdtBSize;
_UINT16 sdtX;
_UINT16 sdtY;
_UINT16 sdtBSize;
BIFF_WORD cValx;
BIFF_WORD cValy;
BIFF_WORD cValBSize;
_UINT16 cValx;
_UINT16 cValy;
_UINT16 cValBSize;
};
} // namespace XLS
......
......@@ -23,11 +23,11 @@ public:
static const ElementType type = typeSetup;
//-----------------------------
BIFF_WORD iPaperSize;
BIFF_WORD iScale;
BIFF_SHORT iPageStart;
BIFF_WORD iFitWidth;
BIFF_WORD iFitHeight;
_UINT16 iPaperSize;
_UINT16 iScale;
_INT16 iPageStart;
_UINT16 iFitWidth;
_UINT16 iFitHeight;
bool fLeftToRight;
bool fPortrait;
......@@ -40,11 +40,11 @@ public:
bool fEndNotes;
BIFF_BYTE iErrors;
BIFF_WORD iRes;
BIFF_WORD iVRes;
_UINT16 iRes;
_UINT16 iVRes;
BIFF_DOUBLE numHdr;
BIFF_DOUBLE numFtr;
BIFF_WORD iCopies;
_UINT16 iCopies;
};
......
......@@ -30,7 +30,7 @@ public:
bool fKey2Dsc;
bool fKey3Dsc;
bool fCaseSensitive;
BIFF_SHORT iOrder;
_INT16 iOrder;
bool fAltMethod;
XLUnicodeStringNoCch stKey1;
......
......@@ -23,10 +23,10 @@ public:
static const ElementType type = typeStartObject;
//-----------------------------
BIFF_WORD iObjectKind;
BIFF_WORD iObjectContext;
BIFF_WORD iObjectInstance1;
BIFF_WORD iObjectInstance2;
_UINT16 iObjectKind;
_UINT16 iObjectContext;
_UINT16 iObjectInstance1;
_UINT16 iObjectInstance2;
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSxDXF;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSxFilt;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSxFormat;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSxItm;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSxIvd;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,12 +22,6 @@ public:
static const ElementType type = typeSxRule;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
......
......@@ -21,14 +21,6 @@ public:
void readFields(CFRecord& record);
static const ElementType type = typeSxSelect;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSxTbpg;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSxView;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -22,13 +22,6 @@ public:
static const ElementType type = typeSxvd;
//-----------------------------
// BIFF_WORD userName;
public:
//BO_ATTRIB_MARKUP_BEGIN
// //BO_ATTRIB_MARKUP_ATTRIB(userName)
//BO_ATTRIB_MARKUP_END
};
} // namespace XLS
......
......@@ -27,7 +27,7 @@ public:
BIFF_BYTE at;
BIFF_BYTE vat;
BIFF_WORD wBkgMode;
_UINT16 wBkgMode;
LongRGB rgbText;
BIFF_LONG x;
BIFF_LONG y;
......
......@@ -38,8 +38,8 @@ public:
bool fAutoRot;
BIFF_BYTE iReadingOrder;
Icv icv;
BIFF_WORD trot;
_UINT16 icv;
_UINT16 trot;
int _rott;
};
......
......@@ -44,12 +44,12 @@ public:
BIFF_BYTE fJustLast;
BIFF_BYTE fSecretEdit;
BIFF_WORD rot;
_UINT16 rot;
ControlInfo controlInfo;
BIFF_WORD cchText;
BIFF_WORD cbRuns;
_UINT16 cchText;
_UINT16 cbRuns;
FontIndex ifntEmpty;
ObjFmla fmla;
TxORuns TxOruns;
......
......@@ -22,8 +22,6 @@ public:
static const ElementType type = typeTxtQry;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -22,8 +22,6 @@ public:
static const ElementType type = typeUncalced;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -25,7 +25,7 @@ public:
int serialize(std::wostream & stream);
//-----------------------------
BIFF_WORD tabId;
_UINT16 tabId;
std::wstring guid;
BIFF_DWORD x;
......@@ -33,12 +33,12 @@ public:
BIFF_DWORD dx;
BIFF_DWORD dy;
BIFF_WORD wTabRatio;
_UINT16 wTabRatio;
bool fDspFmlaBar;
bool fDspStatus;
bool fDspFmlaBar;
bool fDspStatus;
std::wstring mdNoteDisp;
std::wstring mdNoteDisp;
bool fDspHScroll;
bool fDspVScroll;
......@@ -56,7 +56,7 @@ public:
bool fPersonalView;
bool fIconic;
BIFF_WORD wMergeInterval;
_UINT16 wMergeInterval;
XLUnicodeString st;
};
......
......@@ -24,7 +24,7 @@ public:
static const ElementType type = typeVerticalPageBreaks;
//-----------------------------
BIFF_WORD cbrk;
_UINT16 cbrk;
BiffStructurePtrVector rgbrk;
};
......
......@@ -22,9 +22,6 @@ public:
static const ElementType type = typeWOpt;
//-----------------------------
// BIFF_WORD userName;
};
} // namespace XLS
......
......@@ -22,8 +22,6 @@ public:
static const ElementType type = typeWebPub;
//-----------------------------
// BIFF_WORD userName;
};
......
......@@ -24,10 +24,10 @@ public:
int serialize(std::wostream & stream);
//-----------------------------
BIFF_SHORT xWn;
BIFF_SHORT yWn;
BIFF_SHORT dxWn;
BIFF_SHORT dyWn;
_INT16 xWn;
_INT16 yWn;
_INT16 dxWn;
_INT16 dyWn;
bool fHidden;
bool fIconic;
bool fVeryHidden;
......@@ -35,10 +35,10 @@ public:
bool fDspVScroll;
bool fBotAdornment;
bool fNoAFDateGroup;
BIFF_WORD itabCur;
BIFF_WORD itabFirst;
BIFF_WORD ctabSel;
BIFF_WORD wTabRatio;
_UINT16 itabCur;
_UINT16 itabFirst;
_UINT16 ctabSel;
_UINT16 wTabRatio;
};
......
......@@ -39,13 +39,13 @@ public:
bool is_contained_in_chart_substream;
R_RwU rwTop;
ColU colLeft;
_UINT16 rwTop;
_UINT16 colLeft;
Icv icvHdr;
_UINT16 icvHdr;
BIFF_WORD wScaleSLV;
BIFF_WORD wScaleNormal;
_UINT16 wScaleSLV;
_UINT16 wScaleNormal;
BIFF_BSTR topLeftCell;
};
......
......@@ -23,8 +23,8 @@ public:
static const ElementType type = typeXCT;
//-----------------------------
BIFF_WORD ccrn;
BIFF_WORD itab;
_UINT16 ccrn;
_UINT16 itab;
bool itab_exist;
//if(itab_exist)
......
......@@ -77,10 +77,7 @@ int XF::serialize(std::wostream & stream)
{
if (ifnt.value()) CP_XML_ATTR(L"fontId" , ifnt.getValue());
if (ifmt.value())
{
CP_XML_ATTR(L"numFmtId" , ifmt);
}
CP_XML_ATTR(L"numFmtId" , ifmt);
if(fStyle)
{
......
......@@ -27,10 +27,10 @@ public:
static const ElementType type = typeXF;
FontIndex ifnt;
BIFF_WORD ifmt;
FontIndex ifnt;
_UINT16 ifmt;
BIFF_WORD ixfParent;
_UINT16 ixfParent;
CellXF cell;
StyleXF style;
......
......@@ -23,7 +23,7 @@ public:
static const ElementType type = typeXFCRC;
//-----------------------------
BIFF_WORD cxfs;
_UINT16 cxfs;
BIFF_DWORD crc;
};
......
......@@ -25,7 +25,7 @@ public:
//-----------------------------
_UINT16 ixfe;
BIFF_WORD cexts;
_UINT16 cexts;
BiffStructurePtrVector rgExt;
};
......
......@@ -16,7 +16,7 @@ public:
static const ElementType type = typeAFDOperBoolErr;
BIFF_SHORT bes;
_INT16 bes;
};
} // namespace XLS
\ No newline at end of file
......@@ -15,45 +15,43 @@
namespace XLS
{
typedef BiffAttributeSimple<_UINT32> RwLongU;
typedef BiffAttributeSimple<unsigned short> IXFCell;
typedef BiffAttributeSimple<unsigned short> Rw;
typedef BiffAttributeSimple<unsigned short> Col;
typedef BiffAttributeSimple<unsigned short> Icv;
typedef BiffAttributeSimple<unsigned short> IcvChart;
typedef BiffAttributeSimple<unsigned short> TabId;
typedef BiffAttributeSimple<_INT16> Col_NegativeOne;
typedef BiffAttributeSimple<unsigned short> R_RwU; // Special version for use as a record attribute
typedef BiffAttributeSimple<unsigned short> IFmt;
typedef BiffAttributeSimple<unsigned short> CrtLayout12Mode;
typedef BiffAttributeSimple<unsigned short> ColU;
typedef unsigned short Col256U;
typedef unsigned short RwU;
typedef unsigned short Ilel;
typedef unsigned char DColunByteU;
typedef unsigned short DRw;
typedef unsigned char ColunByte;
typedef unsigned char ColunByteU;
typedef _INT32 Rw12;
typedef _INT32 Col12;
typedef unsigned short Rwx;
typedef unsigned short Colx;
typedef _UINT32 ColorICV;
typedef _UINT32 ColorTheme;
typedef _UINT16 ObjId;
typedef unsigned char FillPattern;
typedef _UINT32 RwLongU;
typedef unsigned short IXFCell;
typedef unsigned short Rw;
typedef unsigned short Col;
typedef unsigned short Icv;
typedef unsigned short IcvChart;
typedef unsigned short TabId;
typedef _INT16 Col_NegativeOne;
typedef unsigned short R_RwU; // Special version for use as a record attribute
typedef unsigned short IFmt;
typedef unsigned short CrtLayout12Mode;
typedef unsigned short ColU;
typedef unsigned short Col256U;
typedef unsigned short RwU;
typedef unsigned short Ilel;
typedef unsigned char DColunByteU;
typedef unsigned short DRw;
typedef unsigned char ColunByte;
typedef unsigned char ColunByteU;
typedef _INT32 Rw12;
typedef _INT32 Col12;
typedef unsigned short Rwx;
typedef unsigned short Colx;
typedef _UINT32 ColorICV;
typedef _UINT32 ColorTheme;
typedef _UINT16 ObjId;
typedef unsigned char FillPattern;
typedef BiffAttributeSimple<unsigned char> BIFF_BYTE;
typedef BiffAttributeSimple<_UINT16> BIFF_WORD;
typedef BiffAttributeSimple<_INT16> BIFF_SHORT;
typedef BiffAttributeSimple<_UINT32> BIFF_DWORD;
typedef BiffAttributeSimple<_INT32> BIFF_LONG;
typedef BiffAttributeSimple<double> BIFF_DOUBLE;
typedef BiffAttributeSimple<std::wstring> BIFF_BSTR;
struct PtgAttrSpaceType : public BiffStructure_NoVtbl
{
unsigned char type;
......
......@@ -24,7 +24,7 @@ public:
BIFF_BYTE fHelp;
BIFF_BYTE fCancel;
BIFF_BYTE fDismiss;
BIFF_WORD accel1;
_UINT16 accel1;
};
} // namespace XLS
......
......@@ -9,11 +9,13 @@ namespace XLS
NoteSh::NoteSh()
{
x_ = y_ = 0;
}
NoteSh::NoteSh(CFRecord& record)
{
x_ = y_ = 0;
load(record);
}
......@@ -34,6 +36,8 @@ void NoteSh::store(CFRecord& record)
void NoteSh::load(CFRecord& record)
{
XLS::GlobalWorkbookInfoPtr global_info = record.getGlobalWorkbookInfo();
unsigned short flags;
record >> row >> col >> flags;
......@@ -44,7 +48,29 @@ void NoteSh::load(CFRecord& record)
record >> idObj >> stAuthor;
record.skipNunBytes(1); // unused
ref = CellRef(row, col, true, true).toString();
//-----------------------------------------------------------------------
ref_ = CellRef(row, col, true, true).toString();
double kfCol = 17640 / 256.;
double kfRow = ( 360000 * 2.54 / 72) / 256. ;
for (int i = 0 ; i < col; i++)
{
if (global_info->customColumnsWidth.find(i) != global_info->customColumnsWidth.end())
x_ += 256 * kfCol * global_info->customColumnsWidth[i];
else
x_ += 256 * kfCol * global_info->defaultColumnWidth;
}
for (int i = 0 ; i < row; i++)
{
if (global_info->customRowsHeight.find(i) != global_info->customRowsHeight.end())
{
y_ += 256 * kfRow * global_info->customRowsHeight[i];
}
else
y_ += 256 * kfRow * global_info->defaultRowHeight;
}
}
......
......@@ -30,8 +30,9 @@ public:
ObjId idObj;
XLUnicodeString stAuthor;
//------------------------------------------
std::wstring ref;
std::wstring ref_;
int x_;
int y_;
};
} // namespace XLS
......
......@@ -21,58 +21,15 @@ XLS::BiffStructurePtr OfficeArtClientAnchorSheet::clone()
return XLS::BiffStructurePtr(new OfficeArtClientAnchorSheet(*this));
}
int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
{
//-------------------------------------------------
CP_XML_WRITER(stream)
{
CP_XML_NODE(L"xdr:from")
{
CP_XML_NODE(L"xdr:col")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(colL);
}
CP_XML_NODE(L"xdr:colOff")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dxL );
}
CP_XML_NODE(L"xdr:row")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(rwT);
}
CP_XML_NODE(L"xdr:rowOff")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dyT);
}
}
CP_XML_NODE(L"xdr:to")
{
CP_XML_NODE(L"xdr:col")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(colR);
}
CP_XML_NODE(L"xdr:colOff")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dxR );
}
CP_XML_NODE(L"xdr:row")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(rwB);
}
CP_XML_NODE(L"xdr:rowOff")
{
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dyB);
}
}
}
return 0;
}
void OfficeArtClientAnchorSheet::storeFields(XLS::CFRecord& record)
{
unsigned short flags = 0;
SETBIT(flags, 0, fMove);
SETBIT(flags, 1, fSize);
record << flags << colL << dxL << rwT << dyT << colR << dxR << rwB << dyB;
}
......@@ -119,7 +76,7 @@ void OfficeArtClientAnchorSheet::loadFields(XLS::CFRecord& record)
else
_dyB = dyB * kfRow * global_info->defaultRowHeight;
//----------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------
for (int i = 0 ; i < colL; i++)
{
if (global_info->customColumnsWidth.find(i) != global_info->customColumnsWidth.end())
......@@ -178,26 +135,6 @@ XLS::BiffStructurePtr OfficeArtChildAnchor::clone()
return XLS::BiffStructurePtr(new OfficeArtChildAnchor(*this));
}
int OfficeArtChildAnchor::serialize(std::wostream &stream)
{
CP_XML_WRITER(stream)
{
CP_XML_NODE(L"a:xfrm")
{
CP_XML_NODE(L"a:off")
{
CP_XML_ATTR(L"x", _x);
CP_XML_ATTR(L"y", _y);
}
CP_XML_NODE(L"xdr:colOff")
{
CP_XML_ATTR(L"cx", _cx);
CP_XML_ATTR(L"cy", _cy);
}
}
}
return 0;
}
void OfficeArtChildAnchor::loadFields(XLS::CFRecord& record)
{
XLS::GlobalWorkbookInfoPtr global_info = record.getGlobalWorkbookInfo();
......
......@@ -24,8 +24,6 @@ public:
virtual void loadFields(XLS::CFRecord& record);
virtual void storeFields(XLS::CFRecord& record);
int serialize(std::wostream & stream);
bool fMove;
bool fSize;
......@@ -63,8 +61,6 @@ public:
virtual void loadFields(XLS::CFRecord& record);
virtual void storeFields(XLS::CFRecord& record){}
int serialize(std::wostream & stream);
_INT32 dxL;
_INT32 dyT;
_INT32 dxR;
......
......@@ -28,7 +28,7 @@ public:
BIFF_DWORD crwTotals;
BIFF_DWORD idFieldNext;
BIFF_DWORD cbFSData;
BIFF_WORD rupBuild;
_UINT16 rupBuild;
BIFF_BYTE fAutoFilter;
BIFF_BYTE fPersistAutoFilter;
......@@ -55,7 +55,7 @@ public:
BIFF_DWORD lem; // LEMMode
XLUnicodeString rgbName;
BIFF_WORD cFieldData;
_UINT16 cFieldData;
XLUnicodeString cSPName;
XLUnicodeString entryId;
......
......@@ -21,7 +21,7 @@ public:
virtual void store(CFRecord& record);
public:
BIFF_WORD cchText;
_UINT16 cchText;
};
typedef boost::shared_ptr<TxOLastRun> TxOLastRunPtr;
......
......@@ -41,9 +41,9 @@ public:
Row* row = dynamic_cast<Row*>(elements_.back().get());
if (row)
{
if (row->miyRw.value())
if (row->miyRw > 0 && std::abs(row->miyRw/20. - global_info_->defaultRowHeight) > 0.001)
{
global_info_->customRowsHeight.insert(std::pair<int, double>(row->rw,row->miyRw / 20.));
global_info_->customRowsHeight.insert(std::pair<int, double>(row->rw, row->miyRw / 20.));
}
}
m_rows.insert(m_rows.begin(), elements_.back());
......@@ -181,9 +181,9 @@ int CELL_GROUP::serialize(std::wostream & stream)
}
CP_XML_ATTR(L"customFormat", true);
}
if (row->miyRw.value())// 255 twips(1/20 pt)
if (row->miyRw > 0 && std::abs(row->miyRw/20. - global_info_->defaultRowHeight) > 0.01)
{
CP_XML_ATTR(L"ht", row->miyRw / 16.);
CP_XML_ATTR(L"ht", row->miyRw / 20.);
CP_XML_ATTR(L"customHeight", true);
}
if ((row->iOutLevel.value()) && (row->iOutLevel > 0))
......@@ -250,7 +250,7 @@ int CELL_GROUP::serialize(std::wostream & stream)
bool xf_set = true;
if (row->fGhostDirty == false) xf_set = false;
if (row->ixfe_val.value() && xf_set)
if (xf_set)
{
if (row->ixfe_val > global_info_->cellStyleXfs_count)
{
......@@ -263,7 +263,7 @@ int CELL_GROUP::serialize(std::wostream & stream)
CP_XML_ATTR(L"customFormat", true);
}
if (row->miyRw.value())
if (row->miyRw > 0 && std::abs(row->miyRw/20. - global_info_->defaultRowHeight) > 0.01)
{
CP_XML_ATTR(L"ht", row->miyRw / 20.);
CP_XML_ATTR(L"customHeight", true);
......
......@@ -46,7 +46,7 @@ const bool COLUMNS::loadContent(BinProcessor& proc)
for (int i = column_info->colFirst; i <= column_info->colLast; i++)
{
if (column_info->coldx.value())
if (column_info->coldx > 0)
{
global_info_->customColumnsWidth.insert(std::pair<int, double>(i,column_info->coldx / 256.));
}
......@@ -71,7 +71,7 @@ int COLUMNS::serialize(std::wostream & stream)
CP_XML_NODE(L"col")
{
if (column_info->coldx.value())
if (column_info->coldx > 0)
{
CP_XML_ATTR(L"width", column_info->coldx / 256.);
CP_XML_ATTR(L"customWidth", true);
......@@ -80,7 +80,7 @@ int COLUMNS::serialize(std::wostream & stream)
CP_XML_ATTR(L"min", column_info->colFirst + 1);/// from 0
CP_XML_ATTR(L"max", column_info->colLast + 1);
if ((column_info->ixfe.value()) && (column_info->ixfe > global_info_->cellStyleXfs_count))
if (column_info->ixfe > global_info_->cellStyleXfs_count)
{
CP_XML_ATTR(L"style", column_info->ixfe - global_info_->cellStyleXfs_count);
}
......@@ -93,7 +93,7 @@ int COLUMNS::serialize(std::wostream & stream)
{
CP_XML_ATTR(L"hidden", column_info->fHidden);
}
if ((column_info->iOutLevel.value()) && (column_info->iOutLevel>0))
if (column_info->iOutLevel>0)
{
CP_XML_ATTR(L"outlineLevel", column_info->iOutLevel);
}
......
......@@ -291,7 +291,7 @@ std::wstring CRT::getOoxChartType()
case typePie:
{
Pie * p = dynamic_cast<Pie *>(m_ChartType.get());
if (p->pcDonut.value() && p->pcDonut > 0)
if ( p->pcDonut > 0)
{
m_iChartType = CHART_TYPE_Doughnut;
return L"c:doughnutChart";
......
......@@ -135,7 +135,7 @@ int FORMULA::serialize(std::wostream & stream)
case 1: CP_XML_ATTR(L"t", L"b"); break;
case 2: CP_XML_ATTR(L"t", L"e"); break;
}
if ((formula->cell.ixfe.value()) && (formula->cell.ixfe > m_global_info->cellStyleXfs_count))
if (formula->cell.ixfe > m_global_info->cellStyleXfs_count)
{
CP_XML_ATTR(L"s", formula->cell.ixfe - m_global_info->cellStyleXfs_count);
}
......
......@@ -103,15 +103,14 @@ int GLOBALS::serialize(std::wostream & stream)
DefaultRowHeight* def_row = dynamic_cast<DefaultRowHeight*>(m_DefaultRowHeight.get());
if (def_row)
{
CP_XML_ATTR(L"defaultRowHeight", def_row->miyRw / 20.);
if(!def_row->fDyZero)
{
CP_XML_ATTR(L"defaultRowHeight", def_row->miyRw / 20.);
CP_XML_ATTR(L"customHeight", true);
}
else
{
CP_XML_ATTR(L"zeroHeight", true);
CP_XML_ATTR(L"defaultRowHeight", def_row->miyRwHidden /20.);
}
if (def_row->fExAsc) CP_XML_ATTR(L"thickTop", true);
if (def_row->fExDsc) CP_XML_ATTR(L"thickBottom", true);
......@@ -131,10 +130,10 @@ int GLOBALS::serialize(std::wostream & stream)
{
Guts * guts= dynamic_cast<Guts*>(m_Guts.get());
if ((guts->iLevelRwMac.value()) && (guts->iLevelRwMac > 0))
if (guts->iLevelRwMac > 0)
CP_XML_ATTR(L"outlineLevelRow", guts->iLevelRwMac);
if ((guts->iLevelColMac.value()) && (guts->iLevelColMac > 0))
if (guts->iLevelColMac > 0)
CP_XML_ATTR(L"outlineLevelCol", guts->iLevelColMac);
}
}
......
......@@ -292,7 +292,8 @@ int ChartSheetSubstream::serialize (std::wostream & _stream)
if (chart_rect)
{
pGlobalWorkbookInfo->xls_converter->xlsx_context->get_drawing_context().set_absolute_anchor(chart_rect->dx.dVal, chart_rect->dy.dVal);
pGlobalWorkbookInfo->xls_converter->xlsx_context->get_drawing_context().set_absolute_anchor(
0, 0, chart_rect->dx.dVal, chart_rect->dy.dVal);
}
return 0;
......
......@@ -53,9 +53,6 @@ namespace NSCustomShapesConvert
WORD m_param_value2;
WORD m_param_value3;
//LONG m_lShapeWidth;
//LONG m_lShapeHeight;
CGuide()
{
m_eType = ftVal;
......@@ -68,8 +65,6 @@ namespace NSCustomShapesConvert
m_param_value2 = 0;
m_param_value3 = 0;
//m_lShapeWidth = ShapeSizeVML;
//m_lShapeHeight= ShapeSizeVML;
}
CGuide(const CGuide& oSrc)
......@@ -89,9 +84,6 @@ namespace NSCustomShapesConvert
m_param_value2 = oSrc.m_param_value2;
m_param_value3 = oSrc.m_param_value3;
//m_lShapeWidth = oSrc.m_lShapeWidth;
//m_lShapeHeight = oSrc.m_lShapeHeight;
return *this;
}
......@@ -337,7 +329,7 @@ namespace NSCustomShapesConvert
}
else
{
//m_oPen.Color = (DWORD)m_arVertices[nStart].x; odooooo
//m_oPen.Color = (DWORD)m_arVertices[nStart].x; todooooo
}
}
nEnd = nStart + m_arSegments[nS].m_nCount;
......
......@@ -863,11 +863,9 @@ void XlsConverter::convert(ODRAW::OfficeArtRecord * art)
case XLS::typeOfficeArtClientAnchorSheet:
{
ODRAW::OfficeArtClientAnchorSheet * ch = dynamic_cast<ODRAW::OfficeArtClientAnchorSheet *>(art);
art->serialize(strm);
xlsx_context->get_drawing_context().set_child_anchor(ch->_x, ch->_y, ch->_cx, ch->_cy);
xlsx_context->get_drawing_context().set_sheet_anchor(strm.str());
xlsx_context->get_drawing_context().set_sheet_anchor(ch->colL, ch->_dxL, ch->rwT, ch->_dyT, ch->colR, ch->_dxR, ch->rwB, ch->_dyB);
}break;
}
}
......@@ -1170,6 +1168,11 @@ void XlsConverter::convert_geometry(std::vector<ODRAW::OfficeArtFOPTEPtr> & prop
{
adjustValues[props[i]->opid - 0x0147] = props[i]->op ;
}break;
case 0x0151:
{
ODRAW::pAdjustHandles * a = (ODRAW::pAdjustHandles *)(props[i].get());
xlsx_context->get_drawing_context().set_custom_adjustHandles(a->complex.data);
}break;
case 0x0156:
{
ODRAW::pGuides* s = (ODRAW::pGuides *)(props[i].get());
......@@ -1383,8 +1386,10 @@ void XlsConverter::convert(XLS::Note* note)
{
if (note == NULL) return;
xlsx_context->get_comments_context().set_ref (note->note_sh.ref, note->note_sh.col, note->note_sh.row);
xlsx_context->get_comments_context().add_author (note->note_sh.stAuthor);
xlsx_context->get_comments_context().set_ref (note->note_sh.ref_,
note->note_sh.col,
note->note_sh.row);
xlsx_context->get_comments_context().set_author (note->note_sh.stAuthor);
xlsx_context->get_comments_context().set_visibly(note->note_sh.fShow);
}
......
......@@ -26,23 +26,13 @@ struct sort_
namespace oox {
unsigned int hex_string_to_int(std::wstring str)
{
unsigned int x;
std::wstringstream ss;
ss << std::hex << str;
ss >> x;
return x;
}
class xlsx_comments::Impl
{
public:
void serialize(std::wostream & strm)
{
//std::sort(xlsx_comment_.begin(), xlsx_comment_.end(), sort_());
//std::sort(xlsx_comment_.begin(), xlsx_comment_.end(), sort_()); -
CP_XML_WRITER(strm)
{
......@@ -135,10 +125,7 @@ public:
CP_XML_ATTR(L"style",style);
CP_XML_ATTR(L"type", L"_x0000_t202");
//if (odf_reader::GetProperty(c.graphicProperties_,L"opacity",dVal))
//{
// CP_XML_ATTR(L"opacity",boost::lexical_cast<std::wstring>((int)(100.-dVal.get())) + L"%");
//}
CP_XML_NODE(L"v:shadow")
{
CP_XML_ATTR(L"color", L"black");
......@@ -155,35 +142,27 @@ public:
CP_XML_ATTR(L"color" , std::wstring(L"#") + c.fill_);
//CP_XML_ATTR(L"color2" , std::wstring(L"#") + c.fill_);
CP_XML_ATTR(L"type" , L"solid");
//if (odf_reader::GetProperty(c.graphicProperties_,L"opacity",dVal))
//{
// CP_XML_ATTR(L"opacity", (dVal.get())/100.);
// //CP_XML_ATTR(L"opacity2",(dVal.get())/100.);
//}
}
CP_XML_NODE(L"v:stroke")
{
CP_XML_ATTR(L"color", std::wstring(L"#") + c.line_);
//if (odf_reader::GetProperty(c.graphicProperties_,L"stroke-opacity",dVal))
//{
// CP_XML_ATTR(L"opacity",(100.-dVal.get())/100.);
//}
//CP_XML_ATTR(L"endcap" , L"flat");
//CP_XML_ATTR(L"joinstyle" , L"round");
//CP_XML_ATTR(L"startarrow" , L"block");
//CP_XML_ATTR(L"v:startarrowwidth", L"medium");
//CP_XML_ATTR(L"startarrowlength" , L"medium");
}
CP_XML_NODE(L"x:ClientData")
{
CP_XML_ATTR(L"ObjectType", L"Note");
CP_XML_NODE(L"x:MoveWithCells"){}
CP_XML_NODE(L"x:SizeWithCells"){}
if (!c.anchor_.empty())
{
CP_XML_NODE(L"x:Anchor"){CP_XML_CONTENT(c.anchor_);}
}
CP_XML_NODE(L"x:AutoFill") {CP_XML_CONTENT("False");}
CP_XML_NODE(L"x:Row") {CP_XML_CONTENT(c.row_);}
CP_XML_NODE(L"x:Column") {CP_XML_CONTENT(c.col_);}
if (c.visibly_) CP_XML_NODE(L"x:Visible");
}
}
}
......
......@@ -9,8 +9,10 @@ namespace oox {
struct _xlsx_comment
{
size_t left_, top_;
size_t width_, height_;
double left_, top_;
double width_, height_;
std::wstring anchor_;
std::wstring ref_;
......@@ -25,7 +27,6 @@ namespace oox {
std::wstring author_;
std::wstring content_;
};
//class rels;
class xlsx_comments;
typedef _CP_PTR(xlsx_comments) xlsx_comments_ptr;
......
......@@ -129,19 +129,25 @@ void xlsx_comments_context::start_comment ()
impl_->current_.visibly_ = false;
impl_->current_.fill_ = L"FFFFE1";
impl_->current_.line_ = L"3465af";
impl_->current_.anchor_ = L"";
impl_->current_.left_ = impl_->current_.top_ = impl_->current_.width_ = impl_->current_.height_ = 0;
}
void xlsx_comments_context::set_size (double width_pt, double height_pt, double x_pt, double y_pt)
{
impl_->current_.width_ = width_pt;
impl_->current_.height_ = height_pt;
impl_->current_.left_ = x_pt;
impl_->current_.left_ = x_pt;
impl_->current_.top_ = y_pt;
}
void xlsx_comments_context::add_content(std::wstring content)
void xlsx_comments_context::set_content(std::wstring content)
{
impl_->current_.content_ = content;
}
void xlsx_comments_context::add_author(std::wstring author)
void xlsx_comments_context::set_author(std::wstring author)
{
impl_->current_.author_ = author;
}
......@@ -149,10 +155,14 @@ void xlsx_comments_context::set_visibly(bool Val)
{
impl_->current_.visibly_ = Val;
}
void xlsx_comments_context::set_anchor(std::wstring val)
{
impl_->current_.anchor_ = val;
}
void xlsx_comments_context::set_ref(std::wstring ref, int col, int row)
{
impl_->current_.ref_ = ref;
impl_->current_.col_ = col;
impl_->current_.row_ = row;
}
......
......@@ -9,8 +9,6 @@
namespace oox {
//class xlsx_table_metrics;
class xlsx_comments;
typedef _CP_PTR(xlsx_comments) xlsx_comments_ptr;
......@@ -41,10 +39,11 @@ public:
void start_comment();
void add_content (std::wstring content);
void add_author (std::wstring author);
void set_content (std::wstring content);
void set_author (std::wstring author);
void set_anchor (std::wstring anchor);
void set_size (double width_pt, double height_pt, double x_pt, double y_pt);
void set_ref (std::wstring ref,int col,int row);
void set_ref (std::wstring ref, int col, int row);
void set_visibly (bool Val);
void set_fill_color (std::wstring color);
void set_line_color (std::wstring color);
......
......@@ -460,15 +460,23 @@ void xlsx_drawing_context::end_drawing(_drawing_state_ptr & drawing_state)
}
if ( drawing_state->type == external_items::typeComment )
{
//context_.get_comments_context().set_fill_color(drawing_state->fill.color.sRGB);
//context_.get_comments_context().set_line_color(drawing_state->line.fill.color.sRGB);
context_.get_comments_context().add_content(drawing_state->text.content);
std::wstringstream strm;
context_.get_comments_context().set_size( drawing_state->child_anchor.cx / 12700 +2,
drawing_state->child_anchor.cy / 12700 +2,
drawing_state->child_anchor.x / 12700,
drawing_state->child_anchor.y / 12700); //in pt (1 pt = 12700 emu)
context_.get_comments_context().set_fill_color(drawing_state->fill.color.sRGB);
context_.get_comments_context().set_line_color(drawing_state->line.fill.color.sRGB);
context_.get_comments_context().set_content(drawing_state->text.content);
strm << drawing_state->sheet_anchor.colFrom << L", " << (int)(2 * drawing_state->sheet_anchor.xFrom / 12700.) << L", "
<< drawing_state->sheet_anchor.rwFrom << L", " << (int)(2 * drawing_state->sheet_anchor.yFrom / 12700.) << L", "
<< drawing_state->sheet_anchor.colTo << L", " << (int)(2 * drawing_state->sheet_anchor.xTo / 12700.) << L", "
<< drawing_state->sheet_anchor.rwTo << L", " << (int)(2 * drawing_state->sheet_anchor.yTo / 12700.);
context_.get_comments_context().set_anchor(strm.str());
context_.get_comments_context().set_size( drawing_state->child_anchor.cx / 12700.,
drawing_state->child_anchor.cy / 12700.,
drawing_state->child_anchor.x / 12700.,
drawing_state->child_anchor.y / 12700.); //in pt (1 pt = 12700 emu)
context_.get_comments_context().end_comment();
}
if ( drawing_state->type == external_items::typeShape)
......@@ -814,8 +822,8 @@ std::wstring xlsx_drawing_context::convert_custom_shape(_drawing_state_ptr & dra
{
if (0 == drawing_state->custom_segments[i].m_nCount)
{
if ((NSCustomShapesConvert::rtEnd != drawing_state->custom_segments[i].m_eRuler) &&
(NSCustomShapesConvert::rtNoFill != drawing_state->custom_segments[i].m_eRuler) &&
if ((NSCustomShapesConvert::rtEnd != drawing_state->custom_segments[i].m_eRuler) &&
(NSCustomShapesConvert::rtNoFill != drawing_state->custom_segments[i].m_eRuler) &&
(NSCustomShapesConvert::rtNoStroke != drawing_state->custom_segments[i].m_eRuler) &&
(NSCustomShapesConvert::rtClose != drawing_state->custom_segments[i].m_eRuler))
{
......@@ -824,7 +832,10 @@ std::wstring xlsx_drawing_context::convert_custom_shape(_drawing_state_ptr & dra
}
shape->m_oCustomVML.addSegment(drawing_state->custom_segments[i].m_eRuler , drawing_state->custom_segments[i].m_nCount);
}
//for (int i = 0; i < drawing_state->custom_adjustHandles.size(); i++)
//{//todooo - ?????
// shape->m_oCustomVML.addHandle(i, *drawing_state->custom_adjustHandles[i]);
//}
for (int i = 0; i < drawing_state->custom_adjustValues.size(); i++)
{
if (drawing_state->custom_adjustValues[i])
......@@ -840,16 +851,13 @@ std::wstring xlsx_drawing_context::convert_custom_shape(_drawing_state_ptr & dra
//-------------------------------------------------------------------------------------
if (drawing_state->custom_rect.cx > 0 && drawing_state->custom_rect.cy > 0)
{
//shape->m_oManager.m_lShapeWidth = drawing_state->custom_rect.cx;
//shape->m_oManager.m_lShapeHeight = drawing_state->custom_rect.cy;
shape->m_oPath.SetCoordsize(drawing_state->custom_rect.cx, drawing_state->custom_rect.cy);
}
NSCustomShapesConvert::CFormParam pParamCoef;
pParamCoef.m_eType = NSCustomShapesConvert::ptValue;
pParamCoef.m_eType = NSCustomShapesConvert::ptValue;
pParamCoef.m_lParam = 65536;
pParamCoef.m_lCoef = 65536;
pParamCoef.m_lCoef = 65536;
NSCustomShapesConvert::CFormulaConverter pFormulaConverter;
......@@ -1090,6 +1098,43 @@ void xlsx_drawing_context::serialize_gradient_fill(std::wostream & stream, _draw
}
}
void xlsx_drawing_context::serialize_anchor (std::wostream & stream, _drawing_state_ptr & drawing_state)
{
CP_XML_WRITER(stream)
{
if (drawing_state->type_anchor == 1)
{
CP_XML_NODE(L"xdr:from")
{
CP_XML_NODE(L"xdr:col") { CP_XML_CONTENT (drawing_state->sheet_anchor.colFrom); }
CP_XML_NODE(L"xdr:colOff") { CP_XML_CONTENT (drawing_state->sheet_anchor.xFrom) ; }
CP_XML_NODE(L"xdr:row") { CP_XML_CONTENT (drawing_state->sheet_anchor.rwFrom); }
CP_XML_NODE(L"xdr:rowOff") { CP_XML_CONTENT (drawing_state->sheet_anchor.yFrom) ; }
}
CP_XML_NODE(L"xdr:to")
{
CP_XML_NODE(L"xdr:col") { CP_XML_CONTENT (drawing_state->sheet_anchor.colTo); }
CP_XML_NODE(L"xdr:colOff") { CP_XML_CONTENT (drawing_state->sheet_anchor.xTo); }
CP_XML_NODE(L"xdr:row") { CP_XML_CONTENT (drawing_state->sheet_anchor.rwTo); }
CP_XML_NODE(L"xdr:rowOff") { CP_XML_CONTENT (drawing_state->sheet_anchor.yTo); }
}
}
if (drawing_state->type_anchor == 3)
{
CP_XML_NODE(L"xdr:pos")//in emu (1 pt = 12700)
{
CP_XML_ATTR(L"x", (int)(drawing_state->absolute_anchor.x * 12700));
CP_XML_ATTR(L"y", (int)(drawing_state->absolute_anchor.y * 12700));
}
CP_XML_NODE(L"xdr:ext") //in emu (1 pt = 12700)
{
CP_XML_ATTR(L"cx", (int)(drawing_state->absolute_anchor.cx * 12700));
CP_XML_ATTR(L"cy", (int)(drawing_state->absolute_anchor.cy * 12700));
}
}
}
}
void xlsx_drawing_context::serialize_xfrm(std::wostream & stream, _drawing_state_ptr & drawing_state)
{
std::wstring nameXfrm = L"a:xfrm";
......@@ -1370,12 +1415,12 @@ void xlsx_drawing_context::serialize_bitmap_fill(std::wostream & stream, _drawin
void xlsx_drawing_context::serialize(std::wostream & stream, _drawing_state_ptr & drawing_state)
{
if (drawing_state->anchor.str.empty()) return;
if (drawing_state->type_anchor == 0) return;
std::wstring sNodeAnchor;
if (drawing_state->anchor.type == 1) sNodeAnchor = L"xdr:twoCellAnchor";
else if (drawing_state->anchor.type == 2) sNodeAnchor = L"xdr:oneCellAnchor";
if (drawing_state->type_anchor == 1) sNodeAnchor = L"xdr:twoCellAnchor";
else if (drawing_state->type_anchor == 2) sNodeAnchor = L"xdr:oneCellAnchor";
else sNodeAnchor = L"xdr:absoluteAnchor";
if (sNodeAnchor.empty()) return;
......@@ -1384,9 +1429,10 @@ void xlsx_drawing_context::serialize(std::wostream & stream, _drawing_state_ptr
{
CP_XML_NODE(sNodeAnchor)
{
//CP_XML_ATTR(L"editAs", L"oneCell");
//if (drawing_state->anchor.type == 1) CP_XML_ATTR(L"editAs", L"oneCell");
serialize_anchor(CP_XML_STREAM(), drawing_state);
CP_XML_STREAM() << drawing_state->anchor.str;
CP_XML_STREAM() << drawing_state->shape;
CP_XML_NODE(L"xdr:clientData");
......@@ -1406,13 +1452,20 @@ void xlsx_drawing_context::set_description(const std::wstring & str)
current_drawing_states->back()->description = str;
}
void xlsx_drawing_context::set_sheet_anchor(const std::wstring & str)
void xlsx_drawing_context::set_sheet_anchor(int colFrom, int xFrom, int rwFrom, int yFrom, int colTo, int xTo, int rwTo,int yTo)
{
if (str.empty()) return;
if (current_drawing_states == NULL) return;
current_drawing_states->back()->anchor.str = str;
current_drawing_states->back()->anchor.type = 1;
current_drawing_states->back()->sheet_anchor.colFrom = colFrom;
current_drawing_states->back()->sheet_anchor.colTo = colTo;
current_drawing_states->back()->sheet_anchor.rwFrom = rwFrom;
current_drawing_states->back()->sheet_anchor.rwTo = rwTo;
current_drawing_states->back()->sheet_anchor.xFrom = xFrom;
current_drawing_states->back()->sheet_anchor.yFrom = yFrom;
current_drawing_states->back()->sheet_anchor.xTo = xTo;
current_drawing_states->back()->sheet_anchor.yTo = yTo;
current_drawing_states->back()->type_anchor = 1;
}
void xlsx_drawing_context::set_child_anchor(int x, int y, int cx, int cy)
{
......@@ -1432,29 +1485,16 @@ void xlsx_drawing_context::set_group_anchor(int x, int y, int cx, int cy)
current_drawing_states->back()->group_anchor.cx = cx;
current_drawing_states->back()->group_anchor.cy = cy;
}
void xlsx_drawing_context::set_absolute_anchor(double width, double height)
void xlsx_drawing_context::set_absolute_anchor(double x, double y, double cx, double cy)
{
if (current_drawing_states == NULL) return;
if (!current_drawing_states->back()->anchor.str.empty()) return; //
std::wstringstream stream;
CP_XML_WRITER(stream)
{
CP_XML_NODE(L"xdr:pos")
{
CP_XML_ATTR(L"x", 0);
CP_XML_ATTR(L"y", 0);
}
CP_XML_NODE(L"xdr:ext")
{
CP_XML_ATTR(L"cx", (int)(width * 12700)); //in emu (1 pt = 12700)
CP_XML_ATTR(L"cy", (int)(height * 12700)); //in emu (1 pt = 12700)
}
}
current_drawing_states->back()->absolute_anchor.x = x;
current_drawing_states->back()->absolute_anchor.y = y;
current_drawing_states->back()->absolute_anchor.cx = cx;
current_drawing_states->back()->absolute_anchor.cy = cy;
current_drawing_states->back()->anchor.str = stream.str();
current_drawing_states->back()->anchor.type = 3;
current_drawing_states->back()->type_anchor = 3;
}
void xlsx_drawing_context::set_fill_texture_mode(int val)
......@@ -1818,6 +1858,12 @@ void xlsx_drawing_context::set_custom_segments (std::vector<ODRAW::MSOPATHINFO>
current_drawing_states->back()->custom_segments = segments;
}
void xlsx_drawing_context::set_custom_adjustHandles(std::vector<ODRAW::ADJH> & handles)
{
if (current_drawing_states == NULL) return;
current_drawing_states->back()->custom_adjustHandles = handles;
}
void xlsx_drawing_context::set_custom_adjustValues(std::vector<_CP_OPT(int)> & values)
{
if (current_drawing_states == NULL) return;
......
......@@ -99,7 +99,8 @@ class _drawing_state
public:
_drawing_state() : shape_id(msosptRectangle),
flipH(false), flipV(false),
bTextBox(false)
bTextBox(false),
type_anchor(0)
{
id = -1;
rotation = 0;
......@@ -115,19 +116,27 @@ public:
struct _anchor
{
_anchor() : column(-1), row(-1), type(0){}
int column;
int row;
int type;
std::wstring str;
}anchor;
_anchor() : colFrom(-1), rwFrom(-1), colTo(-1), rwTo(0), xFrom(0), yFrom(0),xTo(0),yTo(0){}
int colFrom;
int xFrom;
int rwFrom;
int yFrom;
int colTo;
int xTo;
int rwTo;
int yTo;
} sheet_anchor;
_rect child_anchor;
_rect group_anchor;
_rect absolute_anchor;
int type_anchor;
std::wstring shape;
int id;
MSOSPT shape_id;
//----------------------------------------------
_rect child_anchor;
bool flipV;
bool flipH;
int rotation;
......@@ -135,6 +144,7 @@ public:
std::vector<ODRAW::MSOPATHINFO> custom_segments;
std::vector<ODRAW::MSOSG> custom_guides;
std::vector<ODRAW::MSOPOINT> custom_verticles;
std::vector<ODRAW::ADJH> custom_adjustHandles;
_rect custom_rect;
std::vector<_CP_OPT(int)> custom_adjustValues;
......@@ -219,7 +229,6 @@ public:
//for group
std::vector<_drawing_state_ptr> drawing_states;
std::vector<_drawing_state_ptr>* parent_drawing_states;
_rect group_anchor;
};
struct _hlink_desc
{
......@@ -280,10 +289,10 @@ public:
void set_line_width (int val);
void set_line_dash (int val);
void set_absolute_anchor (double width, double height);
void set_absolute_anchor (double x, double y, double cx, double cy);
void set_child_anchor (int x, int y, int cx, int cy);
void set_group_anchor (int x, int y, int cx, int cy);
void set_sheet_anchor (const std::wstring & str);
void set_sheet_anchor (int colFrom, int xFrom, int rwFrom, int yFrom, int colTo, int xTo, int rwTo,int yTo);
void set_properties (const std::wstring & str);
void set_hyperlink (const std::wstring & link, const std::wstring & display, bool is_external);
......@@ -311,6 +320,7 @@ public:
void set_custom_verticles (std::vector<ODRAW::MSOPOINT> & points);
void set_custom_segments (std::vector<ODRAW::MSOPATHINFO>& segments);
void set_custom_guides (std::vector<ODRAW::MSOSG> & guides);
void set_custom_adjustHandles(std::vector<ODRAW::ADJH> & handles);
void set_custom_adjustValues(std::vector<_CP_OPT(int)> & values);
void set_custom_path (int type_path);
//------------------------------------------------------------------------------
......@@ -353,6 +363,7 @@ private:
void serialize_line (std::wostream & stream, _drawing_state_ptr & drawing_state);
void serialize_xfrm (std::wostream & stream, _drawing_state_ptr & drawing_state);
void serialize_anchor (std::wostream & stream, _drawing_state_ptr & drawing_state);
void serialize_text (std::wostream & stream, _drawing_state_ptr & drawing_state);
void serialize_color (std::wostream & stream, const _color &color, double opacity = 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment