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

XlsFormat - DefinedNames - анализ некорректных диапазонов, запись неверного...

XlsFormat - DefinedNames - анализ некорректных диапазонов, запись неверного (оригинального) значения в Comment DefineNames
Xlst - протащен DefineNames:Comment 

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@68937 954022d7-b5bf-4e40-9824-e11837661b57
parent 91e48f67
...@@ -642,7 +642,7 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita ...@@ -642,7 +642,7 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita
return L"#REF!"; return L"#REF!";
} }
static boost::wregex correct_sheet_name(L"^\\'.+?\\'$"); static boost::wregex correct_sheet_name(L"^\\'.+?\\'$");
static boost::wregex test_sheet_name(L"[\\s\\':.]+"); static boost::wregex test_sheet_name(L"[\\s\\':.-]+");
std::wstring sheet_first = tab2sheet_name(itabFirst, sheets_names); std::wstring sheet_first = tab2sheet_name(itabFirst, sheets_names);
if(!boost::regex_search(sheet_first.begin(), sheet_first.end(), correct_sheet_name)) if(!boost::regex_search(sheet_first.begin(), sheet_first.end(), correct_sheet_name))
...@@ -673,14 +673,17 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita ...@@ -673,14 +673,17 @@ const std::wstring xti_indexes2sheet_name(const short itabFirst, const short ita
return sheet_first + sheet_last; return sheet_first + sheet_last;
} }
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed) const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed, bool full_ref)
{ {
std::wstring sheets_prefix = xti2sheets(ixti, xti_parsed); std::wstring sheets_prefix = xti2sheets(ixti, xti_parsed);
if(L"#REF!" == sheets_prefix) if(L"#REF!" == sheets_prefix)
{ {
return sheets_prefix; return sheets_prefix;
} }
else if (!sheets_prefix.empty()) sheets_prefix += L"!"; else if (!sheets_prefix.empty()) sheets_prefix += L"!";
else if (sheets_prefix.empty() && full_ref) sheets_prefix += L"#REF!";
return sheets_prefix + cell_ref; return sheets_prefix + cell_ref;
} }
......
...@@ -67,7 +67,7 @@ namespace XMLSTUFF ...@@ -67,7 +67,7 @@ namespace XMLSTUFF
// Makes a new tag and append it to parent (no attributes set) // Makes a new tag and append it to parent (no attributes set)
//BiffStructurePtr createElement(const std::wstring & tag_name, BiffStructurePtr & parent); //BiffStructurePtr createElement(const std::wstring & tag_name, BiffStructurePtr & parent);
const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed); const std::wstring make3dRef(const unsigned short ixti, const std::wstring cell_ref, std::vector<std::wstring>& xti_parsed, bool full_ref = false);
//const unsigned short sheetsnames2ixti(const std::wstring str, MSXML2::IXMLDOMDocumentPtr doc); //const unsigned short sheetsnames2ixti(const std::wstring str, MSXML2::IXMLDOMDocumentPtr doc);
const std::wstring xti_indexes2sheet_name(const short itabFirst, const short itabLast, std::vector<std::wstring>& sheets_names); const std::wstring xti_indexes2sheet_name(const short itabFirst, const short itabLast, std::vector<std::wstring>& sheets_names);
......
...@@ -50,7 +50,7 @@ void ExtPtgArea3D::load(CFRecord& record) ...@@ -50,7 +50,7 @@ void ExtPtgArea3D::load(CFRecord& record)
} }
void ExtPtgArea3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void ExtPtgArea3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
#pragma message("####################### ExtPtgArea3D record is not implemented") #pragma message("####################### ExtPtgArea3D record is not implemented")
Log::info("ExtPtgArea3D record is not implemented."); Log::info("ExtPtgArea3D record is not implemented.");
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs; ExtSheetPair iTabs;
RgceAreaRel area; RgceAreaRel area;
......
...@@ -44,7 +44,7 @@ void ExtPtgAreaErr3D::load(CFRecord& record) ...@@ -44,7 +44,7 @@ void ExtPtgAreaErr3D::load(CFRecord& record)
} }
void ExtPtgAreaErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void ExtPtgAreaErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
#pragma message("####################### ExtPtgAreaErr3D record is not implemented") #pragma message("####################### ExtPtgAreaErr3D record is not implemented")
Log::info("ExtPtgAreaErr3D record is not implemented."); Log::info("ExtPtgAreaErr3D record is not implemented.");
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs; ExtSheetPair iTabs;
}; };
......
...@@ -24,7 +24,7 @@ void ExtPtgErr::load(CFRecord& record) ...@@ -24,7 +24,7 @@ void ExtPtgErr::load(CFRecord& record)
} }
void ExtPtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void ExtPtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(err.toString()); ptg_stack.push(err.toString());
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
BErr err; BErr err;
}; };
......
...@@ -29,7 +29,7 @@ void ExtPtgRef3D::load(CFRecord& record) ...@@ -29,7 +29,7 @@ void ExtPtgRef3D::load(CFRecord& record)
} }
void ExtPtgRef3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void ExtPtgRef3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref )
{ {
#pragma message("####################### ExtPtgRef3D record is not implemented") #pragma message("####################### ExtPtgRef3D record is not implemented")
Log::info("ExtPtgRef3D record is not implemented."); Log::info("ExtPtgRef3D record is not implemented.");
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs; ExtSheetPair iTabs;
RgceLocRel loc; RgceLocRel loc;
......
...@@ -27,7 +27,7 @@ void ExtPtgRefErr3D::load(CFRecord& record) ...@@ -27,7 +27,7 @@ void ExtPtgRefErr3D::load(CFRecord& record)
} }
void ExtPtgRefErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void ExtPtgRefErr3D::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
#pragma message("####################### ExtPtgRefErr3D record is not implemented") #pragma message("####################### ExtPtgRefErr3D record is not implemented")
Log::info("ExtPtgRefErr3D record is not implemented."); Log::info("ExtPtgRefErr3D record is not implemented.");
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
ExtSheetPair iTabs; ExtSheetPair iTabs;
}; };
......
...@@ -24,7 +24,7 @@ class BOperatorPtg_T: public OperatorPtg ...@@ -24,7 +24,7 @@ class BOperatorPtg_T: public OperatorPtg
public: public:
BOperatorPtg_T() : OperatorPtg(fixedPtgId) {}; BOperatorPtg_T() : OperatorPtg(fixedPtgId) {};
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{ {
std::wstring operand2(ptg_stack.top()); std::wstring operand2(ptg_stack.top());
ptg_stack.pop(); ptg_stack.pop();
...@@ -41,7 +41,7 @@ class UOperatorPtg_T: public OperatorPtg ...@@ -41,7 +41,7 @@ class UOperatorPtg_T: public OperatorPtg
{ {
public: public:
UOperatorPtg_T() : OperatorPtg(fixedType) {}; UOperatorPtg_T() : OperatorPtg(fixedType) {};
void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{ {
ptg_stack.top() = T::getSymbols() + ptg_stack.top(); ptg_stack.top() = T::getSymbols() + ptg_stack.top();
}; };
...@@ -302,7 +302,7 @@ public: ...@@ -302,7 +302,7 @@ public:
static const std::wstring symbols(L"%"); static const std::wstring symbols(L"%");
return symbols; return symbols;
} }
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false)
{ {
ptg_stack.top() += getOperatorSymbols(); ptg_stack.top() += getOperatorSymbols();
}; };
......
...@@ -40,7 +40,7 @@ const bool ParsedFormula::HasPtgTbl() const ...@@ -40,7 +40,7 @@ const bool ParsedFormula::HasPtgTbl() const
} }
const std::wstring ParsedFormula::getAssembledFormula() const const std::wstring ParsedFormula::getAssembledFormula(bool full_ref) const
{ {
const PtgVector& ptgs = rgce.getPtgs(); const PtgVector& ptgs = rgce.getPtgs();
if(ptgs.empty()) if(ptgs.empty())
...@@ -51,7 +51,7 @@ const std::wstring ParsedFormula::getAssembledFormula() const ...@@ -51,7 +51,7 @@ const std::wstring ParsedFormula::getAssembledFormula() const
PtgQueue extra_data = rgcb.getPtgs(); PtgQueue extra_data = rgcb.getPtgs();
for(PtgVectorIterator it = ptgs.begin(), itEnd = ptgs.end(); it != itEnd; ++it) for(PtgVectorIterator it = ptgs.begin(), itEnd = ptgs.end(); it != itEnd; ++it)
{ {
(*it)->assemble(ptg_stack, extra_data); (*it)->assemble(ptg_stack, extra_data, full_ref);
} }
if(1 != ptg_stack.size()) if(1 != ptg_stack.size())
{ {
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
const bool HasPtgTbl() const; const bool HasPtgTbl() const;
const std::wstring getAssembledFormula() const; const std::wstring getAssembledFormula(bool full_names = false) const;
static const ElementType type = typeParsedFormula; static const ElementType type = typeParsedFormula;
......
#include "Ptg.h" #include "Ptg.h"
#include <Binary/CFRecord.h> #include <Binary/CFRecord.h>
//#include <Exception/UnexpectedProgramPath.h>
namespace XLS namespace XLS
...@@ -11,43 +10,36 @@ Ptg::Ptg() ...@@ -11,43 +10,36 @@ Ptg::Ptg()
{ {
} }
Ptg::Ptg(const unsigned short ptg_id_init) Ptg::Ptg(const unsigned short ptg_id_init)
: ptg_id(ptg_id_init) : ptg_id(ptg_id_init)
{ {
} }
const unsigned short Ptg::getPtgId() const const unsigned short Ptg::getPtgId() const
{ {
return ptg_id.get_value_or(0); return ptg_id.get_value_or(0);
} }
const size_t Ptg::getOffsetInRecord() const const size_t Ptg::getOffsetInRecord() const
{ {
return offset_in_record.get_value_or(0); return offset_in_record.get_value_or(0);
} }
const size_t Ptg::getSizeOfStruct() const const size_t Ptg::getSizeOfStruct() const
{ {
return size_of_struct.get_value_or(0); return size_of_struct.get_value_or(0);
} }
void Ptg::addFuncWrapper(AssemblerStack& ptg_stack, const std::wstring& func_name) void Ptg::addFuncWrapper(AssemblerStack& ptg_stack, const std::wstring& func_name)
{ {
ptg_stack.top() = func_name + L'(' + ptg_stack.top() + L')'; ptg_stack.top() = func_name + L'(' + ptg_stack.top() + L')';
} }
void Ptg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
void Ptg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
{ {
} }
void Ptg::store(CFRecord& record) void Ptg::store(CFRecord& record)
{ {
offset_in_record = record.getDataSize(); offset_in_record = record.getDataSize();
......
...@@ -39,7 +39,7 @@ public: ...@@ -39,7 +39,7 @@ public:
const size_t getOffsetInRecord() const; const size_t getOffsetInRecord() const;
const size_t getSizeOfStruct() const; const size_t getSizeOfStruct() const;
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
_CP_OPT(unsigned short) ptg_id; _CP_OPT(unsigned short) ptg_id;
_CP_OPT(size_t) offset_in_record; _CP_OPT(size_t) offset_in_record;
......
...@@ -44,7 +44,7 @@ void PtgArea::loadFields(CFRecord& record) ...@@ -44,7 +44,7 @@ void PtgArea::loadFields(CFRecord& record)
} }
void PtgArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RgceArea range(area); RgceArea range(area);
if(!ptg_stack.empty()) if(!ptg_stack.empty())
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x05; static const unsigned short fixed_id = 0x05;
......
...@@ -46,7 +46,7 @@ void PtgArea3d::loadFields(CFRecord& record) ...@@ -46,7 +46,7 @@ void PtgArea3d::loadFields(CFRecord& record)
} }
void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevExternPtr tab_ids; RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front()))) if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
...@@ -60,7 +60,7 @@ void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) ...@@ -60,7 +60,7 @@ void PtgArea3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
std::wstring range_ref = area.toString(); std::wstring range_ref = area.toString();
ptg_stack.push(XMLSTUFF::make3dRef(ixti, range_ref, global_info->xti_parsed)); ptg_stack.push(XMLSTUFF::make3dRef(ixti, range_ref, global_info->xti_parsed, full_ref));
} }
......
...@@ -21,7 +21,7 @@ public: ...@@ -21,7 +21,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1B; static const unsigned short fixed_id = 0x1B;
unsigned short ixti; unsigned short ixti;
......
...@@ -35,7 +35,7 @@ void PtgAreaErr::loadFields(CFRecord& record) ...@@ -35,7 +35,7 @@ void PtgAreaErr::loadFields(CFRecord& record)
} }
void PtgAreaErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAreaErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
if(!ptg_stack.empty() && 0 == ptg_stack.top().find(L"#PtgElfRadical")) if(!ptg_stack.empty() && 0 == ptg_stack.top().find(L"#PtgElfRadical"))
{ {
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
virtual const unsigned short getPtgId() const { return id_fixed | (static_cast<unsigned char>(data_type) << 5);} virtual const unsigned short getPtgId() const { return id_fixed | (static_cast<unsigned char>(data_type) << 5);}
......
...@@ -28,7 +28,7 @@ void PtgAreaErr3d::loadFields(CFRecord& record) ...@@ -28,7 +28,7 @@ void PtgAreaErr3d::loadFields(CFRecord& record)
} }
void PtgAreaErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAreaErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevExternPtr tab_ids; RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front()))) if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short ixti; unsigned short ixti;
GlobalWorkbookInfoPtr global_info; GlobalWorkbookInfoPtr global_info;
......
...@@ -27,13 +27,6 @@ BiffStructurePtr PtgAreaN::clone() ...@@ -27,13 +27,6 @@ BiffStructurePtr PtgAreaN::clone()
return BiffStructurePtr(new PtgAreaN(*this)); return BiffStructurePtr(new PtgAreaN(*this));
} }
//void PtgAreaN::setXMLAttributes(BiffStructurePtr & xml_tag)
//{
// (area + cell_base_ref).toXML(xml_tag);
//}
void PtgAreaN::storeFields(CFRecord& record) void PtgAreaN::storeFields(CFRecord& record)
{ {
record << area; record << area;
...@@ -46,7 +39,7 @@ void PtgAreaN::loadFields(CFRecord& record) ...@@ -46,7 +39,7 @@ void PtgAreaN::loadFields(CFRecord& record)
} }
void PtgAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push((area + cell_base_ref).toString()); ptg_stack.push((area + cell_base_ref).toString());
} }
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x0D; static const unsigned short fixed_id = 0x0D;
......
...@@ -36,7 +36,7 @@ void PtgArray::loadFields(CFRecord& record) ...@@ -36,7 +36,7 @@ void PtgArray::loadFields(CFRecord& record)
} }
void PtgArray::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgArray::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
std::wstring array_string; std::wstring array_string;
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x00; static const unsigned short fixed_id = 0x00;
}; };
......
...@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrBaxcel::clone() ...@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrBaxcel::clone()
return BiffStructurePtr(new PtgAttrBaxcel(*this)); return BiffStructurePtr(new PtgAttrBaxcel(*this));
} }
//
//void PtgAttrBaxcel::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"bitSemi", bitSemi);
//}
void PtgAttrBaxcel::storeFields(CFRecord& record) void PtgAttrBaxcel::storeFields(CFRecord& record)
{ {
record.reserveNunBytes(2); // unused record.reserveNunBytes(2); // unused
...@@ -31,7 +24,7 @@ void PtgAttrBaxcel::loadFields(CFRecord& record) ...@@ -31,7 +24,7 @@ void PtgAttrBaxcel::loadFields(CFRecord& record)
} }
void PtgAttrBaxcel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_datat) void PtgAttrBaxcel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// volatile property is not seen in the textual form // volatile property is not seen in the textual form
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
bool bitSemi; bool bitSemi;
}; };
......
...@@ -11,19 +11,6 @@ BiffStructurePtr PtgAttrChoose::clone() ...@@ -11,19 +11,6 @@ BiffStructurePtr PtgAttrChoose::clone()
return BiffStructurePtr(new PtgAttrChoose(*this)); return BiffStructurePtr(new PtgAttrChoose(*this));
} }
//void PtgAttrChoose::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cOffset", cOffset);
//
// for(size_t i = 0; i < rgOffset.size(); ++i)
// {
// MSXML2::IXMLDOMElementPtr own_tag2 = XMLSTUFF::createElement(L"offset", xml_tag);
// own_tag2->Puttext(STR::int2str(rgOffset[i], 10).c_str());
// }
//}
void PtgAttrChoose::storeFields(CFRecord& record) void PtgAttrChoose::storeFields(CFRecord& record)
{ {
#pragma message("####################### PtgAttrChoose record has no BiffStructure::store() implemented") #pragma message("####################### PtgAttrChoose record has no BiffStructure::store() implemented")
...@@ -44,9 +31,8 @@ void PtgAttrChoose::loadFields(CFRecord& record) ...@@ -44,9 +31,8 @@ void PtgAttrChoose::loadFields(CFRecord& record)
} }
void PtgAttrChoose::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrChoose::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// All control tokens shall be skipped
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short cOffset; unsigned short cOffset;
std::vector<unsigned short> rgOffset; std::vector<unsigned short> rgOffset;
......
...@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrGoto::clone() ...@@ -11,13 +11,6 @@ BiffStructurePtr PtgAttrGoto::clone()
return BiffStructurePtr(new PtgAttrGoto(*this)); return BiffStructurePtr(new PtgAttrGoto(*this));
} }
//void PtgAttrGoto::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"offset", offset);
//}
void PtgAttrGoto::storeFields(CFRecord& record) void PtgAttrGoto::storeFields(CFRecord& record)
{ {
record << offset; record << offset;
...@@ -30,9 +23,8 @@ void PtgAttrGoto::loadFields(CFRecord& record) ...@@ -30,9 +23,8 @@ void PtgAttrGoto::loadFields(CFRecord& record)
} }
void PtgAttrGoto::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrGoto::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// All control tokens shall be skipped
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short offset; unsigned short offset;
}; };
......
...@@ -11,12 +11,6 @@ BiffStructurePtr PtgAttrIf::clone() ...@@ -11,12 +11,6 @@ BiffStructurePtr PtgAttrIf::clone()
return BiffStructurePtr(new PtgAttrIf(*this)); return BiffStructurePtr(new PtgAttrIf(*this));
} }
//
//void PtgAttrIf::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"offset", offset);
//}
void PtgAttrIf::storeFields(CFRecord& record) void PtgAttrIf::storeFields(CFRecord& record)
{ {
...@@ -30,9 +24,8 @@ void PtgAttrIf::loadFields(CFRecord& record) ...@@ -30,9 +24,8 @@ void PtgAttrIf::loadFields(CFRecord& record)
} }
void PtgAttrIf::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrIf::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// All control tokens shall be skipped
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
unsigned short offset; unsigned short offset;
}; };
......
...@@ -24,7 +24,7 @@ void PtgAttrSemi::loadFields(CFRecord& record) ...@@ -24,7 +24,7 @@ void PtgAttrSemi::loadFields(CFRecord& record)
} }
void PtgAttrSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// volatile property is not seen in the textual form // volatile property is not seen in the textual form
} }
......
...@@ -15,7 +15,7 @@ public: ...@@ -15,7 +15,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
......
...@@ -24,9 +24,8 @@ void PtgAttrSpace::loadFields(CFRecord& record) ...@@ -24,9 +24,8 @@ void PtgAttrSpace::loadFields(CFRecord& record)
} }
void PtgAttrSpace::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrSpace::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// Display token, that shall be skipped
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
......
...@@ -24,9 +24,8 @@ void PtgAttrSpaceSemi::loadFields(CFRecord& record) ...@@ -24,9 +24,8 @@ void PtgAttrSpaceSemi::loadFields(CFRecord& record)
} }
void PtgAttrSpaceSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrSpaceSemi::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// Display token that shall be skipped
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
} // namespace XLS } // namespace XLS
......
...@@ -24,7 +24,7 @@ void PtgAttrSum::loadFields(CFRecord& record) ...@@ -24,7 +24,7 @@ void PtgAttrSum::loadFields(CFRecord& record)
} }
void PtgAttrSum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgAttrSum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
addFuncWrapper(ptg_stack, L"SUM"); addFuncWrapper(ptg_stack, L"SUM");
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1019; static const unsigned short fixed_id = 0x1019;
}; };
......
...@@ -58,7 +58,7 @@ void PtgBool::loadFields(CFRecord& record) ...@@ -58,7 +58,7 @@ void PtgBool::loadFields(CFRecord& record)
} }
void PtgBool::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgBool::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(boolean_ ? L"TRUE" : L"FALSE"); ptg_stack.push(boolean_ ? L"TRUE" : L"FALSE");
} }
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1D; static const unsigned short fixed_id = 0x1D;
......
...@@ -31,7 +31,7 @@ void PtgElfCol::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgElfCol::loadFields(CFRecord& record)
} }
void PtgElfCol::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfCol::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString()); ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString());
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
RgceElfLoc loc; RgceElfLoc loc;
......
...@@ -25,7 +25,7 @@ void PtgElfColS::loadFields(CFRecord& record) ...@@ -25,7 +25,7 @@ void PtgElfColS::loadFields(CFRecord& record)
} }
void PtgElfColS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfColS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
PtgExtraElfPtr range; PtgExtraElfPtr range;
Log::message("PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!!"); Log::message("PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!! PtgElfColS found!!!");
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
......
...@@ -25,7 +25,7 @@ void PtgElfColSV::loadFields(CFRecord& record) ...@@ -25,7 +25,7 @@ void PtgElfColSV::loadFields(CFRecord& record)
} }
void PtgElfColSV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfColSV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
PtgExtraElfPtr range; PtgExtraElfPtr range;
Log::message("PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!!"); Log::message("PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!! PtgElfColSV found!!!");
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
......
...@@ -31,7 +31,7 @@ void PtgElfColV::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgElfColV::loadFields(CFRecord& record)
} }
void PtgElfColV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfColV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString()); ptg_stack.push(CellRangeRef(loc, CellRangeRef::stColumnBelow).toString());
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
RgceElfLoc loc; RgceElfLoc loc;
......
...@@ -35,7 +35,7 @@ void PtgElfLel::loadFields(CFRecord& record) ...@@ -35,7 +35,7 @@ void PtgElfLel::loadFields(CFRecord& record)
} }
void PtgElfLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(L"#NAME?"); // The best decision I think ptg_stack.push(L"#NAME?"); // The best decision I think
} }
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
Ilel ilel; Ilel ilel;
......
...@@ -31,7 +31,7 @@ void PtgElfRadical::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgElfRadical::loadFields(CFRecord& record)
} }
void PtgElfRadical::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfRadical::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// The significant tag follows (PtgArea or PtgAreaErr) // The significant tag follows (PtgArea or PtgAreaErr)
PtgParam param(PtgParam::ptELF_RADICAL, L""); PtgParam param(PtgParam::ptELF_RADICAL, L"");
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
RgceElfLoc loc; RgceElfLoc loc;
......
...@@ -35,7 +35,7 @@ void PtgElfRadicalLel::loadFields(CFRecord& record) ...@@ -35,7 +35,7 @@ void PtgElfRadicalLel::loadFields(CFRecord& record)
} }
void PtgElfRadicalLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfRadicalLel::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// The significant tag follows (PtgArea or PtgAreaErr) // The significant tag follows (PtgArea or PtgAreaErr)
} }
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
Ilel ilel; Ilel ilel;
......
...@@ -24,7 +24,7 @@ void PtgElfRadicalS::loadFields(CFRecord& record) ...@@ -24,7 +24,7 @@ void PtgElfRadicalS::loadFields(CFRecord& record)
} }
void PtgElfRadicalS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfRadicalS::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// The significant tag follows (PtgArea or PtgAreaErr) // The significant tag follows (PtgArea or PtgAreaErr)
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
}; };
......
...@@ -31,7 +31,7 @@ void PtgElfRw::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgElfRw::loadFields(CFRecord& record)
} }
void PtgElfRw::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfRw::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString()); ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString());
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
RgceElfLoc loc; RgceElfLoc loc;
......
...@@ -31,7 +31,7 @@ void PtgElfRwV::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgElfRwV::loadFields(CFRecord& record)
} }
void PtgElfRwV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgElfRwV::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString()); ptg_stack.push(CellRangeRef(loc, CellRangeRef::stRow).toString());
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
RgceElfLoc loc; RgceElfLoc loc;
......
...@@ -42,7 +42,7 @@ void PtgErr::loadFields(CFRecord& record) ...@@ -42,7 +42,7 @@ void PtgErr::loadFields(CFRecord& record)
} }
void PtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(err.toString()); ptg_stack.push(err.toString());
} }
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1C; static const unsigned short fixed_id = 0x1C;
......
...@@ -18,21 +18,6 @@ BiffStructurePtr PtgExp::clone() ...@@ -18,21 +18,6 @@ BiffStructurePtr PtgExp::clone()
return BiffStructurePtr(new PtgExp(*this)); return BiffStructurePtr(new PtgExp(*this));
} }
//
//void PtgExp::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"ref", RgceLoc(row, col, true, true).toString().c_str());
//}
//
//
//void PtgExp::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// std::wstring cell_ref = getStructAttribute(xml_tag, L"ref");
// RgceLoc location(cell_ref);
// row = static_cast<unsigned short>(location.getRow());
// col = static_cast<unsigned short>(location.getColumn());
//}
void PtgExp::storeFields(CFRecord& record) void PtgExp::storeFields(CFRecord& record)
{ {
...@@ -46,7 +31,7 @@ void PtgExp::loadFields(CFRecord& record) ...@@ -46,7 +31,7 @@ void PtgExp::loadFields(CFRecord& record)
} }
void PtgExp::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgExp::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// The reference coordinates shall be obtained from row/column values. // The reference coordinates shall be obtained from row/column values.
// No textual form need but the empty line. // No textual form need but the empty line.
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x01; static const unsigned short fixed_id = 0x01;
......
...@@ -23,12 +23,6 @@ BiffStructurePtr PtgFunc::clone() ...@@ -23,12 +23,6 @@ BiffStructurePtr PtgFunc::clone()
return BiffStructurePtr(new PtgFunc(*this)); return BiffStructurePtr(new PtgFunc(*this));
} }
//
//void PtgFunc::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// iftab.toXML(xml_tag);
//}
void PtgFunc::storeFields(CFRecord& record) void PtgFunc::storeFields(CFRecord& record)
{ {
...@@ -42,7 +36,7 @@ void PtgFunc::loadFields(CFRecord& record) ...@@ -42,7 +36,7 @@ void PtgFunc::loadFields(CFRecord& record)
} }
void PtgFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
int num_params = iftab.getParamsNum(); int num_params = iftab.getParamsNum();
std::wstring arguments; std::wstring arguments;
......
...@@ -22,7 +22,7 @@ public: ...@@ -22,7 +22,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
const int getParametersNum() const; const int getParametersNum() const;
......
...@@ -23,14 +23,6 @@ BiffStructurePtr PtgFuncVar::clone() ...@@ -23,14 +23,6 @@ BiffStructurePtr PtgFuncVar::clone()
return BiffStructurePtr(new PtgFuncVar(*this)); return BiffStructurePtr(new PtgFuncVar(*this));
} }
//
//void PtgFuncVar::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cparams", cparams);
// xml_tag->setAttribute(L"fCeFunc", fCeFunc);
// tab.toXML(xml_tag);
//}
//
void PtgFuncVar::storeFields(CFRecord& record) void PtgFuncVar::storeFields(CFRecord& record)
{ {
...@@ -47,7 +39,7 @@ void PtgFuncVar::loadFields(CFRecord& record) ...@@ -47,7 +39,7 @@ void PtgFuncVar::loadFields(CFRecord& record)
} }
void PtgFuncVar::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgFuncVar::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
std::wstring arguments; std::wstring arguments;
std::wstring func_name = tab.getFuncName(); std::wstring func_name = tab.getFuncName();
......
...@@ -23,7 +23,7 @@ public: ...@@ -23,7 +23,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
void setParamsNum(const unsigned char num); void setParamsNum(const unsigned char num);
......
...@@ -47,7 +47,7 @@ void PtgInt::loadFields(CFRecord& record) ...@@ -47,7 +47,7 @@ void PtgInt::loadFields(CFRecord& record)
} }
void PtgInt::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgInt::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(STR::int2wstr(integer)); ptg_stack.push(STR::int2wstr(integer));
} }
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1E; static const unsigned short fixed_id = 0x1E;
......
...@@ -13,12 +13,6 @@ BiffStructurePtr PtgMemArea::clone() ...@@ -13,12 +13,6 @@ BiffStructurePtr PtgMemArea::clone()
} }
//void PtgMemArea::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemArea::storeFields(CFRecord& record) void PtgMemArea::storeFields(CFRecord& record)
{ {
#pragma message("####################### PtgMemArea record has no BiffStructure::store() implemented") #pragma message("####################### PtgMemArea record has no BiffStructure::store() implemented")
...@@ -34,7 +28,7 @@ void PtgMemArea::loadFields(CFRecord& record) ...@@ -34,7 +28,7 @@ void PtgMemArea::loadFields(CFRecord& record)
} }
void PtgMemArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemArea::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
PtgExtraMemPtr range; PtgExtraMemPtr range;
if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front()))) if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front())))
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
unsigned short cce; unsigned short cce;
......
...@@ -31,7 +31,7 @@ void PtgMemAreaN::loadFields(CFRecord& record) ...@@ -31,7 +31,7 @@ void PtgMemAreaN::loadFields(CFRecord& record)
} }
void PtgMemAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemAreaN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
PtgExtraMemPtr range; PtgExtraMemPtr range;
if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front()))) if(extra_data.empty() || !(range = boost::dynamic_pointer_cast<PtgExtraMem>(extra_data.front())))
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
unsigned short cce; unsigned short cce;
......
...@@ -35,7 +35,7 @@ void PtgMemErr::loadFields(CFRecord& record) ...@@ -35,7 +35,7 @@ void PtgMemErr::loadFields(CFRecord& record)
} }
void PtgMemErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
//ptg_stack.push("#CACHE(" + STR::int2str(getOffsetInRecord() + getSizeOfStruct() + cce, 10) + ")!" + err.toString()); //ptg_stack.push("#CACHE(" + STR::int2str(getOffsetInRecord() + getSizeOfStruct() + cce, 10) + ")!" + err.toString());
} }
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
BErr err; BErr err;
......
...@@ -11,13 +11,6 @@ BiffStructurePtr PtgMemFunc::clone() ...@@ -11,13 +11,6 @@ BiffStructurePtr PtgMemFunc::clone()
return BiffStructurePtr(new PtgMemFunc(*this)); return BiffStructurePtr(new PtgMemFunc(*this));
} }
//void PtgMemFunc::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemFunc::storeFields(CFRecord& record) void PtgMemFunc::storeFields(CFRecord& record)
{ {
record << cce; record << cce;
...@@ -30,7 +23,7 @@ void PtgMemFunc::loadFields(CFRecord& record) ...@@ -30,7 +23,7 @@ void PtgMemFunc::loadFields(CFRecord& record)
} }
void PtgMemFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemFunc::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// no textual form // no textual form
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
unsigned short cce; unsigned short cce;
......
...@@ -12,12 +12,6 @@ BiffStructurePtr PtgMemNoMem::clone() ...@@ -12,12 +12,6 @@ BiffStructurePtr PtgMemNoMem::clone()
} }
//void PtgMemNoMem::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"cce", cce);
//}
void PtgMemNoMem::storeFields(CFRecord& record) void PtgMemNoMem::storeFields(CFRecord& record)
{ {
record.reserveNunBytes(4); // unused record.reserveNunBytes(4); // unused
...@@ -32,9 +26,8 @@ void PtgMemNoMem::loadFields(CFRecord& record) ...@@ -32,9 +26,8 @@ void PtgMemNoMem::loadFields(CFRecord& record)
} }
void PtgMemNoMem::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemNoMem::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// I assume it doesn't generate an error.
} }
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
unsigned short cce; unsigned short cce;
......
...@@ -30,9 +30,8 @@ void PtgMemNoMemN::load(CFRecord& record) ...@@ -30,9 +30,8 @@ void PtgMemNoMemN::load(CFRecord& record)
} }
void PtgMemNoMemN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMemNoMemN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// I assume it doesn't generate an error.
} }
......
...@@ -16,7 +16,7 @@ public: ...@@ -16,7 +16,7 @@ public:
virtual void load(CFRecord& record); virtual void load(CFRecord& record);
virtual void store(CFRecord& record); virtual void store(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
unsigned char type1; unsigned char type1;
......
...@@ -18,7 +18,7 @@ BiffStructurePtr PtgMissArg::clone() ...@@ -18,7 +18,7 @@ BiffStructurePtr PtgMissArg::clone()
} }
void PtgMissArg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgMissArg::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(L""); ptg_stack.push(L"");
} }
......
...@@ -12,7 +12,7 @@ public: ...@@ -12,7 +12,7 @@ public:
PtgMissArg(); PtgMissArg();
BiffStructurePtr clone(); BiffStructurePtr clone();
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x16; static const unsigned short fixed_id = 0x16;
}; };
......
...@@ -39,7 +39,7 @@ void PtgName::loadFields(CFRecord& record) ...@@ -39,7 +39,7 @@ void PtgName::loadFields(CFRecord& record)
} }
void PtgName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevNameTabidPtr tab_id; RevNameTabidPtr tab_id;
if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevNameTabid>(extra_data.front()))) if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevNameTabid>(extra_data.front())))
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x03; static const unsigned short fixed_id = 0x03;
......
...@@ -38,7 +38,7 @@ void PtgNameX::loadFields(CFRecord& record) ...@@ -38,7 +38,7 @@ void PtgNameX::loadFields(CFRecord& record)
} }
void PtgNameX::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgNameX::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevNamePtr tab_id; RevNamePtr tab_id;
if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevName>(extra_data.front()))) if(!extra_data.empty() && (tab_id = boost::dynamic_pointer_cast<RevName>(extra_data.front())))
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x19; static const unsigned short fixed_id = 0x19;
......
...@@ -47,7 +47,7 @@ void PtgNum::loadFields(CFRecord& record) ...@@ -47,7 +47,7 @@ void PtgNum::loadFields(CFRecord& record)
} }
void PtgNum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgNum::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(STR::double2str(value_)); ptg_stack.push(STR::double2str(value_));
} }
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1F; static const unsigned short fixed_id = 0x1F;
......
...@@ -19,7 +19,7 @@ BiffStructurePtr PtgParen::clone() ...@@ -19,7 +19,7 @@ BiffStructurePtr PtgParen::clone()
} }
void PtgParen::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgParen::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.top() = L'(' + ptg_stack.top() + L')'; ptg_stack.top() = L'(' + ptg_stack.top() + L')';
} }
......
...@@ -14,7 +14,7 @@ public: ...@@ -14,7 +14,7 @@ public:
PtgParen(); PtgParen();
BiffStructurePtr clone(); BiffStructurePtr clone();
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x15; static const unsigned short fixed_id = 0x15;
void incrementParametersNum(); void incrementParametersNum();
......
...@@ -42,7 +42,7 @@ void PtgRef::loadFields(CFRecord& record) ...@@ -42,7 +42,7 @@ void PtgRef::loadFields(CFRecord& record)
record >> loc; record >> loc;
} }
void PtgRef::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgRef::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(loc.toString()); ptg_stack.push(loc.toString());
} }
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x04; static const unsigned short fixed_id = 0x04;
private: private:
......
...@@ -45,7 +45,7 @@ void PtgRef3d::loadFields(CFRecord& record) ...@@ -45,7 +45,7 @@ void PtgRef3d::loadFields(CFRecord& record)
} }
void PtgRef3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgRef3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevExternPtr tab_ids; RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front()))) if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
...@@ -59,7 +59,7 @@ void PtgRef3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) ...@@ -59,7 +59,7 @@ void PtgRef3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data)
std::wstring cell_ref = rgce_loc.toString(); std::wstring cell_ref = rgce_loc.toString();
cell_ref = XMLSTUFF::make3dRef(ixti, cell_ref, global_info->xti_parsed); cell_ref = XMLSTUFF::make3dRef(ixti, cell_ref, global_info->xti_parsed, full_ref);
ptg_stack.push(cell_ref); ptg_stack.push(cell_ref);
} }
......
...@@ -21,7 +21,7 @@ public: ...@@ -21,7 +21,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1A; static const unsigned short fixed_id = 0x1A;
private: private:
......
...@@ -35,7 +35,7 @@ void PtgRefErr::loadFields(CFRecord& record) ...@@ -35,7 +35,7 @@ void PtgRefErr::loadFields(CFRecord& record)
} }
void PtgRefErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgRefErr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(L"#REF!"); ptg_stack.push(L"#REF!");
} }
......
...@@ -18,7 +18,7 @@ public: ...@@ -18,7 +18,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x0A; static const unsigned short fixed_id = 0x0A;
}; };
......
...@@ -24,12 +24,6 @@ BiffStructurePtr PtgRefErr3d::clone() ...@@ -24,12 +24,6 @@ BiffStructurePtr PtgRefErr3d::clone()
return BiffStructurePtr(new PtgRefErr3d(*this)); return BiffStructurePtr(new PtgRefErr3d(*this));
} }
//
//void PtgRefErr3d::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"ixti", ixti);
//}
void PtgRefErr3d::storeFields(CFRecord& record) void PtgRefErr3d::storeFields(CFRecord& record)
{ {
...@@ -46,7 +40,7 @@ void PtgRefErr3d::loadFields(CFRecord& record) ...@@ -46,7 +40,7 @@ void PtgRefErr3d::loadFields(CFRecord& record)
} }
void PtgRefErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgRefErr3d::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
RevExternPtr tab_ids; RevExternPtr tab_ids;
if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front()))) if(!extra_data.empty() && (tab_ids = boost::dynamic_pointer_cast<RevExtern>(extra_data.front())))
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x1C; static const unsigned short fixed_id = 0x1C;
private: private:
......
...@@ -45,7 +45,7 @@ void PtgRefN::loadFields(CFRecord& record) ...@@ -45,7 +45,7 @@ void PtgRefN::loadFields(CFRecord& record)
} }
void PtgRefN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgRefN::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push((loc + cell_base_ref).toString()); ptg_stack.push((loc + cell_base_ref).toString());
} }
......
...@@ -19,7 +19,7 @@ public: ...@@ -19,7 +19,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x0C; static const unsigned short fixed_id = 0x0C;
......
...@@ -25,12 +25,6 @@ BiffStructurePtr PtgStr::clone() ...@@ -25,12 +25,6 @@ BiffStructurePtr PtgStr::clone()
} }
//void PtgStr::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"string", string_);
//}
void PtgStr::storeFields(CFRecord& record) void PtgStr::storeFields(CFRecord& record)
{ {
record << string_; record << string_;
...@@ -43,7 +37,7 @@ void PtgStr::loadFields(CFRecord& record) ...@@ -43,7 +37,7 @@ void PtgStr::loadFields(CFRecord& record)
} }
void PtgStr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgStr::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
ptg_stack.push(L"\"" + boost::algorithm::replace_all_copy(std::wstring(string_), L"\"", L"\"\"") + L"\""); ptg_stack.push(L"\"" + boost::algorithm::replace_all_copy(std::wstring(string_), L"\"", L"\"\"") + L"\"");
} }
......
...@@ -20,7 +20,7 @@ public: ...@@ -20,7 +20,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x17; static const unsigned short fixed_id = 0x17;
......
...@@ -12,12 +12,6 @@ BiffStructurePtr PtgSxName::clone() ...@@ -12,12 +12,6 @@ BiffStructurePtr PtgSxName::clone()
} }
//void PtgSxName::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"sxIndex", sxIndex);
//}
void PtgSxName::storeFields(CFRecord& record) void PtgSxName::storeFields(CFRecord& record)
{ {
record << sxIndex; record << sxIndex;
...@@ -30,7 +24,7 @@ void PtgSxName::loadFields(CFRecord& record) ...@@ -30,7 +24,7 @@ void PtgSxName::loadFields(CFRecord& record)
} }
void PtgSxName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgSxName::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
#pragma message("####################### PtgSxName struct is not implemented") #pragma message("####################### PtgSxName struct is not implemented")
Log::info("PtgSxName structure is not implemented."); Log::info("PtgSxName structure is not implemented.");
......
...@@ -17,7 +17,7 @@ public: ...@@ -17,7 +17,7 @@ public:
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
private: private:
_UINT32 sxIndex; _UINT32 sxIndex;
......
...@@ -17,22 +17,6 @@ BiffStructurePtr PtgTbl::clone() ...@@ -17,22 +17,6 @@ BiffStructurePtr PtgTbl::clone()
return BiffStructurePtr(new PtgTbl(*this)); return BiffStructurePtr(new PtgTbl(*this));
} }
//void PtgTbl::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// xml_tag->setAttribute(L"ref", RgceLoc(row, col, true, true).toString().c_str());
//}
//
//
//void PtgTbl::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// std::wstring cell_ref = getStructAttribute(xml_tag, L"ref");
// RgceLoc location(cell_ref);
// row = static_cast<unsigned short>(location.getRow());
// col = static_cast<unsigned short>(location.getColumn());
//}
void PtgTbl::storeFields(CFRecord& record) void PtgTbl::storeFields(CFRecord& record)
{ {
record << row << col; record << row << col;
...@@ -45,7 +29,7 @@ void PtgTbl::loadFields(CFRecord& record) ...@@ -45,7 +29,7 @@ void PtgTbl::loadFields(CFRecord& record)
} }
void PtgTbl::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data) void PtgTbl::assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref)
{ {
// The reference coordinates shall be obtained from row/column values. // The reference coordinates shall be obtained from row/column values.
// No textual form need but the empty line. // No textual form need but the empty line.
......
...@@ -14,12 +14,10 @@ public: ...@@ -14,12 +14,10 @@ public:
PtgTbl(); PtgTbl();
BiffStructurePtr clone(); BiffStructurePtr clone();
virtual void loadFields(CFRecord& record); virtual void loadFields(CFRecord& record);
virtual void storeFields(CFRecord& record); virtual void storeFields(CFRecord& record);
virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data); virtual void assemble(AssemblerStack& ptg_stack, PtgQueue& extra_data, bool full_ref = false);
static const unsigned short fixed_id = 0x02; static const unsigned short fixed_id = 0x02;
......
...@@ -19,27 +19,6 @@ BiffStructurePtr RgbExtra::clone() ...@@ -19,27 +19,6 @@ BiffStructurePtr RgbExtra::clone()
return BiffStructurePtr(new RgbExtra(*this)); return BiffStructurePtr(new RgbExtra(*this));
} }
//void RgbExtra::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// if(!ptg_records.empty())
// {
// PtgQueue copy_queue(ptg_records);
// while(!copy_queue.empty())
// {
// copy_queue.front()->toXML(xml_tag);
// copy_queue.pop();
// }
// }
//}
//
//
//void RgbExtra::getXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
//// No need special processing here
//}
//
void RgbExtra::store(CFRecord& record) void RgbExtra::store(CFRecord& record)
{ {
while(ptg_records.size()) while(ptg_records.size())
......
...@@ -50,7 +50,7 @@ const bool LBL::loadContent(BinProcessor& proc) ...@@ -50,7 +50,7 @@ const bool LBL::loadContent(BinProcessor& proc)
if (lbl->fBuiltin) name = lbl->Name.value().get_value_or(L""); if (lbl->fBuiltin) name = lbl->Name.value().get_value_or(L"");
if (name.empty()) name = lbl->Name_bin.value(); if (name.empty()) name = lbl->Name_bin.value();
std::wstring value = lbl->rgce.getAssembledFormula(); std::wstring value = lbl->rgce.getAssembledFormula(lbl->itab == 0 ? true : false);
NameCmt namecmt(name); NameCmt namecmt(name);
if (proc.optional(namecmt)) if (proc.optional(namecmt))
...@@ -111,21 +111,33 @@ int LBL::serialize(std::wostream & stream) ...@@ -111,21 +111,33 @@ int LBL::serialize(std::wostream & stream)
Lbl *lbl = dynamic_cast<Lbl*>(m_Lbl.get()); Lbl *lbl = dynamic_cast<Lbl*>(m_Lbl.get());
if (lbl == NULL) return 0; if (lbl == NULL) return 0;
std::wstring value = lbl->rgce.getAssembledFormula(); std::wstring value = lbl->rgce.getAssembledFormula(lbl->itab == 0 ? true : false);
std::wstring description;
if (value.empty()) return 0; if (value.empty()) return 0;
int res = 0; int res = 0;
if ((lbl->itab == 0) && if ((lbl->itab == 0) && (res = value.find(L"#REF!")) >= 0)
(res = value.find(L"!")) < 0 &&
(lbl->rgce.rgce.sequence.size() < 2))
{ {
PtgRef3d* ptg = dynamic_cast<PtgRef3d*>(lbl->rgce.rgce.sequence[0].get()); for (int i = 0 ; i < lbl->rgce.rgce.sequence.size(); i++)
if (ptg) value = std::wstring(L"#REF!"); {
PtgRef3d* ptg = dynamic_cast<PtgRef3d*>(lbl->rgce.rgce.sequence[i].get());
PtgArea3d* ptg1 = dynamic_cast<PtgArea3d*>(lbl->rgce.rgce.sequence[0].get()); if (ptg)
if (ptg1) value = std::wstring(L"#REF!"); {
description = value;
value = std::wstring(L"#REF!");
break;
}
PtgArea3d* ptg1 = dynamic_cast<PtgArea3d*>(lbl->rgce.rgce.sequence[i].get());
if (ptg1)
{
description = value;
value = std::wstring(L"#REF!");
break;
}
}
} }
CP_XML_WRITER(stream) CP_XML_WRITER(stream)
...@@ -139,6 +151,9 @@ int LBL::serialize(std::wostream & stream) ...@@ -139,6 +151,9 @@ int LBL::serialize(std::wostream & stream)
CP_XML_ATTR(L"name", xml::utils::replace_text_to_xml(name)); CP_XML_ATTR(L"name", xml::utils::replace_text_to_xml(name));
if (!description.empty())
CP_XML_ATTR(L"comment", xml::utils::replace_text_to_xml(description));
if (lbl->itab != 0) if (lbl->itab != 0)
{ {
CP_XML_ATTR(L"localSheetId", lbl->itab - 1); CP_XML_ATTR(L"localSheetId", lbl->itab - 1);
......
...@@ -171,7 +171,8 @@ namespace BinXlsxRW ...@@ -171,7 +171,8 @@ namespace BinXlsxRW
Name = 0, Name = 0,
Ref = 1, Ref = 1,
LocalSheetId = 2, LocalSheetId = 2,
Hidden = 3 Hidden = 3,
Comment = 4
};} };}
namespace c_oSerWorksheetsTypes{enum c_oSerWorksheetsTypes namespace c_oSerWorksheetsTypes{enum c_oSerWorksheetsTypes
{ {
......
...@@ -1576,6 +1576,13 @@ namespace BinXlsxRW { ...@@ -1576,6 +1576,13 @@ namespace BinXlsxRW {
m_oBcw.m_oStream.WriteBOOL(definedName.m_oHidden->ToBool()); m_oBcw.m_oStream.WriteBOOL(definedName.m_oHidden->ToBool());
m_oBcw.WriteItemWithLengthEnd(nCurPos); m_oBcw.WriteItemWithLengthEnd(nCurPos);
} }
//Comment
if (definedName.m_oComment.IsInit())
{
nCurPos = m_oBcw.WriteItemStart(c_oSerDefinedNameTypes::Comment);
m_oBcw.m_oStream.WriteStringW(definedName.m_oComment.get2());
m_oBcw.WriteItemWithLengthEnd(nCurPos);
}
}; };
}; };
class BinaryWorksheetTableWriter class BinaryWorksheetTableWriter
......
...@@ -1554,6 +1554,12 @@ namespace BinXlsxRW { ...@@ -1554,6 +1554,12 @@ namespace BinXlsxRW {
{ {
pDefinedName->m_oHidden.Init(); pDefinedName->m_oHidden.Init();
pDefinedName->m_oHidden->SetValue(false != m_oBufferedStream.GetBool() ? SimpleTypes::onoffTrue : SimpleTypes::onoffFalse); pDefinedName->m_oHidden->SetValue(false != m_oBufferedStream.GetBool() ? SimpleTypes::onoffTrue : SimpleTypes::onoffFalse);
}
else if(c_oSerDefinedNameTypes::Comment == type)
{
CString sComment(m_oBufferedStream.GetString3(length));
pDefinedName->m_oComment.Init();
pDefinedName->m_oComment->Append(sComment);
} }
return res; return res;
}; };
......
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