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;
29class import_strikethrough;
30class import_underline;
31
54class ORCUS_DLLPUBLIC import_styles
55{
56public:
57 virtual ~import_styles();
58
70
82
94
106
118
130 virtual import_xf* start_xf(xf_category_t cat) = 0;
131
143
151 virtual void set_font_count(size_t n) = 0;
152
160 virtual void set_fill_count(size_t n) = 0;
161
169 virtual void set_border_count(size_t n) = 0;
170
178 virtual void set_number_format_count(size_t n) = 0;
179
190 virtual void set_xf_count(xf_category_t cat, size_t n) = 0;
191
199 virtual void set_cell_style_count(size_t n) = 0;
200};
201
211class ORCUS_DLLPUBLIC import_font_style
212{
213public:
214 virtual ~import_font_style();
215
221 virtual void set_bold(bool b) = 0;
222
228 virtual void set_bold_asian(bool b) = 0;
229
235 virtual void set_bold_complex(bool b) = 0;
236
242 virtual void set_italic(bool b) = 0;
243
249 virtual void set_italic_asian(bool b) = 0;
250
256 virtual void set_italic_complex(bool b) = 0;
257
263 virtual void set_name(std::string_view s) = 0;
264
270 virtual void set_name_asian(std::string_view s) = 0;
271
277 virtual void set_name_complex(std::string_view s) = 0;
278
284 virtual void set_size(double point) = 0;
285
291 virtual void set_size_asian(double point) = 0;
292
298 virtual void set_size_complex(double point) = 0;
299
308 virtual void set_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
309
319
329
336 virtual std::size_t commit() = 0;
337};
338
342class ORCUS_DLLPUBLIC import_fill_style
343{
344public:
345 virtual ~import_fill_style();
346
352 virtual void set_pattern_type(fill_pattern_t fp) = 0;
353
364 virtual void set_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
365
376 virtual void set_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
377
384 virtual size_t commit() = 0;
385};
386
390class ORCUS_DLLPUBLIC import_border_style
391{
392public:
393 virtual ~import_border_style();
394
401 virtual void set_style(border_direction_t dir, border_style_t style) = 0;
402
412 virtual void set_color(
413 border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
414
422 virtual void set_width(border_direction_t dir, double width, orcus::length_unit_t unit) = 0;
423
430 virtual size_t commit() = 0;
431};
432
436class ORCUS_DLLPUBLIC import_cell_protection
437{
438public:
439 virtual ~import_cell_protection();
440
447 virtual void set_hidden(bool b) = 0;
448
454 virtual void set_locked(bool b) = 0;
455
464 virtual void set_print_content(bool b) = 0;
465
473 virtual void set_formula_hidden(bool b) = 0;
474
481 virtual std::size_t commit() = 0;
482};
483
487class ORCUS_DLLPUBLIC import_number_format
488{
489public:
490 virtual ~import_number_format();
491
505 virtual void set_identifier(std::size_t id) = 0;
506
512 virtual void set_code(std::string_view s) = 0;
513
523 virtual size_t commit() = 0;
524};
525
542class ORCUS_DLLPUBLIC import_xf
543{
544public:
545 virtual ~import_xf();
546
553 virtual void set_font(size_t index) = 0;
554
561 virtual void set_fill(size_t index) = 0;
562
569 virtual void set_border(size_t index) = 0;
570
577 virtual void set_protection(size_t index) = 0;
578
585 virtual void set_number_format(size_t index) = 0;
586
597 virtual void set_style_xf(size_t index) = 0;
598
606 virtual void set_apply_alignment(bool b) = 0;
607
613 virtual void set_horizontal_alignment(hor_alignment_t align) = 0;
614
620 virtual void set_vertical_alignment(ver_alignment_t align) = 0;
621
629 virtual void set_wrap_text(bool b) = 0;
630
637 virtual void set_shrink_to_fit(bool b) = 0;
638
645 virtual size_t commit() = 0;
646};
647
656class ORCUS_DLLPUBLIC import_cell_style
657{
658public:
659 virtual ~import_cell_style();
660
666 virtual void set_name(std::string_view s) = 0;
667
679 virtual void set_display_name(std::string_view s) = 0;
680
687 virtual void set_xf(size_t index) = 0;
688
699 virtual void set_builtin(size_t index) = 0;
700
708 virtual void set_parent_name(std::string_view s) = 0;
709
715 virtual void commit() = 0;
716};
717
718}}}
719
720/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition import_interface_styles.hpp:391
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:437
Definition import_interface_styles.hpp:657
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:343
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:212
virtual void set_size_complex(double point)=0
virtual void set_size_asian(double point)=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 import_strikethrough * start_strikethrough()
virtual void set_name_asian(std::string_view s)=0
virtual import_underline * start_underline()
virtual void set_size(double point)=0
Definition import_interface_styles.hpp:488
virtual void set_code(std::string_view s)=0
virtual void set_identifier(std::size_t id)=0
Definition import_interface_strikethrough.hpp:19
Definition import_interface_styles.hpp:55
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_underline.hpp:19
Definition import_interface_styles.hpp:543
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