LibreOffice Module sc (master) 1
orcusinterface.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#pragma once
11
12#include <address.hxx>
13#include <documentimport.hxx>
14
15#include <tools/color.hxx>
16#include <tools/fontenum.hxx>
17#include <editeng/svxenum.hxx>
18
20
21#include <conditio.hxx>
22
23#include <rtl/strbuf.hxx>
25
26#include <orcus/spreadsheet/import_interface.hpp>
27#include <orcus/spreadsheet/import_interface_styles.hpp>
28
29#include <memory>
30#include <map>
31#include <unordered_map>
32#include <vector>
33
34class ScOrcusSheet;
35class ScOrcusStyles;
36class ScOrcusFactory;
37class SfxItemSet;
38namespace com::sun::star::task { class XStatusIndicator; }
39
40class ScOrcusGlobalSettings : public orcus::spreadsheet::iface::import_global_settings
41{
44 orcus::spreadsheet::formula_grammar_t meOrcusGrammar;
45 rtl_TextEncoding mnTextEncoding;
46
47public:
49
50 virtual void set_origin_date(int year, int month, int day) override;
51 virtual void set_character_set(orcus::character_set_t cs) override;
52
53 virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override;
54 virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override;
55
57 {
58 return meCalcGrammar;
59 }
60
61 rtl_TextEncoding getTextEncoding() const
62 {
63 return mnTextEncoding;
64 }
65
67 {
68 return mrDoc;
69 }
70};
71
72class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_resolver
73{
75
76public:
78
79 orcus::spreadsheet::src_address_t resolve_address(std::string_view address) override;
80 orcus::spreadsheet::src_range_t resolve_range(std::string_view range) override;
81};
82
83class ScOrcusNamedExpression : public orcus::spreadsheet::iface::import_named_expression
84{
88 OUString maName;
89 OUString maExpr;
90 const SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions.
91
92public:
94
95 void reset();
96
97 virtual void set_base_position(const orcus::spreadsheet::src_address_t& pos) override;
98 virtual void set_named_expression(std::string_view name, std::string_view expression) override;
99 virtual void set_named_range(std::string_view name, std::string_view range) override;
100 virtual void commit() override;
101};
102
103class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings
104{
106
107 OStringBuffer maCurSegment;
108public:
110
111 virtual size_t append(std::string_view s) override;
112 virtual size_t add(std::string_view s) override;
113
114 virtual void set_segment_bold(bool b) override;
115 virtual void set_segment_italic(bool b) override;
116 virtual void set_segment_font(size_t font_index) override;
117 virtual void set_segment_font_name(std::string_view s) override;
118 virtual void set_segment_font_size(double point) override;
119 virtual void set_segment_font_color(orcus::spreadsheet::color_elem_t alpha,
120 orcus::spreadsheet::color_elem_t red,
121 orcus::spreadsheet::color_elem_t green,
122 orcus::spreadsheet::color_elem_t blue) override;
123 virtual void append_segment(std::string_view s) override;
124
125 virtual size_t commit_segments() override;
126};
127
128class ScOrcusConditionalFormat : public orcus::spreadsheet::iface::import_conditional_format
129{
130public:
132 virtual ~ScOrcusConditionalFormat() override;
133
134 virtual void set_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
135 orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override;
136
137 virtual void set_formula(std::string_view formula) override;
138
139 virtual void set_condition_type(orcus::spreadsheet::condition_type_t type) override;
140
141 virtual void set_date(orcus::spreadsheet::condition_date_t date) override;
142
143 virtual void commit_condition() override;
144
145 virtual void set_icon_name(std::string_view name) override;
146
147 virtual void set_databar_gradient(bool gradient) override;
148
149 virtual void set_databar_axis(orcus::spreadsheet::databar_axis_t axis) override;
150
151 virtual void set_databar_color_positive(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
152 orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override;
153
154 virtual void set_databar_color_negative(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
155 orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override;
156
157 virtual void set_min_databar_length(double length) override;
158
159 virtual void set_max_databar_length(double length) override;
160
161 virtual void set_show_value(bool show) override;
162
163 virtual void set_iconset_reverse(bool reverse) override;
164
165 virtual void set_xf_id(size_t xf) override;
166
167 virtual void set_operator(orcus::spreadsheet::condition_operator_t condition_type) override;
168
169 virtual void set_type(orcus::spreadsheet::conditional_format_t type) override;
170
171 virtual void commit_entry() override;
172
173 virtual void set_range(std::string_view range) override;
174
175 virtual void set_range(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
176 orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end) override;
177
178 virtual void commit_format() override;
179
180private:
181
184
185 std::unique_ptr<ScConditionalFormat> mpCurrentFormat;
186
188};
189
190class ScOrcusAutoFilter : public orcus::spreadsheet::iface::import_auto_filter
191{
192public:
194
195 virtual ~ScOrcusAutoFilter() override;
196
197 virtual void set_range(const orcus::spreadsheet::range_t& range) override;
198
199 virtual void set_column(orcus::spreadsheet::col_t col) override;
200
201 virtual void append_column_match_value(std::string_view value) override;
202
203 virtual void commit_column() override;
204
205 virtual void commit() override;
206
207private:
210};
211
212class ScOrcusSheetProperties : public orcus::spreadsheet::iface::import_sheet_properties
213{
216public:
218 virtual ~ScOrcusSheetProperties() override;
219
220 virtual void set_column_width(
221 orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span,
222 double width, orcus::length_unit_t unit) override;
223
224 virtual void set_column_hidden(
225 orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span,
226 bool hidden) override;
227
228 virtual void set_row_height(orcus::spreadsheet::row_t row, double height, orcus::length_unit_t unit) override;
229
230 virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden) override;
231
232 virtual void set_merge_cell_range(const orcus::spreadsheet::range_t& range) override;
233};
234
235class ScOrcusFormula : public orcus::spreadsheet::iface::import_formula
236{
237 enum class ResultType { NotSet, String, Value, Empty };
238
239 friend class ScOrcusSheet;
240
242
245 OUString maFormula;
249
251 OUString maResult; // result string.
252 double mfResult;
253
254 void reset();
255
256public:
257 ScOrcusFormula( ScOrcusSheet& rSheet );
258 virtual ~ScOrcusFormula() override;
259
260 virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
261 virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, std::string_view formula) override;
262 virtual void set_shared_formula_index(size_t index) override;
263 virtual void set_result_value(double value) override;
264 virtual void set_result_string(std::string_view value) override;
265 virtual void set_result_empty() override;
266 virtual void set_result_bool(bool value) override;
267 virtual void commit() override;
268};
269
270class ScOrcusArrayFormula : public orcus::spreadsheet::iface::import_array_formula
271{
272 friend class ScOrcusSheet;
273
275
278 uint32_t mnColRange;
279 uint32_t mnRowRange;
280 OUString maFormula;
282
283 void reset();
284
285public:
287 virtual ~ScOrcusArrayFormula() override;
288
289 virtual void set_range(const orcus::spreadsheet::range_t& range) override;
290 virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, std::string_view formula) override;
291 virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override;
292 virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override;
293 virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override;
294 virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override;
295 virtual void commit() override;
296};
297
298class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
299{
300 friend class ScOrcusFormula;
302
308
315
317
318 void cellInserted();
319
321
322public:
323 ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory);
324
325 virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() override;
326 virtual orcus::spreadsheet::iface::import_table* get_table() override;
327 virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() override;
328 virtual orcus::spreadsheet::iface::import_conditional_format* get_conditional_format() override;
329 virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override;
330 virtual orcus::spreadsheet::iface::import_formula* get_formula() override;
331 virtual orcus::spreadsheet::iface::import_array_formula* get_array_formula() override;
332
333 // Orcus import interface
334 virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override;
335 virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::string_id_t sindex) override;
336 virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override;
337 virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override;
338 virtual void set_date_time(
339 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, int year, int month, int day, int hour, int minute, double second) override;
340
341 virtual void set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t xf_index) override;
342 virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
343 orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index) override;
344 virtual void set_column_format(
345 orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span, std::size_t xf_index) override;
346 virtual void set_row_format(orcus::spreadsheet::row_t row, std::size_t xf_index) override;
347
348 virtual orcus::spreadsheet::range_size_t get_sheet_size() const override;
349
350 virtual void fill_down_cells(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::row_t range_size) override;
351
352 SCTAB getIndex() const { return mnTab; }
353
357};
358
360{
361 std::optional<OUString> maName;
362 std::optional<OUString> maNameAsian;
363 std::optional<OUString> maNameComplex;
364 std::optional<double> mnSize;
365 std::optional<double> mnSizeAsian;
366 std::optional<double> mnSizeComplex;
367 std::optional<Color> maColor;
368 std::optional<bool> mbBold;
369 std::optional<bool> mbBoldAsian;
370 std::optional<bool> mbBoldComplex;
371 std::optional<bool> mbItalic;
372 std::optional<bool> mbItalicAsian;
373 std::optional<bool> mbItalicComplex;
374 std::optional<FontLineStyle> meUnderline;
375 std::optional<Color> maUnderlineColor;
376 std::optional<FontStrikeout> meStrikeout;
377
378 void applyToItemSet( SfxItemSet& rSet ) const;
379};
380
382{
383 std::optional<orcus::spreadsheet::fill_pattern_t> mePattern;
384 std::optional<Color> maFgColor;
385 std::optional<Color> maBgColor; // currently not used.
386
387 void applyToItemSet( SfxItemSet& rSet ) const;
388};
389
391{
393 {
394 std::optional<SvxBorderLineStyle> meStyle;
395 std::optional<Color> maColor;
396 std::optional<double> mnWidth;
397 };
398
399 std::map<orcus::spreadsheet::border_direction_t, BorderLine> maBorders;
400
401 void applyToItemSet( SfxItemSet& rSet ) const;
402};
403
405{
406 std::optional<bool> mbLocked;
407 std::optional<bool> mbHidden;
408 std::optional<bool> mbPrintContent;
409 std::optional<bool> mbFormulaHidden;
410
411 void applyToItemSet( SfxItemSet& rSet ) const;
412};
413
415{
416 std::optional<OUString> maCode;
417
418 void applyToItemSet( SfxItemSet& rSet, const ScDocument& rDoc ) const;
419};
420
422{
423 std::size_t mnFontId;
424 std::size_t mnFillId;
425 std::size_t mnBorderId;
426 std::size_t mnProtectionId;
427 std::size_t mnNumberFormatId;
428 std::size_t mnStyleXf;
429
431 std::optional<bool> mbWrapText;
432 std::optional<bool> mbShrinkToFit;
433
438
439 ScOrcusXf();
440};
441
443{
444 OUString maName;
446 OUString maParentName;
447 std::size_t mnXFId;
448 std::size_t mnBuiltInId;
449
451};
452
453class ScOrcusImportFontStyle : public orcus::spreadsheet::iface::import_font_style
454{
457 std::vector<ScOrcusFont>& mrFonts;
458
459public:
460 ScOrcusImportFontStyle( ScOrcusFactory& rFactory, std::vector<ScOrcusFont>& rFonts );
461
462 void reset();
463
464 void set_bold(bool b) override;
465 void set_bold_asian(bool b) override;
466 void set_bold_complex(bool b) override;
467 void set_italic(bool b) override;
468 void set_italic_asian(bool b) override;
469 void set_italic_complex(bool b) override;
470 void set_name(std::string_view s) override;
471 void set_name_asian(std::string_view s) override;
472 void set_name_complex(std::string_view s) override;
473 void set_size(double point) override;
474 void set_size_asian(double point) override;
475 void set_size_complex(double point) override;
476 void set_underline(orcus::spreadsheet::underline_t e) override;
477 void set_underline_width(orcus::spreadsheet::underline_width_t e) override;
478 void set_underline_mode(orcus::spreadsheet::underline_mode_t e) override;
479 void set_underline_type(orcus::spreadsheet::underline_type_t e) override;
481 orcus::spreadsheet::color_elem_t alpha,
482 orcus::spreadsheet::color_elem_t red,
483 orcus::spreadsheet::color_elem_t green,
484 orcus::spreadsheet::color_elem_t blue) override;
485 void set_color(
486 orcus::spreadsheet::color_elem_t alpha,
487 orcus::spreadsheet::color_elem_t red,
488 orcus::spreadsheet::color_elem_t green,
489 orcus::spreadsheet::color_elem_t blue) override;
490 void set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t s) override;
491 void set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s) override;
492 void set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t s) override;
493 void set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s) override;
494 std::size_t commit() override;
495};
496
497class ScOrcusImportFillStyle : public orcus::spreadsheet::iface::import_fill_style
498{
500 std::vector<ScOrcusFill>& mrFills;
501
502public:
503 ScOrcusImportFillStyle( std::vector<ScOrcusFill>& rFills );
504
505 void reset();
506
507 void set_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override;
508 void set_fg_color(
509 orcus::spreadsheet::color_elem_t alpha,
510 orcus::spreadsheet::color_elem_t red,
511 orcus::spreadsheet::color_elem_t green,
512 orcus::spreadsheet::color_elem_t blue) override;
513 void set_bg_color(
514 orcus::spreadsheet::color_elem_t alpha,
515 orcus::spreadsheet::color_elem_t red,
516 orcus::spreadsheet::color_elem_t green,
517 orcus::spreadsheet::color_elem_t blue) override;
518 std::size_t commit() override;
519};
520
521class ScOrcusImportBorderStyle : public orcus::spreadsheet::iface::import_border_style
522{
524 std::vector<ScOrcusBorder>& mrBorders;
525
526public:
527 ScOrcusImportBorderStyle( std::vector<ScOrcusBorder>& rBorders );
528
529 void reset();
530
531 void set_width(
532 orcus::spreadsheet::border_direction_t dir, double width, orcus::length_unit_t unit) override;
533 void set_style(
534 orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style) override;
535 void set_color(
536 orcus::spreadsheet::border_direction_t dir,
537 orcus::spreadsheet::color_elem_t alpha,
538 orcus::spreadsheet::color_elem_t red,
539 orcus::spreadsheet::color_elem_t green,
540 orcus::spreadsheet::color_elem_t blue) override;
541 std::size_t commit() override;
542};
543
544class ScOrcusImportCellProtection : public orcus::spreadsheet::iface::import_cell_protection
545{
547 std::vector<ScOrcusProtection>& mrProtections;
548
549public:
550 ScOrcusImportCellProtection( std::vector<ScOrcusProtection>& rProtections );
551
552 void reset();
553
554 void set_hidden(bool b) override;
555 void set_locked(bool b) override;
556 void set_print_content(bool b) override;
557 void set_formula_hidden(bool b) override;
558 std::size_t commit() override;
559};
560
561class ScOrcusImportNumberFormat : public orcus::spreadsheet::iface::import_number_format
562{
565 std::vector<ScOrcusNumberFormat>& mrNumberFormats;
566
567public:
568 ScOrcusImportNumberFormat( ScOrcusFactory& rFactory, std::vector<ScOrcusNumberFormat>& rFormats );
569
570 void reset();
571
572 void set_identifier(std::size_t id) override;
573 void set_code(std::string_view s) override;
574 std::size_t commit() override;
575};
576
577class ScOrucsImportCellStyle : public orcus::spreadsheet::iface::import_cell_style
578{
582 const std::vector<ScOrcusXf>& mrXfs;
583
584public:
586 ScOrcusFactory& rFactory, ScOrcusStyles& rStyles, const std::vector<ScOrcusXf>& rXfs );
587
588 void reset();
589
590 void set_name(std::string_view s) override;
591 void set_display_name(std::string_view s) override;
592 void set_xf(std::size_t index) override;
593 void set_builtin(std::size_t index) override;
594 void set_parent_name(std::string_view s) override;
595 void commit() override;
596};
597
598class ScOrcusImportXf : public orcus::spreadsheet::iface::import_xf
599{
601 std::vector<ScOrcusXf>* mpXfs = nullptr;
602
603public:
604 void reset( std::vector<ScOrcusXf>& rXfs );
605
606 void set_font(std::size_t index) override;
607 void set_fill(std::size_t index) override;
608 void set_border(std::size_t index) override;
609 void set_protection(std::size_t index) override;
610 void set_number_format(std::size_t index) override;
611 void set_style_xf(std::size_t index) override;
612 void set_apply_alignment(bool b) override;
613 void set_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align) override;
614 void set_vertical_alignment(orcus::spreadsheet::ver_alignment_t align) override;
615 void set_wrap_text(bool b) override;
616 void set_shrink_to_fit(bool b) override;
617 std::size_t commit() override;
618};
619
620class ScOrcusStyles : public orcus::spreadsheet::iface::import_styles
621{
622private:
624
625 std::vector<ScOrcusFont> maFonts;
626 std::vector<ScOrcusFill> maFills;
627 std::vector<ScOrcusBorder> maBorders;
628 std::vector<ScOrcusProtection> maProtections;
629 std::vector<ScOrcusNumberFormat> maNumberFormats;
630 std::vector<ScOrcusXf> maCellXfs;
631 std::vector<ScOrcusXf> maCellStyleXfs;
632 std::vector<ScOrcusXf> maCellDiffXfs;
633
641
642public:
643 ScOrcusStyles( ScOrcusFactory& rFactory, bool bSkipDefaultStyles=false );
644
645 void applyXfToItemSet( SfxItemSet& rSet, const ScOrcusXf& rXf );
646 void applyXfToItemSet( SfxItemSet& rSet, std::size_t xfId );
647
648 virtual orcus::spreadsheet::iface::import_font_style* start_font_style() override;
649 virtual orcus::spreadsheet::iface::import_fill_style* start_fill_style() override;
650 virtual orcus::spreadsheet::iface::import_border_style* start_border_style() override;
651 virtual orcus::spreadsheet::iface::import_cell_protection* start_cell_protection() override;
652 virtual orcus::spreadsheet::iface::import_number_format* start_number_format() override;
653 virtual orcus::spreadsheet::iface::import_xf* start_xf(orcus::spreadsheet::xf_category_t cat) override;
654 virtual orcus::spreadsheet::iface::import_cell_style* start_cell_style() override;
655
656 virtual void set_font_count(size_t n) override;
657 virtual void set_fill_count(size_t n) override;
658 virtual void set_border_count(size_t n) override;
659 virtual void set_number_format_count(size_t n) override;
660 virtual void set_xf_count(orcus::spreadsheet::xf_category_t cat, size_t n) override;
661 virtual void set_cell_style_count(size_t n) override;
662};
663
664class ScOrcusFactory : public orcus::spreadsheet::iface::import_factory
665{
667 {
668 enum class Type : sal_uInt8
669 {
670 Auto,
671 Numeric,
672 String,
673 Formula,
674 FormulaWithResult,
675 SharedFormula,
676 SharedFormulaWithResult,
677 Matrix,
678 FillDownCells
679 };
680
681
682 OUString maStr1;
683 OUString maStr2;
684 double mfValue;
685
688
689 uint32_t mnIndex1;
690 uint32_t mnIndex2;
692
693 CellStoreToken( const ScAddress& rPos, Type eType );
694 CellStoreToken( const ScAddress& rPos, double fValue );
695 CellStoreToken( const ScAddress& rPos, uint32_t nIndex );
696 CellStoreToken( const ScAddress& rPos, OUString aFormula, formula::FormulaGrammar::Grammar eGrammar );
697 };
698
699 typedef std::unordered_map<OUString, size_t> StringHashType;
700 typedef std::vector<CellStoreToken> CellStoreTokensType;
701
703
704 std::vector<OUString> maStrings;
706
712 std::vector<std::unique_ptr<ScOrcusSheet>> maSheets;
714
716
717 css::uno::Reference<css::task::XStatusIndicator> mxStatusIndicator;
718
719public:
720 ScOrcusFactory(ScDocument& rDoc, bool bSkipDefaultStyles=false);
721
722 virtual orcus::spreadsheet::iface::import_sheet* append_sheet(
723 orcus::spreadsheet::sheet_t sheet_index, std::string_view sheet_name) override;
724 virtual orcus::spreadsheet::iface::import_sheet* get_sheet(std::string_view sheet_name) override;
725 virtual orcus::spreadsheet::iface::import_sheet* get_sheet(orcus::spreadsheet::sheet_t sheet_index) override;
726 virtual orcus::spreadsheet::iface::import_global_settings* get_global_settings() override;
727 virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings() override;
728 virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override;
729 virtual orcus::spreadsheet::iface::import_styles* get_styles() override;
730 virtual orcus::spreadsheet::iface::import_reference_resolver* get_reference_resolver(
731 orcus::spreadsheet::formula_ref_context_t cxt) override;
732 virtual void finalize() override;
733
735
736 size_t appendString(const OUString& rStr);
737 size_t addString(const OUString& rStr);
738 const OUString* getString(size_t nIndex) const;
739
740 void pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal );
741 void pushCellStoreToken( const ScAddress& rPos, uint32_t nStrIndex );
742 void pushCellStoreToken( const ScAddress& rPos, double fValue );
744 const ScAddress& rPos, const OUString& rFormula, formula::FormulaGrammar::Grammar eGrammar );
745 void pushFillDownCellsToken( const ScAddress& rPos, uint32_t nFillSize );
746
747 void pushSharedFormulaToken( const ScAddress& rPos, uint32_t nIndex );
749 const ScAddress& rPos, const OUString& rFormula, formula::FormulaGrammar::Grammar eGrammar,
750 uint32_t nRowRange, uint32_t nColRange );
751
752 void pushFormulaResult( const ScAddress& rPos, double fValue );
753 void pushFormulaResult( const ScAddress& rPos, const OUString& rValue );
754
755 void incrementProgress();
756
757 void setStatusIndicator(const css::uno::Reference<css::task::XStatusIndicator>& rIndicator);
758
760};
761
762/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Accessor class to ScDocument.
virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, std::string_view formula) override
Definition: interface.cxx:1097
virtual void set_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:1088
ScOrcusArrayFormula(ScOrcusSheet &rSheet)
Definition: interface.cxx:1078
virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override
Definition: interface.cxx:1113
virtual void commit() override
Definition: interface.cxx:1123
ScOrcusSheet & mrSheet
virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override
Definition: interface.cxx:1118
virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override
Definition: interface.cxx:1108
virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override
Definition: interface.cxx:1103
formula::FormulaGrammar::Grammar meGrammar
virtual ~ScOrcusArrayFormula() override
Definition: interface.cxx:1086
virtual void set_column(orcus::spreadsheet::col_t col) override
Definition: interface.cxx:2401
virtual void commit() override
Definition: interface.cxx:2417
const ScOrcusGlobalSettings & mrGlobalSettings
virtual void append_column_match_value(std::string_view value) override
Definition: interface.cxx:2406
ScOrcusAutoFilter(const ScOrcusGlobalSettings &rGS)
Definition: interface.cxx:2384
virtual void commit_column() override
Definition: interface.cxx:2412
virtual void set_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:2393
virtual ~ScOrcusAutoFilter() override
Definition: interface.cxx:2389
virtual ~ScOrcusConditionalFormat() override
Definition: interface.cxx:788
virtual void commit_entry() override
Definition: interface.cxx:909
ScOrcusConditionalFormat(SCTAB nTab, ScDocument &rDoc)
Definition: interface.cxx:780
virtual void set_iconset_reverse(bool reverse) override
Definition: interface.cxx:869
virtual void set_databar_color_positive(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override
Definition: interface.cxx:838
virtual void set_show_value(bool show) override
Definition: interface.cxx:864
virtual void set_type(orcus::spreadsheet::conditional_format_t type) override
Definition: interface.cxx:885
virtual void set_xf_id(size_t xf) override
Definition: interface.cxx:875
virtual void set_range(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start, orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end) override
virtual void set_databar_gradient(bool gradient) override
Definition: interface.cxx:826
virtual void commit_format() override
Definition: interface.cxx:927
virtual void set_operator(orcus::spreadsheet::condition_operator_t condition_type) override
Definition: interface.cxx:880
virtual void set_databar_color_negative(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red, orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) override
Definition: interface.cxx:845
virtual void set_range(std::string_view range) override
Definition: interface.cxx:914
virtual void set_date(orcus::spreadsheet::condition_date_t date) override
Definition: interface.cxx:809
virtual void set_formula(std::string_view formula) override
Definition: interface.cxx:804
virtual void set_icon_name(std::string_view name) override
Definition: interface.cxx:820
virtual void commit_condition() override
Definition: interface.cxx:815
virtual void set_databar_axis(orcus::spreadsheet::databar_axis_t axis) override
Definition: interface.cxx:832
virtual void set_condition_type(orcus::spreadsheet::condition_type_t type) override
Definition: interface.cxx:798
std::unique_ptr< ScConditionalFormat > mpCurrentFormat
ScFormatEntry::Type meEntryType
virtual void set_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) override
Definition: interface.cxx:792
virtual void set_min_databar_length(double length) override
Definition: interface.cxx:852
virtual void set_max_databar_length(double length) override
Definition: interface.cxx:858
ScOrcusGlobalSettings maGlobalSettings
void pushSharedFormulaToken(const ScAddress &rPos, uint32_t nIndex)
Definition: interface.cxx:613
virtual orcus::spreadsheet::iface::import_reference_resolver * get_reference_resolver(orcus::spreadsheet::formula_ref_context_t cxt) override
Definition: interface.cxx:413
virtual void finalize() override
Definition: interface.cxx:427
StringHashType maStringHash
virtual orcus::spreadsheet::iface::import_shared_strings * get_shared_strings() override
Definition: interface.cxx:398
std::vector< std::unique_ptr< ScOrcusSheet > > maSheets
void pushMatrixFormulaToken(const ScAddress &rPos, const OUString &rFormula, formula::FormulaGrammar::Grammar eGrammar, uint32_t nRowRange, uint32_t nColRange)
Definition: interface.cxx:619
virtual orcus::spreadsheet::iface::import_named_expression * get_named_expression() override
Definition: interface.cxx:403
std::vector< CellStoreToken > CellStoreTokensType
ScOrcusStyles maStyles
ScDocumentImport maDoc
void pushCellStoreToken(const ScAddress &rPos, uint32_t nStrIndex)
Definition: interface.cxx:591
size_t addString(const OUString &rStr)
Definition: interface.cxx:570
std::unordered_map< OUString, size_t > StringHashType
virtual orcus::spreadsheet::iface::import_global_settings * get_global_settings() override
Definition: interface.cxx:393
void pushFillDownCellsToken(const ScAddress &rPos, uint32_t nFillSize)
Definition: interface.cxx:607
void pushFormulaResult(const ScAddress &rPos, double fValue)
Definition: interface.cxx:631
const ScOrcusGlobalSettings & getGlobalSettings() const
Definition: interface.cxx:707
void setStatusIndicator(const css::uno::Reference< css::task::XStatusIndicator > &rIndicator)
Definition: interface.cxx:702
ScOrcusSharedStrings maSharedStrings
ScDocumentImport & getDoc()
Definition: interface.cxx:556
void incrementProgress()
Definition: interface.cxx:683
virtual orcus::spreadsheet::iface::import_styles * get_styles() override
Definition: interface.cxx:408
ScOrcusFactory(ScDocument &rDoc, bool bSkipDefaultStyles=false)
Definition: interface.cxx:310
std::vector< OUString > maStrings
size_t appendString(const OUString &rStr)
Definition: interface.cxx:561
ScOrcusNamedExpression maNamedExpressions
virtual orcus::spreadsheet::iface::import_sheet * append_sheet(orcus::spreadsheet::sheet_t sheet_index, std::string_view sheet_name) override
Definition: interface.cxx:319
ScOrcusRefResolver maRefResolver
CellStoreTokensType maCellStoreTokens
virtual orcus::spreadsheet::iface::import_sheet * get_sheet(std::string_view sheet_name) override
Definition: interface.cxx:356
void pushCellStoreAutoToken(const ScAddress &rPos, const OUString &rVal)
Definition: interface.cxx:585
const OUString * getString(size_t nIndex) const
Definition: interface.cxx:580
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
ScOrcusFormula(ScOrcusSheet &rSheet)
Definition: interface.cxx:961
virtual ~ScOrcusFormula() override
Definition: interface.cxx:971
virtual void set_result_value(double value) override
Definition: interface.cxx:991
virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, std::string_view formula) override
Definition: interface.cxx:979
virtual void set_result_bool(bool value) override
Definition: interface.cxx:1008
size_t mnSharedFormulaIndex
formula::FormulaGrammar::Grammar meGrammar
virtual void set_result_empty() override
Definition: interface.cxx:1003
virtual void set_shared_formula_index(size_t index) override
Definition: interface.cxx:985
ResultType meResType
virtual void set_result_string(std::string_view value) override
Definition: interface.cxx:997
ScOrcusSheet & mrSheet
virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override
Definition: interface.cxx:973
virtual void commit() override
Definition: interface.cxx:1014
virtual void set_character_set(orcus::character_set_t cs) override
Definition: interface.cxx:104
orcus::spreadsheet::formula_grammar_t meOrcusGrammar
ScOrcusGlobalSettings(ScDocumentImport &rDoc)
Definition: interface.cxx:91
formula::FormulaGrammar::Grammar getCalcGrammar() const
ScDocumentImport & getDoc() const
virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override
Definition: interface.cxx:163
rtl_TextEncoding mnTextEncoding
virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override
Definition: interface.cxx:157
formula::FormulaGrammar::Grammar meCalcGrammar
rtl_TextEncoding getTextEncoding() const
ScDocumentImport & mrDoc
virtual void set_origin_date(int year, int month, int day) override
Definition: interface.cxx:99
void set_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) override
Definition: interface.cxx:1926
std::vector< ScOrcusBorder > & mrBorders
void set_style(orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style) override
Definition: interface.cxx:1857
ScOrcusImportBorderStyle(std::vector< ScOrcusBorder > &rBorders)
Definition: interface.cxx:1852
void set_width(orcus::spreadsheet::border_direction_t dir, double width, orcus::length_unit_t unit) override
Definition: interface.cxx:1939
std::size_t commit() override
Definition: interface.cxx:1945
ScOrcusProtection maCurrentProtection
void set_formula_hidden(bool b) override
Definition: interface.cxx:1978
std::size_t commit() override
Definition: interface.cxx:1983
std::vector< ScOrcusProtection > & mrProtections
void set_hidden(bool b) override
Definition: interface.cxx:1963
ScOrcusImportCellProtection(std::vector< ScOrcusProtection > &rProtections)
Definition: interface.cxx:1953
void set_print_content(bool b) override
Definition: interface.cxx:1973
void set_locked(bool b) override
Definition: interface.cxx:1968
ScOrcusImportFillStyle(std::vector< ScOrcusFill > &rFills)
Definition: interface.cxx:1817
std::size_t commit() override
Definition: interface.cxx:1844
void set_fg_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) override
Definition: interface.cxx:1832
std::vector< ScOrcusFill > & mrFills
void set_bg_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) override
Definition: interface.cxx:1838
void set_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override
Definition: interface.cxx:1827
void set_underline_type(orcus::spreadsheet::underline_type_t e) override
Definition: interface.cxx:1713
void set_italic_asian(bool b) override
Definition: interface.cxx:1589
void set_italic_complex(bool b) override
Definition: interface.cxx:1594
void set_underline_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) override
Definition: interface.cxx:1737
void set_name_complex(std::string_view s) override
Definition: interface.cxx:1611
void set_name(std::string_view s) override
Definition: interface.cxx:1599
void set_size_complex(double point) override
Definition: interface.cxx:1627
void set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s) override
Definition: interface.cxx:1753
void set_underline_mode(orcus::spreadsheet::underline_mode_t e) override
Definition: interface.cxx:1709
void set_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) override
Definition: interface.cxx:1743
void set_size(double point) override
Definition: interface.cxx:1617
void set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s) override
Definition: interface.cxx:1794
void set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t s) override
Definition: interface.cxx:1782
void set_size_asian(double point) override
Definition: interface.cxx:1622
ScOrcusImportFontStyle(ScOrcusFactory &rFactory, std::vector< ScOrcusFont > &rFonts)
Definition: interface.cxx:1558
std::vector< ScOrcusFont > & mrFonts
void set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t s) override
Definition: interface.cxx:1749
void set_name_asian(std::string_view s) override
Definition: interface.cxx:1605
void set_underline_width(orcus::spreadsheet::underline_width_t e) override
Definition: interface.cxx:1670
void set_bold(bool b) override
Definition: interface.cxx:1569
std::size_t commit() override
Definition: interface.cxx:1809
void set_bold_complex(bool b) override
Definition: interface.cxx:1579
void set_italic(bool b) override
Definition: interface.cxx:1584
void set_bold_asian(bool b) override
Definition: interface.cxx:1574
void set_underline(orcus::spreadsheet::underline_t e) override
Definition: interface.cxx:1632
ScOrcusFactory & mrFactory
void set_identifier(std::size_t id) override
Definition: interface.cxx:2001
ScOrcusImportNumberFormat(ScOrcusFactory &rFactory, std::vector< ScOrcusNumberFormat > &rFormats)
Definition: interface.cxx:1991
ScOrcusNumberFormat maCurrentFormat
void set_code(std::string_view s) override
Definition: interface.cxx:2005
std::size_t commit() override
Definition: interface.cxx:2011
std::vector< ScOrcusNumberFormat > & mrNumberFormats
void set_protection(std::size_t index) override
Definition: interface.cxx:2107
void set_apply_alignment(bool b) override
Definition: interface.cxx:2122
std::vector< ScOrcusXf > * mpXfs
void set_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align) override
Definition: interface.cxx:2127
void set_vertical_alignment(orcus::spreadsheet::ver_alignment_t align) override
Definition: interface.cxx:2156
void set_number_format(std::size_t index) override
Definition: interface.cxx:2112
void set_wrap_text(bool b) override
Definition: interface.cxx:2185
void reset(std::vector< ScOrcusXf > &rXfs)
Definition: interface.cxx:2086
void set_style_xf(std::size_t index) override
Definition: interface.cxx:2117
std::size_t commit() override
Definition: interface.cxx:2195
void set_border(std::size_t index) override
Definition: interface.cxx:2102
void set_font(std::size_t index) override
Definition: interface.cxx:2092
void set_fill(std::size_t index) override
Definition: interface.cxx:2097
void set_shrink_to_fit(bool b) override
Definition: interface.cxx:2190
virtual void set_base_position(const orcus::spreadsheet::src_address_t &pos) override
Definition: interface.cxx:235
const ScOrcusGlobalSettings & mrGlobalSettings
virtual void set_named_range(std::string_view name, std::string_view range) override
Definition: interface.cxx:248
ScDocumentImport & mrDoc
virtual void set_named_expression(std::string_view name, std::string_view expression) override
Definition: interface.cxx:242
ScOrcusNamedExpression(ScDocumentImport &rDoc, const ScOrcusGlobalSettings &rGS, SCTAB nTab=-1)
Definition: interface.cxx:222
virtual void commit() override
Definition: interface.cxx:253
const ScOrcusGlobalSettings & mrGlobalSettings
orcus::spreadsheet::src_range_t resolve_range(std::string_view range) override
Definition: interface.cxx:195
orcus::spreadsheet::src_address_t resolve_address(std::string_view address) override
Definition: interface.cxx:171
ScOrcusRefResolver(const ScOrcusGlobalSettings &rGS)
Definition: interface.cxx:168
virtual void append_segment(std::string_view s) override
Definition: interface.cxx:1339
virtual size_t append(std::string_view s) override
Definition: interface.cxx:1300
virtual void set_segment_italic(bool b) override
Definition: interface.cxx:1320
virtual size_t add(std::string_view s) override
Definition: interface.cxx:1306
OStringBuffer maCurSegment
virtual void set_segment_bold(bool b) override
Definition: interface.cxx:1316
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) override
Definition: interface.cxx:1332
ScOrcusFactory & mrFactory
virtual void set_segment_font_size(double point) override
Definition: interface.cxx:1328
virtual size_t commit_segments() override
Definition: interface.cxx:1344
ScOrcusSharedStrings(ScOrcusFactory &rFactory)
Definition: interface.cxx:1297
virtual void set_segment_font(size_t font_index) override
Definition: interface.cxx:1312
virtual void set_segment_font_name(std::string_view s) override
Definition: interface.cxx:1324
virtual void set_column_hidden(orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span, bool hidden) override
Definition: interface.cxx:757
virtual void set_column_width(orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span, double width, orcus::length_unit_t unit) override
Definition: interface.cxx:749
virtual void set_merge_cell_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:775
virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden) override
Definition: interface.cxx:769
virtual ~ScOrcusSheetProperties() override
Definition: interface.cxx:718
virtual void set_row_height(orcus::spreadsheet::row_t row, double height, orcus::length_unit_t unit) override
Definition: interface.cxx:763
ScOrcusSheetProperties(SCTAB nTab, ScDocumentImport &rDoc)
Definition: interface.cxx:712
ScDocumentImport & mrDoc
virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start, orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end, size_t xf_index) override
virtual orcus::spreadsheet::iface::import_formula * get_formula() override
Definition: interface.cxx:1170
virtual orcus::spreadsheet::iface::import_conditional_format * get_conditional_format() override
Definition: interface.cxx:1160
virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override
Definition: interface.cxx:1201
ScOrcusSheetProperties maProperties
ScOrcusFactory & mrFactory
void cellInserted()
Definition: interface.cxx:1130
ScDocumentImport & mrDoc
virtual void set_row_format(orcus::spreadsheet::row_t row, std::size_t xf_index) override
Definition: interface.cxx:1258
ScOrcusConditionalFormat maConditionalFormat
SCTAB getIndex() const
virtual void fill_down_cells(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::row_t range_size) override
Definition: interface.cxx:1276
ScOrcusArrayFormula maArrayFormula
ScOrcusFactory & getFactory()
Definition: interface.cxx:1292
virtual orcus::spreadsheet::iface::import_sheet_properties * get_sheet_properties() override
Definition: interface.cxx:1155
virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override
Definition: interface.cxx:1195
virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override
Definition: interface.cxx:1182
virtual void set_date_time(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, int year, int month, int day, int hour, int minute, double second) override
Definition: interface.cxx:1207
virtual orcus::spreadsheet::iface::import_table * get_table() override
Definition: interface.cxx:1150
virtual orcus::spreadsheet::iface::import_array_formula * get_array_formula() override
Definition: interface.cxx:1176
sc::SharedFormulaGroups maFormulaGroups
virtual void set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, size_t xf_index) override
ScOrcusAutoFilter maAutoFilter
const sc::SharedFormulaGroups & getSharedFormulaGroups() const
Definition: interface.cxx:1282
virtual orcus::spreadsheet::iface::import_auto_filter * get_auto_filter() override
Definition: interface.cxx:1145
virtual orcus::spreadsheet::iface::import_named_expression * get_named_expression() override
Definition: interface.cxx:1165
virtual orcus::spreadsheet::range_size_t get_sheet_size() const override
Definition: interface.cxx:1267
ScOrcusNamedExpression maNamedExpressions
ScOrcusFormula maFormula
ScOrcusSheet(ScDocumentImport &rDoc, SCTAB nTab, ScOrcusFactory &rFactory)
Definition: interface.cxx:933
ScDocumentImport & getDoc()
Definition: interface.cxx:1140
virtual void set_column_format(orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span, std::size_t xf_index) override
Definition: interface.cxx:1248
virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::string_id_t sindex) override
Definition: interface.cxx:1189
ScOrcusStyles & mrStyles
virtual orcus::spreadsheet::iface::import_fill_style * start_fill_style() override
Definition: interface.cxx:2307
std::vector< ScOrcusFont > maFonts
std::vector< ScOrcusBorder > maBorders
std::vector< ScOrcusXf > maCellXfs
ScOrcusImportBorderStyle maBorderStyle
void applyXfToItemSet(SfxItemSet &rSet, const ScOrcusXf &rXf)
Definition: interface.cxx:2228
std::vector< ScOrcusNumberFormat > maNumberFormats
virtual void set_border_count(size_t n) override
Definition: interface.cxx:2366
virtual orcus::spreadsheet::iface::import_number_format * start_number_format() override
Definition: interface.cxx:2325
ScOrcusImportCellProtection maCellProtection
ScOrcusStyles(ScOrcusFactory &rFactory, bool bSkipDefaultStyles=false)
Definition: interface.cxx:2202
std::vector< ScOrcusXf > maCellStyleXfs
std::vector< ScOrcusXf > maCellDiffXfs
ScOrcusImportFontStyle maFontStyle
ScOrcusImportFillStyle maFillStyle
std::vector< ScOrcusFill > maFills
ScOrcusFactory & mrFactory
virtual void set_cell_style_count(size_t n) override
Definition: interface.cxx:2378
virtual orcus::spreadsheet::iface::import_cell_style * start_cell_style() override
Definition: interface.cxx:2352
virtual orcus::spreadsheet::iface::import_cell_protection * start_cell_protection() override
Definition: interface.cxx:2319
ScOrcusImportNumberFormat maNumberFormat
ScOrucsImportCellStyle maCellStyle
std::vector< ScOrcusProtection > maProtections
virtual orcus::spreadsheet::iface::import_font_style * start_font_style() override
Definition: interface.cxx:2301
virtual orcus::spreadsheet::iface::import_xf * start_xf(orcus::spreadsheet::xf_category_t cat) override
Definition: interface.cxx:2331
virtual orcus::spreadsheet::iface::import_border_style * start_border_style() override
Definition: interface.cxx:2313
virtual void set_xf_count(orcus::spreadsheet::xf_category_t cat, size_t n) override
Definition: interface.cxx:2374
ScOrcusImportXf maXf
virtual void set_number_format_count(size_t n) override
Definition: interface.cxx:2370
virtual void set_fill_count(size_t n) override
Definition: interface.cxx:2362
virtual void set_font_count(size_t n) override
Definition: interface.cxx:2358
ScOrucsImportCellStyle(ScOrcusFactory &rFactory, ScOrcusStyles &rStyles, const std::vector< ScOrcusXf > &rXfs)
Definition: interface.cxx:2019
void set_display_name(std::string_view s) override
Definition: interface.cxx:2038
void commit() override
Definition: interface.cxx:2060
ScOrcusFactory & mrFactory
ScOrcusCellStyle maCurrentStyle
void set_builtin(std::size_t index) override
Definition: interface.cxx:2049
void set_name(std::string_view s) override
Definition: interface.cxx:2032
ScOrcusStyles & mrStyles
void set_xf(std::size_t index) override
Definition: interface.cxx:2044
const std::vector< ScOrcusXf > & mrXfs
void set_parent_name(std::string_view s) override
Definition: interface.cxx:2054
const char * name
RttiCompleteObjectLocator col
constexpr double alpha[nDetails]
Value
Empty
std::optional< Color > maColor
std::optional< SvxBorderLineStyle > meStyle
std::optional< double > mnWidth
std::map< orcus::spreadsheet::border_direction_t, BorderLine > maBorders
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1444
std::size_t mnBuiltInId
CellStoreToken(const ScAddress &rPos, Type eType)
Definition: interface.cxx:268
formula::FormulaGrammar::Grammar meGrammar
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1435
std::optional< Color > maBgColor
std::optional< orcus::spreadsheet::fill_pattern_t > mePattern
std::optional< Color > maFgColor
std::optional< bool > mbItalic
std::optional< double > mnSize
std::optional< double > mnSizeAsian
std::optional< FontLineStyle > meUnderline
std::optional< Color > maUnderlineColor
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1351
std::optional< bool > mbItalicComplex
std::optional< OUString > maNameComplex
std::optional< FontStrikeout > meStrikeout
std::optional< bool > mbBoldComplex
std::optional< bool > mbBold
std::optional< OUString > maNameAsian
std::optional< OUString > maName
std::optional< Color > maColor
std::optional< bool > mbBoldAsian
std::optional< bool > mbItalicAsian
std::optional< double > mnSizeComplex
void applyToItemSet(SfxItemSet &rSet, const ScDocument &rDoc) const
Definition: interface.cxx:1518
std::optional< OUString > maCode
std::optional< bool > mbLocked
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1506
std::optional< bool > mbPrintContent
std::optional< bool > mbFormulaHidden
std::optional< bool > mbHidden
std::size_t mnStyleXf
bool mbApplyAlignment
std::size_t mnBorderId
SvxCellVerJustify meVerAlignment
std::size_t mnFontId
SvxCellJustifyMethod meVerAlignMethod
std::size_t mnNumberFormatId
std::size_t mnProtectionId
std::optional< bool > mbShrinkToFit
SvxCellHorJustify meHorAlignment
std::optional< bool > mbWrapText
std::size_t mnFillId
SvxCellJustifyMethod meHorAlignMethod
SvxCellJustifyMethod
SvxCellHorJustify
SvxCellVerJustify
unsigned char sal_uInt8
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17
ResultType type