Orcus
Loading...
Searching...
No Matches
import_interface_styles.hpp
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 */
7
8#pragma once
9
10#include <cstdlib>
11
12#include "types.hpp"
13#include "../types.hpp"
14#include "../env.hpp"
15
16// NB: This header must not depend on ixion, as it needs to be usable for
17// those clients that provide their own formula engine. Other headers in
18// the orcus::spreadsheet namespace may depend on ixion.
19
20namespace orcus { namespace spreadsheet { namespace iface {
21
22class import_font_style;
23class import_fill_style;
24class import_border_style;
25class import_cell_protection;
26class import_number_format;
27class import_xf;
28class import_cell_style;
29
52class ORCUS_DLLPUBLIC import_styles
53{
54public:
55 virtual ~import_styles();
56
68
80
92
104
116
128 virtual import_xf* start_xf(xf_category_t cat) = 0;
129
141
149 virtual void set_font_count(size_t n) = 0;
150
158 virtual void set_fill_count(size_t n) = 0;
159
167 virtual void set_border_count(size_t n) = 0;
168
176 virtual void set_number_format_count(size_t n) = 0;
177
188 virtual void set_xf_count(xf_category_t cat, size_t n) = 0;
189
197 virtual void set_cell_style_count(size_t n) = 0;
198};
199
209class ORCUS_DLLPUBLIC import_font_style
210{
211public:
212 virtual ~import_font_style();
213
219 virtual void set_bold(bool b) = 0;
220
226 virtual void set_bold_asian(bool b) = 0;
227
233 virtual void set_bold_complex(bool b) = 0;
234
240 virtual void set_italic(bool b) = 0;
241
247 virtual void set_italic_asian(bool b) = 0;
248
254 virtual void set_italic_complex(bool b) = 0;
255
261 virtual void set_name(std::string_view s) = 0;
262
268 virtual void set_name_asian(std::string_view s) = 0;
269
275 virtual void set_name_complex(std::string_view s) = 0;
276
282 virtual void set_size(double point) = 0;
283
289 virtual void set_size_asian(double point) = 0;
290
296 virtual void set_size_complex(double point) = 0;
297
303 virtual void set_underline(underline_t e) = 0;
304
310 virtual void set_underline_width(underline_width_t e) = 0;
311
319 virtual void set_underline_mode(underline_mode_t e) = 0;
320
330 virtual void set_underline_type(underline_type_t e) = 0;
331
342 virtual void set_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
343
352 virtual void set_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
353
359 virtual void set_strikethrough_style(strikethrough_style_t s) = 0;
360
368 virtual void set_strikethrough_type(strikethrough_type_t s) = 0;
369
375 virtual void set_strikethrough_width(strikethrough_width_t s) = 0;
376
382 virtual void set_strikethrough_text(strikethrough_text_t s) = 0;
383
390 virtual std::size_t commit() = 0;
391};
392
396class ORCUS_DLLPUBLIC import_fill_style
397{
398public:
399 virtual ~import_fill_style();
400
406 virtual void set_pattern_type(fill_pattern_t fp) = 0;
407
418 virtual void set_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
419
430 virtual void set_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
431
438 virtual size_t commit() = 0;
439};
440
444class ORCUS_DLLPUBLIC import_border_style
445{
446public:
447 virtual ~import_border_style();
448
455 virtual void set_style(border_direction_t dir, border_style_t style) = 0;
456
466 virtual void set_color(
467 border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
468
476 virtual void set_width(border_direction_t dir, double width, orcus::length_unit_t unit) = 0;
477
484 virtual size_t commit() = 0;
485};
486
490class ORCUS_DLLPUBLIC import_cell_protection
491{
492public:
493 virtual ~import_cell_protection();
494
501 virtual void set_hidden(bool b) = 0;
502
508 virtual void set_locked(bool b) = 0;
509
518 virtual void set_print_content(bool b) = 0;
519
527 virtual void set_formula_hidden(bool b) = 0;
528
535 virtual std::size_t commit() = 0;
536};
537
541class ORCUS_DLLPUBLIC import_number_format
542{
543public:
544 virtual ~import_number_format();
545
559 virtual void set_identifier(std::size_t id) = 0;
560
566 virtual void set_code(std::string_view s) = 0;
567
577 virtual size_t commit() = 0;
578};
579
596class ORCUS_DLLPUBLIC import_xf
597{
598public:
599 virtual ~import_xf();
600
607 virtual void set_font(size_t index) = 0;
608
615 virtual void set_fill(size_t index) = 0;
616
623 virtual void set_border(size_t index) = 0;
624
631 virtual void set_protection(size_t index) = 0;
632
639 virtual void set_number_format(size_t index) = 0;
640
651 virtual void set_style_xf(size_t index) = 0;
652
660 virtual void set_apply_alignment(bool b) = 0;
661
667 virtual void set_horizontal_alignment(hor_alignment_t align) = 0;
668
674 virtual void set_vertical_alignment(ver_alignment_t align) = 0;
675
683 virtual void set_wrap_text(bool b) = 0;
684
691 virtual void set_shrink_to_fit(bool b) = 0;
692
699 virtual size_t commit() = 0;
700};
701
710class ORCUS_DLLPUBLIC import_cell_style
711{
712public:
713 virtual ~import_cell_style();
714
720 virtual void set_name(std::string_view s) = 0;
721
733 virtual void set_display_name(std::string_view s) = 0;
734
741 virtual void set_xf(size_t index) = 0;
742
753 virtual void set_builtin(size_t index) = 0;
754
762 virtual void set_parent_name(std::string_view s) = 0;
763
769 virtual void commit() = 0;
770};
771
772}}}
773
774/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition import_interface_styles.hpp:445
virtual void set_style(border_direction_t dir, border_style_t style)=0
virtual void set_color(border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual void set_width(border_direction_t dir, double width, orcus::length_unit_t unit)=0
Definition import_interface_styles.hpp:491
Definition import_interface_styles.hpp:711
virtual void set_name(std::string_view s)=0
virtual void set_parent_name(std::string_view s)=0
virtual void set_builtin(size_t index)=0
virtual void set_xf(size_t index)=0
virtual void set_display_name(std::string_view s)=0
Definition import_interface_styles.hpp:397
virtual void set_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual void set_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual void set_pattern_type(fill_pattern_t fp)=0
Definition import_interface_styles.hpp:210
virtual void set_underline(underline_t e)=0
virtual void set_underline_type(underline_type_t e)=0
virtual void set_size_complex(double point)=0
virtual void set_size_asian(double point)=0
virtual void set_strikethrough_text(strikethrough_text_t s)=0
virtual void set_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual void set_name(std::string_view s)=0
virtual void set_name_complex(std::string_view s)=0
virtual void set_underline_mode(underline_mode_t e)=0
virtual void set_name_asian(std::string_view s)=0
virtual void set_strikethrough_style(strikethrough_style_t s)=0
virtual void set_underline_width(underline_width_t e)=0
virtual void set_strikethrough_width(strikethrough_width_t s)=0
virtual void set_strikethrough_type(strikethrough_type_t s)=0
virtual void set_size(double point)=0
virtual void set_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
Definition import_interface_styles.hpp:542
virtual void set_code(std::string_view s)=0
virtual void set_identifier(std::size_t id)=0
Definition import_interface_styles.hpp:53
virtual import_font_style * start_font_style()=0
virtual void set_border_count(size_t n)=0
virtual void set_xf_count(xf_category_t cat, size_t n)=0
virtual import_xf * start_xf(xf_category_t cat)=0
virtual import_number_format * start_number_format()=0
virtual import_fill_style * start_fill_style()=0
virtual void set_number_format_count(size_t n)=0
virtual void set_font_count(size_t n)=0
virtual import_cell_style * start_cell_style()=0
virtual void set_fill_count(size_t n)=0
virtual import_cell_protection * start_cell_protection()=0
virtual import_border_style * start_border_style()=0
virtual void set_cell_style_count(size_t n)=0
Definition import_interface_styles.hpp:597
virtual void set_shrink_to_fit(bool b)=0
virtual void set_border(size_t index)=0
virtual void set_style_xf(size_t index)=0
virtual void set_apply_alignment(bool b)=0
virtual void set_vertical_alignment(ver_alignment_t align)=0
virtual void set_fill(size_t index)=0
virtual void set_horizontal_alignment(hor_alignment_t align)=0
virtual void set_wrap_text(bool b)=0
virtual void set_font(size_t index)=0
virtual void set_protection(size_t index)=0
virtual void set_number_format(size_t index)=0