Commit 78ecdc67 authored by ElenaSubbotina's avatar ElenaSubbotina

.

parent bbccdf00
......@@ -101,6 +101,8 @@ BiffStructurePtr SXAddl::createSxcView(CFRecord& record)
switch(sxd)
{
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 0xff: result = BiffStructurePtr(new SXAddl_SXCView_SXDEnd()); break;
}
......@@ -327,6 +329,61 @@ void SXAddl_SXCView_SXDId::load(CFRecord& record)
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()
{
return BiffStructurePtr(new SXAddl_SXCField_SXDEnd(*this));
......
......@@ -501,8 +501,60 @@ public:
_UINT32 dwItem;
};
//class SXAddl_SXCView_SXDVer10Info : public SXAddl {};
//class SXAddl_SXCView_SXDVer12Info : public SXAddl {};
class SXAddl_SXCView_SXDVer10Info: public BiffStructure
{
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_SXDItmMpropMap : public SXAddl {};
......
......@@ -78,10 +78,23 @@ const bool PIVOTADDL::loadContent(BinProcessor& proc)
{
SXAddl* addl = dynamic_cast<SXAddl*>(it->get());
if (!addl) continue;
SXAddl_SXCView_SXDTableStyleClient* p = dynamic_cast<SXAddl_SXCView_SXDTableStyleClient*>(addl->content.get());
if (p)
SXAddl_SXCView_SXDTableStyleClient* p1 = dynamic_cast<SXAddl_SXCView_SXDTableStyleClient*>(addl->content.get());
if (p1)
{
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>())
......
......@@ -112,8 +112,9 @@ int PIVOTVIEW::serialize(std::wostream & strm)
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;
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];
......@@ -142,7 +143,6 @@ int PIVOTVIEW::serialize(std::wostream & strm)
{
CP_XML_ATTR(L"dataCaption", view->stData.value());
}
//CP_XML_ATTR(L"asteriskTotals", 1);
CP_XML_ATTR(L"showMemberPropertyTips", 0);
CP_XML_ATTR(L"useAutoFormatting", view->fAutoFormat);
CP_XML_ATTR(L"autoFormatId", view->itblAutoFmt);
......@@ -150,12 +150,22 @@ int PIVOTVIEW::serialize(std::wostream & strm)
{
CP_XML_ATTR(L"itemPrintTitles", view_ex9->fPrintTitles);
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)
{
......
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