Commit 78ecdc67 authored by ElenaSubbotina's avatar ElenaSubbotina

.

parent bbccdf00
...@@ -101,6 +101,8 @@ BiffStructurePtr SXAddl::createSxcView(CFRecord& record) ...@@ -101,6 +101,8 @@ BiffStructurePtr SXAddl::createSxcView(CFRecord& record)
switch(sxd) switch(sxd)
{ {
case 0x00: result = BiffStructurePtr(new SXAddl_SXCView_SXDId()); break; case 0x00: result = BiffStructurePtr(new SXAddl_SXCView_SXDId()); break;
case 0x02: result = BiffStructurePtr(new SXAddl_SXCView_SXDVer10Info()); break;
case 0x19: result = BiffStructurePtr(new SXAddl_SXCView_SXDVer12Info()); break;
case 0x1E: result = BiffStructurePtr(new SXAddl_SXCView_SXDTableStyleClient()); break; case 0x1E: result = BiffStructurePtr(new SXAddl_SXCView_SXDTableStyleClient()); break;
case 0xff: result = BiffStructurePtr(new SXAddl_SXCView_SXDEnd()); break; case 0xff: result = BiffStructurePtr(new SXAddl_SXCView_SXDEnd()); break;
} }
...@@ -327,6 +329,61 @@ void SXAddl_SXCView_SXDId::load(CFRecord& record) ...@@ -327,6 +329,61 @@ void SXAddl_SXCView_SXDId::load(CFRecord& record)
record >> stName; record >> stName;
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
BiffStructurePtr SXAddl_SXCView_SXDVer10Info::clone()
{
return BiffStructurePtr(new SXAddl_SXCView_SXDVer10Info(*this));
}
void SXAddl_SXCView_SXDVer10Info::load(CFRecord& record)
{
unsigned short flags, reserved2;
unsigned char unused;
record >> bVerSxMacro >> flags >> unused >> reserved2;
fDisplayImmediateItems = GETBIT(flags, 0);
fEnableDataEd = GETBIT(flags, 1);
fDisableFList = GETBIT(flags, 2);
fReenterOnLoadOnce = GETBIT(flags, 3);
fNotViewCalculatedMembers = GETBIT(flags, 4);
fNotVisualTotals = GETBIT(flags, 5);
fPageMultipleItemLabel = GETBIT(flags, 6);
fTensorFillCv = GETBIT(flags, 7);
fHideDDData = GETBIT(flags, 8);
}
//----------------------------------------------------------------------------
BiffStructurePtr SXAddl_SXCView_SXDVer12Info::clone()
{
return BiffStructurePtr(new SXAddl_SXCView_SXDVer12Info(*this));
}
void SXAddl_SXCView_SXDVer12Info::load(CFRecord& record)
{
_UINT32 flags;
unsigned short reserved3;
record >> flags >> reserved3;
fDefaultCompact = GETBIT(flags, 0);
fDefaultOutline = GETBIT(flags, 1);
fOutlineData = GETBIT(flags, 2);
fCompactData = GETBIT(flags, 3);
fNewDropZones = GETBIT(flags, 4);
fPublished = GETBIT(flags, 5);
fTurnOffImmersive = GETBIT(flags, 6);
fSingleFilterPerField = GETBIT(flags, 7);
fNonDefaultSortInFlist = GETBIT(flags, 8);
fDontUseCustomLists = GETBIT(flags, 10);
fHideDrillIndicators = GETBIT(flags, 12);
fPrintDrillIndicators = GETBIT(flags, 13);
fMemPropsInTips = GETBIT(flags, 14);
fNoPivotTips = GETBIT(flags, 15);
cIndentInc = GETBITS(flags, 16, 22);
fNoHeaders = GETBIT(flags, 23);
}
//----------------------------------------------------------------------------
BiffStructurePtr SXAddl_SXCField_SXDEnd::clone() BiffStructurePtr SXAddl_SXCField_SXDEnd::clone()
{ {
return BiffStructurePtr(new SXAddl_SXCField_SXDEnd(*this)); return BiffStructurePtr(new SXAddl_SXCField_SXDEnd(*this));
......
...@@ -501,8 +501,60 @@ public: ...@@ -501,8 +501,60 @@ public:
_UINT32 dwItem; _UINT32 dwItem;
}; };
//class SXAddl_SXCView_SXDVer10Info : public SXAddl {}; class SXAddl_SXCView_SXDVer10Info: public BiffStructure
//class SXAddl_SXCView_SXDVer12Info : public SXAddl {}; {
BASE_STRUCTURE_DEFINE_CLASS_NAME(SXAddl_SXCView_SXDVer10Info)
public:
BiffStructurePtr clone();
SXAddl_SXCView_SXDVer10Info(){}
~SXAddl_SXCView_SXDVer10Info(){}
virtual void load(CFRecord& record);
static const ElementType type = typeSXAddl;
unsigned char bVerSxMacro;
bool fDisplayImmediateItems;
bool fEnableDataEd;
bool fDisableFList;
bool fReenterOnLoadOnce;
bool fNotViewCalculatedMembers;
bool fNotVisualTotals;
bool fPageMultipleItemLabel;
bool fTensorFillCv;
bool fHideDDData;
};
class SXAddl_SXCView_SXDVer12Info: public BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(SXAddl_SXCView_SXDVer12Info)
public:
BiffStructurePtr clone();
SXAddl_SXCView_SXDVer12Info(){}
~SXAddl_SXCView_SXDVer12Info(){}
virtual void load(CFRecord& record);
static const ElementType type = typeSXAddl;
bool fDefaultCompact;
bool fDefaultOutline;
bool fOutlineData;
bool fCompactData;
bool fNewDropZones;
bool fPublished;
bool fTurnOffImmersive;
bool fSingleFilterPerField;
bool fNonDefaultSortInFlist;
bool fDontUseCustomLists;
bool fHideDrillIndicators;
bool fPrintDrillIndicators;
bool fMemPropsInTips;
bool fNoPivotTips;
unsigned char cIndentInc;
bool fNoHeaders;
};
//class SXAddl_SXCCacheItem_SXDItmMpMapCount : public SXAddl {}; //class SXAddl_SXCCacheItem_SXDItmMpMapCount : public SXAddl {};
//class SXAddl_SXCCacheItem_SXDItmMpropMap : public SXAddl {}; //class SXAddl_SXCCacheItem_SXDItmMpropMap : public SXAddl {};
......
...@@ -78,10 +78,23 @@ const bool PIVOTADDL::loadContent(BinProcessor& proc) ...@@ -78,10 +78,23 @@ const bool PIVOTADDL::loadContent(BinProcessor& proc)
{ {
SXAddl* addl = dynamic_cast<SXAddl*>(it->get()); SXAddl* addl = dynamic_cast<SXAddl*>(it->get());
if (!addl) continue; if (!addl) continue;
SXAddl_SXCView_SXDTableStyleClient* p = dynamic_cast<SXAddl_SXCView_SXDTableStyleClient*>(addl->content.get()); SXAddl_SXCView_SXDTableStyleClient* p1 = dynamic_cast<SXAddl_SXCView_SXDTableStyleClient*>(addl->content.get());
if (p) if (p1)
{ {
m_SXAddl_SXCView_SXDTableStyleClient = addl->content; m_SXAddl_SXCView_SXDTableStyleClient = addl->content;
continue;
}
SXAddl_SXCView_SXDVer10Info* p2 = dynamic_cast<SXAddl_SXCView_SXDVer10Info*>(addl->content.get());
if (p2)
{
m_SXAddl_SXCView_SXDVer10Info = addl->content;
continue;
}
SXAddl_SXCView_SXDVer12Info* p3 = dynamic_cast<SXAddl_SXCView_SXDVer12Info*>(addl->content.get());
if (p3)
{
m_SXAddl_SXCView_SXDVer12Info = addl->content;
continue;
} }
} }
//if(!proc.mandatory<SXAddl_SXCView_SXDId>()) //if(!proc.mandatory<SXAddl_SXCView_SXDId>())
......
...@@ -112,8 +112,9 @@ int PIVOTVIEW::serialize(std::wostream & strm) ...@@ -112,8 +112,9 @@ int PIVOTVIEW::serialize(std::wostream & strm)
PIVOTFRT9* frt9 = frt ? dynamic_cast<PIVOTFRT9*>(frt->m_PIVOTFRT9.get()) : NULL; PIVOTFRT9* frt9 = frt ? dynamic_cast<PIVOTFRT9*>(frt->m_PIVOTFRT9.get()) : NULL;
SXEx *view_ex = pivot_ex ? dynamic_cast<SXEx*>(pivot_ex->m_SXEx.get()) : NULL; SXEx *view_ex = pivot_ex ? dynamic_cast<SXEx*>(pivot_ex->m_SXEx.get()) : NULL;
SXViewEx9 *view_ex9 = pivot_ex ? dynamic_cast<SXViewEx9*>(frt9->m_SXViewEx9.get()) : NULL; SXViewEx9 *view_ex9 = pivot_ex ? dynamic_cast<SXViewEx9*>(frt9->m_SXViewEx9.get()) : NULL;
SXAddl_SXCView_SXDVer10Info *view_ex10 = addls ? dynamic_cast<SXAddl_SXCView_SXDVer10Info*>(addls->m_SXAddl_SXCView_SXDTableStyleClient.get()) : NULL;
SXAddl_SXCView_SXDVer12Info *view_ex12 = addls ? dynamic_cast<SXAddl_SXCView_SXDVer12Info*>(addls->m_SXAddl_SXCView_SXDTableStyleClient.get()) : NULL;
indexStream = global_info_->arPivotCacheStream[view->iCache]; indexStream = global_info_->arPivotCacheStream[view->iCache];
...@@ -142,7 +143,6 @@ int PIVOTVIEW::serialize(std::wostream & strm) ...@@ -142,7 +143,6 @@ int PIVOTVIEW::serialize(std::wostream & strm)
{ {
CP_XML_ATTR(L"dataCaption", view->stData.value()); CP_XML_ATTR(L"dataCaption", view->stData.value());
} }
//CP_XML_ATTR(L"asteriskTotals", 1);
CP_XML_ATTR(L"showMemberPropertyTips", 0); CP_XML_ATTR(L"showMemberPropertyTips", 0);
CP_XML_ATTR(L"useAutoFormatting", view->fAutoFormat); CP_XML_ATTR(L"useAutoFormatting", view->fAutoFormat);
CP_XML_ATTR(L"autoFormatId", view->itblAutoFmt); CP_XML_ATTR(L"autoFormatId", view->itblAutoFmt);
...@@ -150,12 +150,22 @@ int PIVOTVIEW::serialize(std::wostream & strm) ...@@ -150,12 +150,22 @@ int PIVOTVIEW::serialize(std::wostream & strm)
{ {
CP_XML_ATTR(L"itemPrintTitles", view_ex9->fPrintTitles); CP_XML_ATTR(L"itemPrintTitles", view_ex9->fPrintTitles);
CP_XML_ATTR(L"outline", view_ex9->fLineMode); CP_XML_ATTR(L"outline", view_ex9->fLineMode);
CP_XML_ATTR(L"outlineData", view_ex9->fLineMode);
CP_XML_ATTR(L"outlineData", view_ex12 ? view_ex12->fOutlineData : view_ex9->fLineMode);
}
CP_XML_ATTR(L"asteriskTotals", view_ex10 ? view_ex10->fNotVisualTotals : 0);
if (view_ex12)
{
CP_XML_ATTR(L"indent", view_ex12->cIndentInc );
CP_XML_ATTR(L"published", view_ex12->fPublished);
CP_XML_ATTR(L"compact", view_ex12->fCompactData);
CP_XML_ATTR(L"compactData", view_ex12->fCompactData);
CP_XML_ATTR(L"gridDropZones", view_ex12->fNewDropZones);
CP_XML_ATTR(L"showDrill", !view_ex12->fHideDrillIndicators);
CP_XML_ATTR(L"printDrill", view_ex12->fPrintDrillIndicators);
} }
CP_XML_ATTR(L"indent", 0);
CP_XML_ATTR(L"compact", 0);
CP_XML_ATTR(L"compactData", 0);
//CP_XML_ATTR(L"gridDropZones", 1); //makc1985_1 (2).xls
if (view_ex) if (view_ex)
{ {
......
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