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
711 std::vector<std::unique_ptr<ScOrcusSheet>> maSheets;
713
715
716 css::uno::Reference<css::task::XStatusIndicator> mxStatusIndicator;
717
718public:
719 ScOrcusFactory(ScDocument& rDoc, bool bSkipDefaultStyles=false);
720
721 virtual orcus::spreadsheet::iface::import_sheet* append_sheet(
722 orcus::spreadsheet::sheet_t sheet_index, std::string_view sheet_name) override;
723 virtual orcus::spreadsheet::iface::import_sheet* get_sheet(std::string_view sheet_name) override;
724 virtual orcus::spreadsheet::iface::import_sheet* get_sheet(orcus::spreadsheet::sheet_t sheet_index) override;
725 virtual orcus::spreadsheet::iface::import_global_settings* get_global_settings() override;
726 virtual orcus::spreadsheet::iface::import_shared_strings* get_shared_strings() override;
727 virtual orcus::spreadsheet::iface::import_named_expression* get_named_expression() override;
728 virtual orcus::spreadsheet::iface::import_styles* get_styles() override;
729 virtual void finalize() override;
730
732
733 size_t appendString(const OUString& rStr);
734 size_t addString(const OUString& rStr);
735 const OUString* getString(size_t nIndex) const;
736
737 void pushCellStoreAutoToken( const ScAddress& rPos, const OUString& rVal );
738 void pushCellStoreToken( const ScAddress& rPos, uint32_t nStrIndex );
739 void pushCellStoreToken( const ScAddress& rPos, double fValue );
741 const ScAddress& rPos, const OUString& rFormula, formula::FormulaGrammar::Grammar eGrammar );
742 void pushFillDownCellsToken( const ScAddress& rPos, uint32_t nFillSize );
743
744 void pushSharedFormulaToken( const ScAddress& rPos, uint32_t nIndex );
746 const ScAddress& rPos, const OUString& rFormula, formula::FormulaGrammar::Grammar eGrammar,
747 uint32_t nRowRange, uint32_t nColRange );
748
749 void pushFormulaResult( const ScAddress& rPos, double fValue );
750 void pushFormulaResult( const ScAddress& rPos, const OUString& rValue );
751
752 void incrementProgress();
753
754 void setStatusIndicator(const css::uno::Reference<css::task::XStatusIndicator>& rIndicator);
755
757};
758
759/* 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:1079
virtual void set_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:1070
ScOrcusArrayFormula(ScOrcusSheet &rSheet)
Definition: interface.cxx:1060
virtual void set_result_empty(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override
Definition: interface.cxx:1095
virtual void commit() override
Definition: interface.cxx:1105
ScOrcusSheet & mrSheet
virtual void set_result_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override
Definition: interface.cxx:1100
virtual void set_result_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override
Definition: interface.cxx:1090
virtual void set_result_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override
Definition: interface.cxx:1085
formula::FormulaGrammar::Grammar meGrammar
virtual ~ScOrcusArrayFormula() override
Definition: interface.cxx:1068
virtual void set_column(orcus::spreadsheet::col_t col) override
Definition: interface.cxx:2383
virtual void commit() override
Definition: interface.cxx:2399
const ScOrcusGlobalSettings & mrGlobalSettings
virtual void append_column_match_value(std::string_view value) override
Definition: interface.cxx:2388
ScOrcusAutoFilter(const ScOrcusGlobalSettings &rGS)
Definition: interface.cxx:2366
virtual void commit_column() override
Definition: interface.cxx:2394
virtual void set_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:2375
virtual ~ScOrcusAutoFilter() override
Definition: interface.cxx:2371
virtual ~ScOrcusConditionalFormat() override
Definition: interface.cxx:770
virtual void commit_entry() override
Definition: interface.cxx:891
ScOrcusConditionalFormat(SCTAB nTab, ScDocument &rDoc)
Definition: interface.cxx:762
virtual void set_iconset_reverse(bool reverse) override
Definition: interface.cxx:851
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:820
virtual void set_show_value(bool show) override
Definition: interface.cxx:846
virtual void set_type(orcus::spreadsheet::conditional_format_t type) override
Definition: interface.cxx:867
virtual void set_xf_id(size_t xf) override
Definition: interface.cxx:857
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:808
virtual void commit_format() override
Definition: interface.cxx:909
virtual void set_operator(orcus::spreadsheet::condition_operator_t condition_type) override
Definition: interface.cxx:862
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:827
virtual void set_range(std::string_view range) override
Definition: interface.cxx:896
virtual void set_date(orcus::spreadsheet::condition_date_t date) override
Definition: interface.cxx:791
virtual void set_formula(std::string_view formula) override
Definition: interface.cxx:786
virtual void set_icon_name(std::string_view name) override
Definition: interface.cxx:802
virtual void commit_condition() override
Definition: interface.cxx:797
virtual void set_databar_axis(orcus::spreadsheet::databar_axis_t axis) override
Definition: interface.cxx:814
virtual void set_condition_type(orcus::spreadsheet::condition_type_t type) override
Definition: interface.cxx:780
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:774
virtual void set_min_databar_length(double length) override
Definition: interface.cxx:834
virtual void set_max_databar_length(double length) override
Definition: interface.cxx:840
ScOrcusGlobalSettings maGlobalSettings
void pushSharedFormulaToken(const ScAddress &rPos, uint32_t nIndex)
Definition: interface.cxx:595
virtual void finalize() override
Definition: interface.cxx:409
StringHashType maStringHash
virtual orcus::spreadsheet::iface::import_shared_strings * get_shared_strings() override
Definition: interface.cxx:394
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:601
virtual orcus::spreadsheet::iface::import_named_expression * get_named_expression() override
Definition: interface.cxx:399
std::vector< CellStoreToken > CellStoreTokensType
ScOrcusStyles maStyles
ScDocumentImport maDoc
void pushCellStoreToken(const ScAddress &rPos, uint32_t nStrIndex)
Definition: interface.cxx:573
size_t addString(const OUString &rStr)
Definition: interface.cxx:552
std::unordered_map< OUString, size_t > StringHashType
virtual orcus::spreadsheet::iface::import_global_settings * get_global_settings() override
Definition: interface.cxx:389
void pushFillDownCellsToken(const ScAddress &rPos, uint32_t nFillSize)
Definition: interface.cxx:589
void pushFormulaResult(const ScAddress &rPos, double fValue)
Definition: interface.cxx:613
const ScOrcusGlobalSettings & getGlobalSettings() const
Definition: interface.cxx:689
void setStatusIndicator(const css::uno::Reference< css::task::XStatusIndicator > &rIndicator)
Definition: interface.cxx:684
ScOrcusSharedStrings maSharedStrings
ScDocumentImport & getDoc()
Definition: interface.cxx:538
void incrementProgress()
Definition: interface.cxx:665
virtual orcus::spreadsheet::iface::import_styles * get_styles() override
Definition: interface.cxx:404
ScOrcusFactory(ScDocument &rDoc, bool bSkipDefaultStyles=false)
Definition: interface.cxx:307
std::vector< OUString > maStrings
size_t appendString(const OUString &rStr)
Definition: interface.cxx:543
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:315
CellStoreTokensType maCellStoreTokens
virtual orcus::spreadsheet::iface::import_sheet * get_sheet(std::string_view sheet_name) override
Definition: interface.cxx:352
void pushCellStoreAutoToken(const ScAddress &rPos, const OUString &rVal)
Definition: interface.cxx:567
const OUString * getString(size_t nIndex) const
Definition: interface.cxx:562
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator
ScOrcusFormula(ScOrcusSheet &rSheet)
Definition: interface.cxx:943
virtual ~ScOrcusFormula() override
Definition: interface.cxx:953
virtual void set_result_value(double value) override
Definition: interface.cxx:973
virtual void set_formula(orcus::spreadsheet::formula_grammar_t grammar, std::string_view formula) override
Definition: interface.cxx:961
virtual void set_result_bool(bool value) override
Definition: interface.cxx:990
size_t mnSharedFormulaIndex
formula::FormulaGrammar::Grammar meGrammar
virtual void set_result_empty() override
Definition: interface.cxx:985
virtual void set_shared_formula_index(size_t index) override
Definition: interface.cxx:967
ResultType meResType
virtual void set_result_string(std::string_view value) override
Definition: interface.cxx:979
ScOrcusSheet & mrSheet
virtual void set_position(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col) override
Definition: interface.cxx:955
virtual void commit() override
Definition: interface.cxx:996
virtual void set_character_set(orcus::character_set_t cs) override
Definition: interface.cxx:101
orcus::spreadsheet::formula_grammar_t meOrcusGrammar
ScOrcusGlobalSettings(ScDocumentImport &rDoc)
Definition: interface.cxx:88
formula::FormulaGrammar::Grammar getCalcGrammar() const
ScDocumentImport & getDoc() const
virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const override
Definition: interface.cxx:160
rtl_TextEncoding mnTextEncoding
virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar) override
Definition: interface.cxx:154
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:96
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:1908
std::vector< ScOrcusBorder > & mrBorders
void set_style(orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style) override
Definition: interface.cxx:1839
ScOrcusImportBorderStyle(std::vector< ScOrcusBorder > &rBorders)
Definition: interface.cxx:1834
void set_width(orcus::spreadsheet::border_direction_t dir, double width, orcus::length_unit_t unit) override
Definition: interface.cxx:1921
std::size_t commit() override
Definition: interface.cxx:1927
ScOrcusProtection maCurrentProtection
void set_formula_hidden(bool b) override
Definition: interface.cxx:1960
std::size_t commit() override
Definition: interface.cxx:1965
std::vector< ScOrcusProtection > & mrProtections
void set_hidden(bool b) override
Definition: interface.cxx:1945
ScOrcusImportCellProtection(std::vector< ScOrcusProtection > &rProtections)
Definition: interface.cxx:1935
void set_print_content(bool b) override
Definition: interface.cxx:1955
void set_locked(bool b) override
Definition: interface.cxx:1950
ScOrcusImportFillStyle(std::vector< ScOrcusFill > &rFills)
Definition: interface.cxx:1799
std::size_t commit() override
Definition: interface.cxx:1826
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:1814
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:1820
void set_pattern_type(orcus::spreadsheet::fill_pattern_t fp) override
Definition: interface.cxx:1809
void set_underline_type(orcus::spreadsheet::underline_type_t e) override
Definition: interface.cxx:1695
void set_italic_asian(bool b) override
Definition: interface.cxx:1571
void set_italic_complex(bool b) override
Definition: interface.cxx:1576
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:1719
void set_name_complex(std::string_view s) override
Definition: interface.cxx:1593
void set_name(std::string_view s) override
Definition: interface.cxx:1581
void set_size_complex(double point) override
Definition: interface.cxx:1609
void set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s) override
Definition: interface.cxx:1735
void set_underline_mode(orcus::spreadsheet::underline_mode_t e) override
Definition: interface.cxx:1691
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:1725
void set_size(double point) override
Definition: interface.cxx:1599
void set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s) override
Definition: interface.cxx:1776
void set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t s) override
Definition: interface.cxx:1764
void set_size_asian(double point) override
Definition: interface.cxx:1604
ScOrcusImportFontStyle(ScOrcusFactory &rFactory, std::vector< ScOrcusFont > &rFonts)
Definition: interface.cxx:1540
std::vector< ScOrcusFont > & mrFonts
void set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t s) override
Definition: interface.cxx:1731
void set_name_asian(std::string_view s) override
Definition: interface.cxx:1587
void set_underline_width(orcus::spreadsheet::underline_width_t e) override
Definition: interface.cxx:1652
void set_bold(bool b) override
Definition: interface.cxx:1551
std::size_t commit() override
Definition: interface.cxx:1791
void set_bold_complex(bool b) override
Definition: interface.cxx:1561
void set_italic(bool b) override
Definition: interface.cxx:1566
void set_bold_asian(bool b) override
Definition: interface.cxx:1556
void set_underline(orcus::spreadsheet::underline_t e) override
Definition: interface.cxx:1614
ScOrcusFactory & mrFactory
void set_identifier(std::size_t id) override
Definition: interface.cxx:1983
ScOrcusImportNumberFormat(ScOrcusFactory &rFactory, std::vector< ScOrcusNumberFormat > &rFormats)
Definition: interface.cxx:1973
ScOrcusNumberFormat maCurrentFormat
void set_code(std::string_view s) override
Definition: interface.cxx:1987
std::size_t commit() override
Definition: interface.cxx:1993
std::vector< ScOrcusNumberFormat > & mrNumberFormats
void set_protection(std::size_t index) override
Definition: interface.cxx:2089
void set_apply_alignment(bool b) override
Definition: interface.cxx:2104
std::vector< ScOrcusXf > * mpXfs
void set_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align) override
Definition: interface.cxx:2109
void set_vertical_alignment(orcus::spreadsheet::ver_alignment_t align) override
Definition: interface.cxx:2138
void set_number_format(std::size_t index) override
Definition: interface.cxx:2094
void set_wrap_text(bool b) override
Definition: interface.cxx:2167
void reset(std::vector< ScOrcusXf > &rXfs)
Definition: interface.cxx:2068
void set_style_xf(std::size_t index) override
Definition: interface.cxx:2099
std::size_t commit() override
Definition: interface.cxx:2177
void set_border(std::size_t index) override
Definition: interface.cxx:2084
void set_font(std::size_t index) override
Definition: interface.cxx:2074
void set_fill(std::size_t index) override
Definition: interface.cxx:2079
void set_shrink_to_fit(bool b) override
Definition: interface.cxx:2172
virtual void set_base_position(const orcus::spreadsheet::src_address_t &pos) override
Definition: interface.cxx:232
const ScOrcusGlobalSettings & mrGlobalSettings
virtual void set_named_range(std::string_view name, std::string_view range) override
Definition: interface.cxx:245
ScDocumentImport & mrDoc
virtual void set_named_expression(std::string_view name, std::string_view expression) override
Definition: interface.cxx:239
ScOrcusNamedExpression(ScDocumentImport &rDoc, const ScOrcusGlobalSettings &rGS, SCTAB nTab=-1)
Definition: interface.cxx:219
virtual void commit() override
Definition: interface.cxx:250
const ScOrcusGlobalSettings & mrGlobalSettings
orcus::spreadsheet::src_range_t resolve_range(std::string_view range) override
Definition: interface.cxx:192
orcus::spreadsheet::src_address_t resolve_address(std::string_view address) override
Definition: interface.cxx:168
ScOrcusRefResolver(const ScOrcusGlobalSettings &rGS)
Definition: interface.cxx:165
virtual void append_segment(std::string_view s) override
Definition: interface.cxx:1321
virtual size_t append(std::string_view s) override
Definition: interface.cxx:1282
virtual void set_segment_italic(bool b) override
Definition: interface.cxx:1302
virtual size_t add(std::string_view s) override
Definition: interface.cxx:1288
OStringBuffer maCurSegment
virtual void set_segment_bold(bool b) override
Definition: interface.cxx:1298
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:1314
ScOrcusFactory & mrFactory
virtual void set_segment_font_size(double point) override
Definition: interface.cxx:1310
virtual size_t commit_segments() override
Definition: interface.cxx:1326
ScOrcusSharedStrings(ScOrcusFactory &rFactory)
Definition: interface.cxx:1279
virtual void set_segment_font(size_t font_index) override
Definition: interface.cxx:1294
virtual void set_segment_font_name(std::string_view s) override
Definition: interface.cxx:1306
virtual void set_column_hidden(orcus::spreadsheet::col_t col, orcus::spreadsheet::col_t col_span, bool hidden) override
Definition: interface.cxx:739
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:731
virtual void set_merge_cell_range(const orcus::spreadsheet::range_t &range) override
Definition: interface.cxx:757
virtual void set_row_hidden(orcus::spreadsheet::row_t row, bool hidden) override
Definition: interface.cxx:751
virtual ~ScOrcusSheetProperties() override
Definition: interface.cxx:700
virtual void set_row_height(orcus::spreadsheet::row_t row, double height, orcus::length_unit_t unit) override
Definition: interface.cxx:745
ScOrcusSheetProperties(SCTAB nTab, ScDocumentImport &rDoc)
Definition: interface.cxx:694
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:1152
virtual orcus::spreadsheet::iface::import_conditional_format * get_conditional_format() override
Definition: interface.cxx:1142
virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, bool value) override
Definition: interface.cxx:1183
ScOrcusSheetProperties maProperties
ScOrcusFactory & mrFactory
void cellInserted()
Definition: interface.cxx:1112
ScDocumentImport & mrDoc
virtual void set_row_format(orcus::spreadsheet::row_t row, std::size_t xf_index) override
Definition: interface.cxx:1240
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:1258
ScOrcusArrayFormula maArrayFormula
ScOrcusFactory & getFactory()
Definition: interface.cxx:1274
virtual orcus::spreadsheet::iface::import_sheet_properties * get_sheet_properties() override
Definition: interface.cxx:1137
virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, double value) override
Definition: interface.cxx:1177
virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, std::string_view value) override
Definition: interface.cxx:1164
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:1189
virtual orcus::spreadsheet::iface::import_table * get_table() override
Definition: interface.cxx:1132
virtual orcus::spreadsheet::iface::import_array_formula * get_array_formula() override
Definition: interface.cxx:1158
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:1264
virtual orcus::spreadsheet::iface::import_auto_filter * get_auto_filter() override
Definition: interface.cxx:1127
virtual orcus::spreadsheet::iface::import_named_expression * get_named_expression() override
Definition: interface.cxx:1147
virtual orcus::spreadsheet::range_size_t get_sheet_size() const override
Definition: interface.cxx:1249
ScOrcusNamedExpression maNamedExpressions
ScOrcusFormula maFormula
ScOrcusSheet(ScDocumentImport &rDoc, SCTAB nTab, ScOrcusFactory &rFactory)
Definition: interface.cxx:915
ScDocumentImport & getDoc()
Definition: interface.cxx:1122
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:1230
virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::string_id_t sindex) override
Definition: interface.cxx:1171
ScOrcusStyles & mrStyles
virtual orcus::spreadsheet::iface::import_fill_style * start_fill_style() override
Definition: interface.cxx:2289
std::vector< ScOrcusFont > maFonts
std::vector< ScOrcusBorder > maBorders
std::vector< ScOrcusXf > maCellXfs
ScOrcusImportBorderStyle maBorderStyle
void applyXfToItemSet(SfxItemSet &rSet, const ScOrcusXf &rXf)
Definition: interface.cxx:2210
std::vector< ScOrcusNumberFormat > maNumberFormats
virtual void set_border_count(size_t n) override
Definition: interface.cxx:2348
virtual orcus::spreadsheet::iface::import_number_format * start_number_format() override
Definition: interface.cxx:2307
ScOrcusImportCellProtection maCellProtection
ScOrcusStyles(ScOrcusFactory &rFactory, bool bSkipDefaultStyles=false)
Definition: interface.cxx:2184
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:2360
virtual orcus::spreadsheet::iface::import_cell_style * start_cell_style() override
Definition: interface.cxx:2334
virtual orcus::spreadsheet::iface::import_cell_protection * start_cell_protection() override
Definition: interface.cxx:2301
ScOrcusImportNumberFormat maNumberFormat
ScOrucsImportCellStyle maCellStyle
std::vector< ScOrcusProtection > maProtections
virtual orcus::spreadsheet::iface::import_font_style * start_font_style() override
Definition: interface.cxx:2283
virtual orcus::spreadsheet::iface::import_xf * start_xf(orcus::spreadsheet::xf_category_t cat) override
Definition: interface.cxx:2313
virtual orcus::spreadsheet::iface::import_border_style * start_border_style() override
Definition: interface.cxx:2295
virtual void set_xf_count(orcus::spreadsheet::xf_category_t cat, size_t n) override
Definition: interface.cxx:2356
ScOrcusImportXf maXf
virtual void set_number_format_count(size_t n) override
Definition: interface.cxx:2352
virtual void set_fill_count(size_t n) override
Definition: interface.cxx:2344
virtual void set_font_count(size_t n) override
Definition: interface.cxx:2340
ScOrucsImportCellStyle(ScOrcusFactory &rFactory, ScOrcusStyles &rStyles, const std::vector< ScOrcusXf > &rXfs)
Definition: interface.cxx:2001
void set_display_name(std::string_view s) override
Definition: interface.cxx:2020
void commit() override
Definition: interface.cxx:2042
ScOrcusFactory & mrFactory
ScOrcusCellStyle maCurrentStyle
void set_builtin(std::size_t index) override
Definition: interface.cxx:2031
void set_name(std::string_view s) override
Definition: interface.cxx:2014
ScOrcusStyles & mrStyles
void set_xf(std::size_t index) override
Definition: interface.cxx:2026
const std::vector< ScOrcusXf > & mrXfs
void set_parent_name(std::string_view s) override
Definition: interface.cxx:2036
const char * name
RttiCompleteObjectLocator col
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:1426
std::size_t mnBuiltInId
CellStoreToken(const ScAddress &rPos, Type eType)
Definition: interface.cxx:265
formula::FormulaGrammar::Grammar meGrammar
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1417
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:1333
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:1500
std::optional< OUString > maCode
std::optional< bool > mbLocked
void applyToItemSet(SfxItemSet &rSet) const
Definition: interface.cxx:1488
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