Commit afdaacb2 authored by ElenaSubbotina's avatar ElenaSubbotina

XlsFormat - external data records

parent 9f98f07f
...@@ -52,9 +52,9 @@ BaseObjectPtr ExtString::clone() ...@@ -52,9 +52,9 @@ BaseObjectPtr ExtString::clone()
void ExtString::readFields(CFRecord& record) void ExtString::readFields(CFRecord& record)
{ {
#pragma message("####################### ExtString record is not implemented") record >> frtHeaderOld >> string;
Log::error("ExtString record is not implemented.");
//record >> some_value; record.skipNunBytes(record.getDataSize() - record.getRdPtr());
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,12 +32,12 @@ ...@@ -32,12 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeaderOld.h"
#include "../Biff_structures/BiffString.h"
namespace XLS namespace XLS
{ {
// Logical representation of ExtString record in BIFF8
class ExtString: public BiffRecord class ExtString: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(ExtString) BIFF_RECORD_DEFINE_TYPE_INFO(ExtString)
...@@ -47,12 +47,13 @@ public: ...@@ -47,12 +47,13 @@ public:
~ExtString(); ~ExtString();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeExtString; static const ElementType type = typeExtString;
FrtHeaderOld frtHeaderOld;
XLUnicodeString string;
}; };
......
...@@ -55,13 +55,14 @@ void ExternName::readFields(CFRecord& record) ...@@ -55,13 +55,14 @@ void ExternName::readFields(CFRecord& record)
{ {
unsigned short flags; unsigned short flags;
record >> flags; record >> flags;
fBuiltIn = GETBIT(flags, 0);
fBuiltIn = GETBIT(flags, 0);
fWantAdvise = GETBIT(flags, 1); fWantAdvise = GETBIT(flags, 1);
fWantPict = GETBIT(flags, 2); fWantPict = GETBIT(flags, 2);
fOle = GETBIT(flags, 3); fOle = GETBIT(flags, 3);
fOleLink = GETBIT(flags, 4); fOleLink = GETBIT(flags, 4);
cf = GETBITS(flags, 5, 14); cf = GETBITS(flags, 5, 14);
fIcon = GETBIT(flags, 15); fIcon = GETBIT(flags, 15);
if(0x3A01 == supbook_cch) // UDF reference on a XLL or COM add-in. if(0x3A01 == supbook_cch) // UDF reference on a XLL or COM add-in.
{ {
...@@ -69,9 +70,6 @@ void ExternName::readFields(CFRecord& record) ...@@ -69,9 +70,6 @@ void ExternName::readFields(CFRecord& record)
} }
else else
{ {
#pragma message("####################### ExternName record is not implemented")
Log::error("ExternName record is not implemented.");
if(fOle && !fOleLink) // DDE data item if(fOle && !fOleLink) // DDE data item
{ {
body = BiffStructurePtr(new ExternDdeLinkNoOper); body = BiffStructurePtr(new ExternDdeLinkNoOper);
......
...@@ -52,9 +52,7 @@ BaseObjectPtr FnGrp12::clone() ...@@ -52,9 +52,7 @@ BaseObjectPtr FnGrp12::clone()
void FnGrp12::readFields(CFRecord& record) void FnGrp12::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> astFnGrp;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> astFnGrp;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of FnGrp12 record in BIFF8
class FnGrp12: public BiffRecord class FnGrp12: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(FnGrp12) BIFF_RECORD_DEFINE_TYPE_INFO(FnGrp12)
...@@ -48,14 +47,14 @@ public: ...@@ -48,14 +47,14 @@ public:
~FnGrp12(); ~FnGrp12();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeFnGrp12; static const ElementType type = typeFnGrp12;
//----------------------------- //-----------------------------
XLUnicodeString astFnGrp; XLUnicodeString astFnGrp;
FrtHeader frtHeader;
}; };
......
...@@ -52,11 +52,8 @@ BaseObjectPtr ForceFullCalculation::clone() ...@@ -52,11 +52,8 @@ BaseObjectPtr ForceFullCalculation::clone()
void ForceFullCalculation::readFields(CFRecord& record) void ForceFullCalculation::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
_UINT32 temp; _UINT32 temp;
record >> temp; record >> frtHeader >> temp;
fNoDeps = temp; fNoDeps = temp;
} }
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of ForceFullCalculation record in BIFF8
class ForceFullCalculation: public BiffRecord class ForceFullCalculation: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(ForceFullCalculation) BIFF_RECORD_DEFINE_TYPE_INFO(ForceFullCalculation)
...@@ -51,10 +50,11 @@ public: ...@@ -51,10 +50,11 @@ public:
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeForceFullCalculation; static const ElementType type = typeForceFullCalculation;
//----------------------------- //-----------------------------
bool fNoDeps; bool fNoDeps;
FrtHeader frtHeader;
}; };
......
...@@ -52,10 +52,9 @@ BaseObjectPtr GUIDTypeLib::clone() ...@@ -52,10 +52,9 @@ BaseObjectPtr GUIDTypeLib::clone()
void GUIDTypeLib::readFields(CFRecord& record) void GUIDTypeLib::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
_GUID_ guid_num; _GUID_ guid_num;
record >> guid_num;
record >> frtHeader >> guid_num;
guid = STR::guid2bstr(guid_num); guid = STR::guid2bstr(guid_num);
} }
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of GUIDTypeLib record in BIFF8
class GUIDTypeLib: public BiffRecord class GUIDTypeLib: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(GUIDTypeLib) BIFF_RECORD_DEFINE_TYPE_INFO(GUIDTypeLib)
...@@ -47,16 +46,14 @@ public: ...@@ -47,16 +46,14 @@ public:
~GUIDTypeLib(); ~GUIDTypeLib();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeGUIDTypeLib; static const ElementType type = typeGUIDTypeLib;
//----------------------------- //-----------------------------
std::wstring guid; std::wstring guid;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -52,8 +52,8 @@ BaseObjectPtr MDB::clone() ...@@ -52,8 +52,8 @@ BaseObjectPtr MDB::clone()
void MDB::readFields(CFRecord& record) void MDB::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
while(!record.isEOF()) while(!record.isEOF())
{ {
MDirPtr element(new MDir); MDirPtr element(new MDir);
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/MDir.h> #include "../Biff_structures/MDir.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDB record in BIFF8
class MDB: public BiffRecord class MDB: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDB) BIFF_RECORD_DEFINE_TYPE_INFO(MDB)
...@@ -48,11 +47,11 @@ public: ...@@ -48,11 +47,11 @@ public:
~MDB(); ~MDB();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
BiffStructurePtrVector rgmdir; BiffStructurePtrVector rgmdir;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -52,11 +52,9 @@ BaseObjectPtr MDTInfo::clone() ...@@ -52,11 +52,9 @@ BaseObjectPtr MDTInfo::clone()
void MDTInfo::readFields(CFRecord& record) void MDTInfo::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
_UINT32 flags; _UINT32 flags;
record >> flags;
record >> frtHeader >> flags;
fGhostRow = GETBIT(flags, 0); fGhostRow = GETBIT(flags, 0);
fGhostCol = GETBIT(flags, 1); fGhostCol = GETBIT(flags, 1);
......
...@@ -32,13 +32,13 @@ ...@@ -32,13 +32,13 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDTInfo record in BIFF8
class MDTInfo: public BiffRecord class MDTInfo: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDTInfo) BIFF_RECORD_DEFINE_TYPE_INFO(MDTInfo)
...@@ -48,7 +48,6 @@ public: ...@@ -48,7 +48,6 @@ public:
~MDTInfo(); ~MDTInfo();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
...@@ -79,7 +78,8 @@ public: ...@@ -79,7 +78,8 @@ public:
bool fAdjust; bool fAdjust;
bool fCellMeta; bool fCellMeta;
LPWideString stName; LPWideString stName;
FrtHeader frtHeader;
}; };
......
...@@ -52,9 +52,7 @@ BaseObjectPtr MDXKPI::clone() ...@@ -52,9 +52,7 @@ BaseObjectPtr MDXKPI::clone()
void MDXKPI::readFields(CFRecord& record) void MDXKPI::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> istrConnName >> tfnSrc >> kpiprop >> istrKPIName >> istrMbrKPI;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> istrConnName >> tfnSrc >> kpiprop >> istrKPIName >> istrMbrKPI;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,12 +32,12 @@ ...@@ -32,12 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDXKPI record in BIFF8
class MDXKPI: public BiffRecord class MDXKPI: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDXKPI) BIFF_RECORD_DEFINE_TYPE_INFO(MDXKPI)
...@@ -47,7 +47,6 @@ public: ...@@ -47,7 +47,6 @@ public:
~MDXKPI(); ~MDXKPI();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
...@@ -56,6 +55,7 @@ public: ...@@ -56,6 +55,7 @@ public:
unsigned char kpiprop; unsigned char kpiprop;
_INT32 istrKPIName; _INT32 istrKPIName;
_INT32 istrMbrKPI; _INT32 istrMbrKPI;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -50,12 +50,9 @@ BaseObjectPtr MDXProp::clone() ...@@ -50,12 +50,9 @@ BaseObjectPtr MDXProp::clone()
return BaseObjectPtr(new MDXProp(*this)); return BaseObjectPtr(new MDXProp(*this));
} }
void MDXProp::readFields(CFRecord& record) void MDXProp::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> istrConnName >> tfnSrc >> istrMbr >> istrProp;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> istrConnName >> tfnSrc >> istrMbr >> istrProp;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDXProp record in BIFF8
class MDXProp: public BiffRecord class MDXProp: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDXProp) BIFF_RECORD_DEFINE_TYPE_INFO(MDXProp)
...@@ -47,14 +46,14 @@ public: ...@@ -47,14 +46,14 @@ public:
~MDXProp(); ~MDXProp();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
_INT32 istrConnName; _INT32 istrConnName;
unsigned char tfnSrc; unsigned char tfnSrc;
_UINT32 istrMbr; _UINT32 istrMbr;
_UINT32 istrProp; _UINT32 istrProp;
FrtHeader frtHeader;
}; };
......
...@@ -50,12 +50,10 @@ BaseObjectPtr MDXSet::clone() ...@@ -50,12 +50,10 @@ BaseObjectPtr MDXSet::clone()
return BaseObjectPtr(new MDXSet(*this)); return BaseObjectPtr(new MDXSet(*this));
} }
void MDXSet::readFields(CFRecord& record) void MDXSet::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> istrConnName >> tfnSrc >> sso >> istrSetDef >> cistr;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> istrConnName >> tfnSrc >> sso >> istrSetDef >> cistr;
while(!record.isEOF()) while(!record.isEOF())
{ {
MDXStrIndexPtr element(new MDXStrIndex); MDXStrIndexPtr element(new MDXStrIndex);
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/MDXStrIndex.h> #include "../Biff_structures/MDXStrIndex.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDXSet record in BIFF8
class MDXSet: public BiffRecord class MDXSet: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDXSet) BIFF_RECORD_DEFINE_TYPE_INFO(MDXSet)
...@@ -48,16 +47,16 @@ public: ...@@ -48,16 +47,16 @@ public:
~MDXSet(); ~MDXSet();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
_INT32 istrConnName; _INT32 istrConnName;
unsigned char tfnSrc; unsigned char tfnSrc;
unsigned char sso; unsigned char sso;
_UINT32 istrSetDef; _UINT32 istrSetDef;
_INT32 cistr; _INT32 cistr;
BiffStructurePtrVector rgistr; BiffStructurePtrVector rgistr;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -50,12 +50,9 @@ BaseObjectPtr MDXStr::clone() ...@@ -50,12 +50,9 @@ BaseObjectPtr MDXStr::clone()
return BaseObjectPtr(new MDXStr(*this)); return BaseObjectPtr(new MDXStr(*this));
} }
void MDXStr::readFields(CFRecord& record) void MDXStr::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> st;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> st;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDXStr record in BIFF8
class MDXStr: public BiffRecord class MDXStr: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDXStr) BIFF_RECORD_DEFINE_TYPE_INFO(MDXStr)
...@@ -52,7 +51,8 @@ public: ...@@ -52,7 +51,8 @@ public:
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
LPWideString st; LPWideString st;
FrtHeader frtHeader;
}; };
......
...@@ -50,12 +50,10 @@ BaseObjectPtr MDXTuple::clone() ...@@ -50,12 +50,10 @@ BaseObjectPtr MDXTuple::clone()
return BaseObjectPtr(new MDXTuple(*this)); return BaseObjectPtr(new MDXTuple(*this));
} }
void MDXTuple::readFields(CFRecord& record) void MDXTuple::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> istrConnName >> tfnSrc >> cistr;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> istrConnName >> tfnSrc >> cistr;
while(!record.isEOF()) while(!record.isEOF())
{ {
MDXStrIndexPtr element(new MDXStrIndex); MDXStrIndexPtr element(new MDXStrIndex);
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/MDXStrIndex.h> #include "../Biff_structures/MDXStrIndex.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of MDXTuple record in BIFF8
class MDXTuple: public BiffRecord class MDXTuple: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(MDXTuple) BIFF_RECORD_DEFINE_TYPE_INFO(MDXTuple)
...@@ -48,18 +47,17 @@ public: ...@@ -48,18 +47,17 @@ public:
~MDXTuple(); ~MDXTuple();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeMDXTuple; static const ElementType type = typeMDXTuple;
//----------------------------- //-----------------------------
_INT32 istrConnName; _INT32 istrConnName;
unsigned char tfnSrc; unsigned char tfnSrc;
_INT32 cistr; _INT32 cistr;
BiffStructurePtrVector rgistr; BiffStructurePtrVector rgistr;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -44,7 +44,6 @@ NameFnGrp12::~NameFnGrp12() ...@@ -44,7 +44,6 @@ NameFnGrp12::~NameFnGrp12()
{ {
} }
BaseObjectPtr NameFnGrp12::clone() BaseObjectPtr NameFnGrp12::clone()
{ {
return BaseObjectPtr(new NameFnGrp12(*this)); return BaseObjectPtr(new NameFnGrp12(*this));
...@@ -52,9 +51,7 @@ BaseObjectPtr NameFnGrp12::clone() ...@@ -52,9 +51,7 @@ BaseObjectPtr NameFnGrp12::clone()
void NameFnGrp12::readFields(CFRecord& record) void NameFnGrp12::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> cachName >> fgrp >> rgach;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> cachName >> fgrp >> rgach;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of NameFnGrp12 record in BIFF8
class NameFnGrp12: public BiffRecord class NameFnGrp12: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(NameFnGrp12) BIFF_RECORD_DEFINE_TYPE_INFO(NameFnGrp12)
...@@ -48,15 +47,14 @@ public: ...@@ -48,15 +47,14 @@ public:
~NameFnGrp12(); ~NameFnGrp12();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
//----------------------------- //-----------------------------
_UINT16 cachName; _UINT16 cachName;
_UINT16 fgrp; _UINT16 fgrp;
XLUnicodeString rgach; XLUnicodeString rgach;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -44,7 +44,6 @@ NamePublish::~NamePublish() ...@@ -44,7 +44,6 @@ NamePublish::~NamePublish()
{ {
} }
BaseObjectPtr NamePublish::clone() BaseObjectPtr NamePublish::clone()
{ {
return BaseObjectPtr(new NamePublish(*this)); return BaseObjectPtr(new NamePublish(*this));
...@@ -52,10 +51,10 @@ BaseObjectPtr NamePublish::clone() ...@@ -52,10 +51,10 @@ BaseObjectPtr NamePublish::clone()
void NamePublish::readFields(CFRecord& record) void NamePublish::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
unsigned short flags; unsigned short flags;
record >> flags >> strName;
record >> frtHeader >> flags >> strName;
fPublished = GETBIT(flags, 0); fPublished = GETBIT(flags, 0);
fWorkbookParam = GETBIT(flags, 0); fWorkbookParam = GETBIT(flags, 0);
} }
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of NamePublish record in BIFF8
class NamePublish: public BiffRecord class NamePublish: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(NamePublish) BIFF_RECORD_DEFINE_TYPE_INFO(NamePublish)
...@@ -48,17 +47,17 @@ public: ...@@ -48,17 +47,17 @@ public:
~NamePublish(); ~NamePublish();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeNamePublish; static const ElementType type = typeNamePublish;
//----------------------------- //-----------------------------
bool fPublished; bool fPublished;
bool fWorkbookParam; bool fWorkbookParam;
XLUnicodeString strName; XLUnicodeString strName;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -39,7 +39,6 @@ SortData::SortData() ...@@ -39,7 +39,6 @@ SortData::SortData()
{ {
} }
SortData::~SortData() SortData::~SortData()
{ {
} }
...@@ -51,11 +50,9 @@ BaseObjectPtr SortData::clone() ...@@ -51,11 +50,9 @@ BaseObjectPtr SortData::clone()
void SortData::readFields(CFRecord& record) void SortData::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
unsigned short flags; unsigned short flags;
record >> flags;
record >> frtHeader >> flags;
fCol = GETBIT(flags, 0); fCol = GETBIT(flags, 0);
fCaseSensitive = GETBIT(flags, 1); fCaseSensitive = GETBIT(flags, 1);
......
...@@ -32,8 +32,9 @@ ...@@ -32,8 +32,9 @@
#pragma once #pragma once
#include "BiffRecordContinued.h" #include "BiffRecordContinued.h"
#include <Logic/Biff_structures/CellRangeRef.h> #include "../Biff_structures/CellRangeRef.h"
#include <Logic/Biff_structures/SortCond12.h> #include "../Biff_structures/SortCond12.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
...@@ -60,7 +61,8 @@ public: ...@@ -60,7 +61,8 @@ public:
BIFF_DWORD cconditions; BIFF_DWORD cconditions;
BIFF_DWORD idParent; BIFF_DWORD idParent;
BiffStructurePtrVector sortCond12Array; BiffStructurePtrVector sortCond12Array;
FrtHeader frtHeader;
//----------------------------- //-----------------------------
std::wstring rfx; std::wstring rfx;
......
...@@ -52,10 +52,8 @@ BaseObjectPtr StyleExt::clone() ...@@ -52,10 +52,8 @@ BaseObjectPtr StyleExt::clone()
void StyleExt::readFields(CFRecord& record) void StyleExt::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
unsigned char flags; unsigned char flags;
record >> flags; record >> frtHeader >> flags;
fBuiltIn = GETBIT(flags, 0); fBuiltIn = GETBIT(flags, 0);
fHidden = GETBIT(flags, 1); fHidden = GETBIT(flags, 1);
......
...@@ -32,9 +32,11 @@ ...@@ -32,9 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BuiltInStyle.h>
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BuiltInStyle.h"
#include <Logic/Biff_structures/XFProps.h> #include "../Biff_structures/XFProps.h"
#include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
...@@ -67,6 +69,8 @@ public: ...@@ -67,6 +69,8 @@ public:
BuiltInStyle builtInData; BuiltInStyle builtInData;
LPWideString stName; LPWideString stName;
XFProps xfProps; XFProps xfProps;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -52,12 +52,13 @@ BaseObjectPtr TableStyle::clone() ...@@ -52,12 +52,13 @@ BaseObjectPtr TableStyle::clone()
void TableStyle::readFields(CFRecord& record) void TableStyle::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
unsigned short flags; unsigned short flags;
record >> flags;
record >> frtHeader >> flags;
fIsPivot = GETBIT(flags, 1); fIsPivot = GETBIT(flags, 1);
fIsTable = GETBIT(flags, 2); fIsTable = GETBIT(flags, 2);
unsigned short cchName; unsigned short cchName;
record >> ctse >> cchName; record >> ctse >> cchName;
rgchName.setSize(cchName); rgchName.setSize(cchName);
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of TableStyle record in BIFF8
class TableStyle: public BiffRecord class TableStyle: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(TableStyle) BIFF_RECORD_DEFINE_TYPE_INFO(TableStyle)
...@@ -49,18 +48,16 @@ public: ...@@ -49,18 +48,16 @@ public:
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeTableStyle; static const ElementType type = typeTableStyle;
//----------------------------- //-----------------------------
bool fIsPivot; bool fIsPivot;
bool fIsTable; bool fIsTable;
_UINT32 ctse; _UINT32 ctse;
LPWideStringNoCch rgchName; LPWideStringNoCch rgchName;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -39,23 +39,18 @@ TableStyleElement::TableStyleElement() ...@@ -39,23 +39,18 @@ TableStyleElement::TableStyleElement()
{ {
} }
TableStyleElement::~TableStyleElement() TableStyleElement::~TableStyleElement()
{ {
} }
BaseObjectPtr TableStyleElement::clone() BaseObjectPtr TableStyleElement::clone()
{ {
return BaseObjectPtr(new TableStyleElement(*this)); return BaseObjectPtr(new TableStyleElement(*this));
} }
void TableStyleElement::readFields(CFRecord& record) void TableStyleElement::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> tseType >> size >> index;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> tseType >> size >> index;
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of TableStyleElement record in BIFF8
class TableStyleElement: public BiffRecord class TableStyleElement: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(TableStyleElement) BIFF_RECORD_DEFINE_TYPE_INFO(TableStyleElement)
...@@ -47,17 +46,16 @@ public: ...@@ -47,17 +46,16 @@ public:
~TableStyleElement(); ~TableStyleElement();
BaseObjectPtr clone(); BaseObjectPtr clone();
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeTableStyleElement; static const ElementType type = typeTableStyleElement;
//----------------------------- //-----------------------------
_UINT32 tseType; _UINT32 tseType;
_UINT32 size; _UINT32 size;
_UINT32 index; _UINT32 index;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -39,12 +39,10 @@ TableStyles::TableStyles() ...@@ -39,12 +39,10 @@ TableStyles::TableStyles()
{ {
} }
TableStyles::~TableStyles() TableStyles::~TableStyles()
{ {
} }
BaseObjectPtr TableStyles::clone() BaseObjectPtr TableStyles::clone()
{ {
return BaseObjectPtr(new TableStyles(*this)); return BaseObjectPtr(new TableStyles(*this));
...@@ -52,12 +50,9 @@ BaseObjectPtr TableStyles::clone() ...@@ -52,12 +50,9 @@ BaseObjectPtr TableStyles::clone()
void TableStyles::readFields(CFRecord& record) void TableStyles::readFields(CFRecord& record)
{ {
record.skipNunBytes(12);
#pragma message(">>>>>>>>>>> frtHeader skipped here")
unsigned short cchDefTableStyle; unsigned short cchDefTableStyle;
unsigned short cchDefPivotStyle; unsigned short cchDefPivotStyle;
record >> cts >> cchDefTableStyle >> cchDefPivotStyle; record >> frtHeader >> cts >> cchDefTableStyle >> cchDefPivotStyle;
rgchDefTableStyle.setSize(cchDefTableStyle); rgchDefTableStyle.setSize(cchDefTableStyle);
rgchDefPivotStyle.setSize(cchDefPivotStyle); rgchDefPivotStyle.setSize(cchDefPivotStyle);
......
...@@ -32,12 +32,12 @@ ...@@ -32,12 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of TableStyles record in BIFF8
class TableStyles: public BiffRecord class TableStyles: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(TableStyles) BIFF_RECORD_DEFINE_TYPE_INFO(TableStyles)
...@@ -50,13 +50,13 @@ public: ...@@ -50,13 +50,13 @@ public:
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeTableStyles; static const ElementType type = typeTableStyles;
//----------------------------- //-----------------------------
_UINT32 cts; _UINT32 cts;
LPWideStringNoCch rgchDefTableStyle; LPWideStringNoCch rgchDefTableStyle;
LPWideStringNoCch rgchDefPivotStyle; LPWideStringNoCch rgchDefPivotStyle;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -41,12 +41,10 @@ Theme::Theme() ...@@ -41,12 +41,10 @@ Theme::Theme()
{ {
} }
Theme::~Theme() Theme::~Theme()
{ {
} }
BaseObjectPtr Theme::clone() BaseObjectPtr Theme::clone()
{ {
return BaseObjectPtr(new Theme(*this)); return BaseObjectPtr(new Theme(*this));
...@@ -54,9 +52,7 @@ BaseObjectPtr Theme::clone() ...@@ -54,9 +52,7 @@ BaseObjectPtr Theme::clone()
void Theme::readFields(CFRecord& record) void Theme::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader >> dwThemeVersion;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record >> dwThemeVersion;
if(!dwThemeVersion) if(!dwThemeVersion)
{ {
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of Theme record in BIFF8
class Theme: public BiffRecord class Theme: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(Theme) BIFF_RECORD_DEFINE_TYPE_INFO(Theme)
...@@ -53,9 +52,8 @@ public: ...@@ -53,9 +52,8 @@ public:
static const ElementType type = typeTheme; static const ElementType type = typeTheme;
//----------------------------- //-----------------------------
_UINT32 dwThemeVersion; _UINT32 dwThemeVersion;
//std::wstring rgb; FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -39,12 +39,10 @@ XFCRC::XFCRC() ...@@ -39,12 +39,10 @@ XFCRC::XFCRC()
{ {
} }
XFCRC::~XFCRC() XFCRC::~XFCRC()
{ {
} }
BaseObjectPtr XFCRC::clone() BaseObjectPtr XFCRC::clone()
{ {
return BaseObjectPtr(new XFCRC(*this)); return BaseObjectPtr(new XFCRC(*this));
...@@ -52,8 +50,7 @@ BaseObjectPtr XFCRC::clone() ...@@ -52,8 +50,7 @@ BaseObjectPtr XFCRC::clone()
void XFCRC::readFields(CFRecord& record) void XFCRC::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record.skipNunBytes(2); // reserved record.skipNunBytes(2); // reserved
record >> cxfs >> crc; record >> cxfs >> crc;
} }
......
...@@ -32,12 +32,11 @@ ...@@ -32,12 +32,11 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of XFCRC record in BIFF8
class XFCRC: public BiffRecord class XFCRC: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(XFCRC) BIFF_RECORD_DEFINE_TYPE_INFO(XFCRC)
...@@ -50,12 +49,12 @@ public: ...@@ -50,12 +49,12 @@ public:
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeXFCRC; static const ElementType type = typeXFCRC;
//----------------------------- //-----------------------------
_UINT16 cxfs; _UINT16 cxfs;
_UINT32 crc; _UINT32 crc;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -39,12 +39,10 @@ XFExt::XFExt() ...@@ -39,12 +39,10 @@ XFExt::XFExt()
{ {
} }
XFExt::~XFExt() XFExt::~XFExt()
{ {
} }
BaseObjectPtr XFExt::clone() BaseObjectPtr XFExt::clone()
{ {
return BaseObjectPtr(new XFExt(*this)); return BaseObjectPtr(new XFExt(*this));
...@@ -52,8 +50,7 @@ BaseObjectPtr XFExt::clone() ...@@ -52,8 +50,7 @@ BaseObjectPtr XFExt::clone()
void XFExt::readFields(CFRecord& record) void XFExt::readFields(CFRecord& record)
{ {
record.skipNunBytes(12); record >> frtHeader;
#pragma message(">>>>>>>>>>> frtHeader skipped here")
record.skipNunBytes(2); // reserved record.skipNunBytes(2); // reserved
record >> ixfe; record >> ixfe;
record.skipNunBytes(2); // reserved record.skipNunBytes(2); // reserved
......
...@@ -32,13 +32,12 @@ ...@@ -32,13 +32,12 @@
#pragma once #pragma once
#include "BiffRecord.h" #include "BiffRecord.h"
#include <Logic/Biff_structures/ExtProp.h> #include "../Biff_structures/ExtProp.h"
#include "../Biff_structures/FrtHeader.h"
namespace XLS namespace XLS
{ {
// Logical representation of XFExt record in BIFF8
class XFExt: public BiffRecord class XFExt: public BiffRecord
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(XFExt) BIFF_RECORD_DEFINE_TYPE_INFO(XFExt)
...@@ -51,13 +50,13 @@ public: ...@@ -51,13 +50,13 @@ public:
void readFields(CFRecord& record); void readFields(CFRecord& record);
static const ElementType type = typeXFExt; static const ElementType type = typeXFExt;
//----------------------------- //-----------------------------
_UINT16 ixfe; _UINT16 ixfe;
_UINT16 cexts; _UINT16 cexts;
BiffStructurePtrVector rgExt; BiffStructurePtrVector rgExt;
FrtHeader frtHeader;
}; };
} // namespace XLS } // namespace XLS
......
...@@ -49,8 +49,6 @@ public: ...@@ -49,8 +49,6 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
unsigned char fDefault; unsigned char fDefault;
unsigned char fHelp; unsigned char fHelp;
unsigned char fCancel; unsigned char fCancel;
......
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