diff options
author | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-04-08 14:58:39 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@gmail.com> | 2013-04-09 13:01:24 -0400 |
commit | 50d044d59ac27781932e6f15549f730d693be56e (patch) | |
tree | 3c303b5ffedf068789101384f2c2a64aba5560ac /sc | |
parent | 2dc7318d845552a45aeb4f87ce8c333e51dca908 (diff) |
Get it to build with the latest orcus. It may not be fully functional.
Change-Id: Ife3c14a446273654d720eb38349cc42d1ed76893
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/inc/orcusinterface.hxx | 18 | ||||
-rw-r--r-- | sc/source/filter/orcus/interface.cxx | 25 | ||||
-rw-r--r-- | sc/source/filter/orcus/xmlcontext.cxx | 2 |
3 files changed, 44 insertions, 1 deletions
diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx index 2f8380c66661..4bc9b408aa71 100644 --- a/sc/source/filter/inc/orcusinterface.hxx +++ b/sc/source/filter/inc/orcusinterface.hxx @@ -71,17 +71,31 @@ public: // Orcus import interface virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n); virtual void set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t xf_index); + virtual void set_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, const char* p, size_t n); virtual void set_formula_result(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n); + virtual void set_shared_formula( orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, const char* p_formula, size_t n_formula); + virtual void set_shared_formula( orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, size_t sindex, const char* p_formula, size_t n_formula, const char* p_range, size_t n_range); + virtual void set_shared_formula(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex); + + virtual void set_array_formula( + orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, + const char* p, size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols); + + virtual void set_array_formula( + orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar, + const char* p, size_t n, const char* p_range, size_t n_range); + virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t sindex); virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value); + virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value); SCTAB getIndex() const { return mnTab; } }; @@ -119,6 +133,10 @@ public: virtual void set_cell_locked(bool b); virtual size_t commit_cell_protection(); + // number format + virtual void set_number_format(const char* s, size_t n); + virtual size_t commit_number_format(); + // cell style xf virtual void set_cell_style_xf_count(size_t n); diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx index 2aed6286d250..25d9b5d21224 100644 --- a/sc/source/filter/orcus/interface.cxx +++ b/sc/source/filter/orcus/interface.cxx @@ -185,6 +185,18 @@ void ScOrcusSheet::set_shared_formula(row_t row, col_t col, size_t sindex) mrDoc.SetFormula(ScAddress(col,row,mnTab), aArr); } +void ScOrcusSheet::set_array_formula( + row_t /*row*/, col_t /*col*/, formula_grammar_t /*grammar*/, + const char* /*p*/, size_t /*n*/, row_t /*array_rows*/, col_t /*array_cols*/) +{ +} + +void ScOrcusSheet::set_array_formula( + row_t /*row*/, col_t /*col*/, formula_grammar_t /*grammar*/, + const char* /*p*/, size_t /*n*/, const char* /*p_range*/, size_t /*n_range*/) +{ +} + void ScOrcusSheet::set_string(row_t row, col_t col, size_t sindex) { // Calc does not yet support shared strings so we have to @@ -201,6 +213,11 @@ void ScOrcusSheet::set_value(row_t row, col_t col, double value) mrDoc.SetValue( col, row, mnTab, value ); } +void ScOrcusSheet::set_bool(row_t row, col_t col, bool value) +{ + mrDoc.SetValue(col, row, mnTab, value ? 1.0 : 0.0); +} + size_t ScOrcusSharedStrings::append(const char* s, size_t n) { OUString aNewString(s, n, RTL_TEXTENCODING_UTF8); @@ -334,6 +351,14 @@ size_t ScOrcusStyles::commit_cell_protection() return 0; } +void ScOrcusStyles::set_number_format(const char* /*s*/, size_t /*n*/) +{ +} + +size_t ScOrcusStyles::commit_number_format() +{ + return 0; +} // cell style xf diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx index edfd0b6ee42f..0d7e05ffd068 100644 --- a/sc/source/filter/orcus/xmlcontext.cxx +++ b/sc/source/filter/orcus/xmlcontext.cxx @@ -159,7 +159,7 @@ bool ScOrcusXMLContextImpl::loadXMLStructure(SvTreeListBox& rTreeCtrl, ScOrcusXM // TODO: Use our own stream loading call instead of one from orcus. std::string aStrm; - orcus::load_file_content(path, aStrm); +// orcus::load_file_content(path, aStrm); if (aStrm.empty()) return false; |