#include "MacroSheetSubstream.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace XLS {; MacroSheetSubstream::MacroSheetSubstream() { } MacroSheetSubstream::~MacroSheetSubstream() { } BaseObjectPtr MacroSheetSubstream::clone() { return BaseObjectPtr(new MacroSheetSubstream(*this)); } /* MACROSHEETCONTENT = [Uncalced] Index [Intl] GLOBALS PAGESETUP [HeaderFooter] [BACKGROUND] *BIGNAME [PROTECTION] COLUMNS MACROSORTANDFILTER Dimensions [CELLTABLE] OBJECTS *HFPicture *Note [DCON] 1*WINDOW *CUSTOMVIEW *2SORT [DxGCol] [PHONETICINFO] [CodeName] *CellWatch [SheetExt] *FEAT *RECORD12 EOF MACROSHEET = BOF MACROSHEETCONTENT */ const bool MacroSheetSubstream::loadContent(BinProcessor& proc) { if(!proc.mandatory()) { return false; } proc.optional(); proc.mandatory(); proc.optional(); GLOBALS globals(false); if (proc.mandatory(globals)) // not dialog { m_GLOBALS = elements_.back(); elements_.pop_back(); } int count = 0; proc.mandatory(); proc.optional(); proc.optional(); proc.repeated(0, 0); proc.optional(); proc.mandatory(); proc.mandatory(); proc.mandatory(); std::vector shared_formulas_locations; CELLTABLE cell_table(shared_formulas_locations); proc.optional(cell_table); OBJECTS objects(false); if (proc.mandatory(objects)) { m_OBJECTS = elements_.back(); elements_.pop_back(); } proc.repeated(0, 0); proc.repeated(0, 0); proc.optional(); proc.repeated(1, 0); count = proc.repeated(0, 0); while(count > 0) { m_arCUSTOMVIEW.insert(m_arCUSTOMVIEW.begin(), elements_.back()); elements_.pop_back(); count--; } proc.repeated(0, 2); proc.optional(); proc.optional(); proc.optional(); proc.repeated(0, 0); proc.optional(); proc.repeated(0, 0); proc.repeated(0, 0); proc.mandatory(); return true; } } // namespace XLS