diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-01-08 13:17:28 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2014-03-03 17:53:57 +0100 |
commit | 36788e95fdbe96ac27c71197fdbfee178b53f52c (patch) | |
tree | 31c45984896a72ee3c1aaaeca2a5ba0d1ad06104 /sc | |
parent | 0035b3218d8652652e62afe89eddfd28a9021b75 (diff) |
upgrade liborcus
Conflicts:
external/boost/StaticLibrary_boost_system.mk
Change-Id: Ie4af26c87a100b67baeedbaa7fb1ac428845f92b
Diffstat (limited to 'sc')
-rw-r--r-- | sc/Library_scfilt.mk | 3 | ||||
-rw-r--r-- | sc/qa/unit/helper/qahelper.cxx | 8 | ||||
-rw-r--r-- | sc/source/filter/inc/orcusinterface.hxx | 22 | ||||
-rw-r--r-- | sc/source/filter/orcus/interface.cxx | 66 | ||||
-rw-r--r-- | sc/source/ui/docshell/datastream.cxx | 2 |
5 files changed, 93 insertions, 8 deletions
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk index 061e0549b998..d5ca53319b48 100644 --- a/sc/Library_scfilt.mk +++ b/sc/Library_scfilt.mk @@ -32,7 +32,8 @@ $(eval $(call gb_Library_use_externals,scfilt,\ orcus \ orcus-parser \ boost_headers \ - boostsystem \ + boost_system \ + boost_iostreams \ mdds_headers \ zlib \ )) diff --git a/sc/qa/unit/helper/qahelper.cxx b/sc/qa/unit/helper/qahelper.cxx index 35f5bc92f369..237bbce72f03 100644 --- a/sc/qa/unit/helper/qahelper.cxx +++ b/sc/qa/unit/helper/qahelper.cxx @@ -112,7 +112,7 @@ void loadFile(const OUString& aFileName, std::string& aContent) void testFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab, StringType aStringFormat) { csv_handler aHandler(pDoc, nTab, aStringFormat); - orcus::csv_parser_config aConfig; + orcus::csv::parser_config aConfig; aConfig.delimiters.push_back(','); aConfig.delimiters.push_back(';'); aConfig.text_qualifier = '"'; @@ -126,7 +126,7 @@ void testFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab, StringType aStr { parser.parse(); } - catch (const orcus::csv_parse_error& e) + catch (const orcus::csv::parse_error& e) { std::cout << "reading csv content file failed: " << e.what() << std::endl; OStringBuffer aErrorMsg("csv parser error: "); @@ -138,7 +138,7 @@ void testFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab, StringType aStr void testCondFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab) { conditional_format_handler aHandler(pDoc, nTab); - orcus::csv_parser_config aConfig; + orcus::csv::parser_config aConfig; aConfig.delimiters.push_back(','); aConfig.delimiters.push_back(';'); aConfig.text_qualifier = '"'; @@ -149,7 +149,7 @@ void testCondFile(OUString& aFileName, ScDocument* pDoc, SCTAB nTab) { parser.parse(); } - catch (const orcus::csv_parse_error& e) + catch (const orcus::csv::parse_error& e) { std::cout << "reading csv content file failed: " << e.what() << std::endl; OStringBuffer aErrorMsg("csv parser error: "); diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx index 75b49f44fbfa..ca6027e5ceba 100644 --- a/sc/source/filter/inc/orcusinterface.hxx +++ b/sc/source/filter/inc/orcusinterface.hxx @@ -59,8 +59,13 @@ public: virtual void set_segment_bold(bool b); virtual void set_segment_italic(bool b); + virtual void set_segment_font(size_t font_index); virtual void set_segment_font_name(const char* s, size_t n); virtual void set_segment_font_size(double point); + virtual void set_segment_font_color(orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue); virtual void append_segment(const char* s, size_t n); virtual size_t commit_segments(); @@ -129,6 +134,10 @@ public: virtual void set_font_name(const char* s, size_t n); virtual void set_font_size(double point); virtual void set_font_underline(orcus::spreadsheet::underline_t e); + virtual void set_font_color( orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue); virtual size_t commit_font(); // fill @@ -143,6 +152,11 @@ public: virtual void set_border_count(size_t n); virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, const char* s, size_t n); + virtual void set_border_color(orcus::spreadsheet::border_direction_t dir, + orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue); virtual size_t commit_border(); // cell protection @@ -151,7 +165,9 @@ public: virtual size_t commit_cell_protection(); // number format - virtual void set_number_format(const char* s, size_t n); + virtual void set_number_format_count(size_t n); + virtual void set_number_format_identifier(size_t n); + virtual void set_number_format_code(const char* s, size_t n); virtual size_t commit_number_format(); // cell style xf @@ -172,6 +188,9 @@ public: virtual void set_xf_border(size_t index); virtual void set_xf_protection(size_t index); virtual void set_xf_style_xf(size_t index); + virtual void set_xf_apply_alignment(bool b); + virtual void set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align); + virtual void set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t align); // cell style entry @@ -215,6 +234,7 @@ public: virtual orcus::spreadsheet::iface::import_sheet* append_sheet(const char *sheet_name, size_t sheet_name_length); virtual orcus::spreadsheet::iface::import_sheet* get_sheet(const char *sheet_name, size_t sheet_name_length); + virtual orcus::spreadsheet::iface::import_sheet* get_sheet(orcus::spreadsheet::sheet_t sheet_index); virtual orcus::spreadsheet::iface::import_global_settings* get_global_settings(); virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings(); virtual orcus::spreadsheet::iface::import_styles* get_styles(); diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx index cd1ad9171a8f..5082be593ddf 100644 --- a/sc/source/filter/orcus/interface.cxx +++ b/sc/source/filter/orcus/interface.cxx @@ -86,6 +86,23 @@ orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::get_sheet(const char* s return &maSheets.back(); } +orcus::spreadsheet::iface::import_sheet* ScOrcusFactory::get_sheet(orcus::spreadsheet::sheet_t sheet_index) +{ + SCTAB nTab = static_cast<SCTAB>(sheet_index); + // See if we already have an orcus sheet instance by that index. + boost::ptr_vector<ScOrcusSheet>::iterator it = + std::find_if(maSheets.begin(), maSheets.end(), FindSheetByIndex(nTab)); + + if (it != maSheets.end()) + // We already have one. Return it. + return &(*it); + + // Create a new orcus sheet instance for this. + maSheets.push_back(new ScOrcusSheet(maDoc, nTab, *this)); + return &maSheets.back(); + +} + orcus::spreadsheet::iface::import_global_settings* ScOrcusFactory::get_global_settings() { return &maGlobalSettings; @@ -367,6 +384,10 @@ size_t ScOrcusSharedStrings::add(const char* s, size_t n) return mrFactory.addString(aNewString); } +void ScOrcusSharedStrings::set_segment_font(size_t /*font_index*/) +{ +} + void ScOrcusSharedStrings::set_segment_bold(bool /*b*/) { } @@ -383,6 +404,13 @@ void ScOrcusSharedStrings::set_segment_font_size(double /*point*/) { } +void ScOrcusSharedStrings::set_segment_font_color(orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue) +{ +} + void ScOrcusSharedStrings::append_segment(const char* s, size_t n) { maCurSegment.append(s, n); @@ -419,6 +447,13 @@ void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t /*e*/) { } +void ScOrcusStyles::set_font_color(orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue) +{ +} + size_t ScOrcusStyles::commit_font() { return 0; @@ -462,6 +497,15 @@ void ScOrcusStyles::set_border_style(orcus::spreadsheet::border_direction_t /*di // implement later } +void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t /*dir*/, + orcus::spreadsheet::color_elem_t alpha, + orcus::spreadsheet::color_elem_t red, + orcus::spreadsheet::color_elem_t green, + orcus::spreadsheet::color_elem_t blue) +{ + // implement later +} + size_t ScOrcusStyles::commit_border() { return 0; @@ -482,7 +526,15 @@ size_t ScOrcusStyles::commit_cell_protection() return 0; } -void ScOrcusStyles::set_number_format(const char* /*s*/, size_t /*n*/) +void ScOrcusStyles::set_number_format_count(size_t) +{ +} + +void ScOrcusStyles::set_number_format_identifier(size_t) +{ +} + +void ScOrcusStyles::set_number_format_code(const char* /*s*/, size_t /*n*/) { } @@ -544,6 +596,18 @@ void ScOrcusStyles::set_xf_style_xf(size_t /*index*/) { } +void ScOrcusStyles::set_xf_apply_alignment(bool /*b*/) +{ +} + +void ScOrcusStyles::set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t /*align*/) +{ +} + +void ScOrcusStyles::set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t /*align*/) +{ +} + // cell style entry // not needed for now for gnumeric diff --git a/sc/source/ui/docshell/datastream.cxx b/sc/source/ui/docshell/datastream.cxx index 1b712700b934..6f5fb2695524 100644 --- a/sc/source/ui/docshell/datastream.cxx +++ b/sc/source/ui/docshell/datastream.cxx @@ -135,7 +135,7 @@ class ReaderThread : public salhelper::Thread osl::Condition maCondConsume; #if ENABLE_ORCUS - orcus::csv_parser_config maConfig; + orcus::csv::parser_config maConfig; #endif public: |