Orcus
Loading...
Searching...
No Matches
factory.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#ifndef INCLUDED_ORCUS_SPREADSHEET_IMPORT_FACTORY_HPP
9#define INCLUDED_ORCUS_SPREADSHEET_IMPORT_FACTORY_HPP
10
11#include "orcus/spreadsheet/import_interface.hpp"
12#include "orcus/spreadsheet/export_interface.hpp"
13#include "orcus/env.hpp"
14
15#include <memory>
16
17namespace orcus {
18
19class string_pool;
20
21namespace spreadsheet {
22
23class document;
24class view;
25class styles;
26
27class ORCUS_SPM_DLLPUBLIC import_factory : public iface::import_factory
28{
29 struct impl;
30 std::unique_ptr<impl> mp_impl;
31public:
34 virtual ~import_factory();
35
36 virtual iface::import_global_settings* get_global_settings() override;
38 virtual iface::import_styles* get_styles() override;
39 virtual iface::import_named_expression* get_named_expression() override;
40 virtual iface::import_reference_resolver* get_reference_resolver(formula_ref_context_t cxt) override;
42 orcus::spreadsheet::pivot_cache_id_t cache_id) override;
44 orcus::spreadsheet::pivot_cache_id_t cache_id) override;
45 virtual iface::import_sheet* append_sheet(sheet_t sheet_index, std::string_view name) override;
46 virtual iface::import_sheet* get_sheet(std::string_view name) override;
47 virtual iface::import_sheet* get_sheet(sheet_t sheet_index) override;
48 virtual void finalize() override;
49
50 void set_default_row_size(row_t row_size);
51 void set_default_column_size(col_t col_size);
52
53 void set_character_set(character_set_t charset);
54 character_set_t get_character_set() const;
55
64
65 void set_formula_error_policy(formula_error_policy_t policy);
66};
67
68class ORCUS_SPM_DLLPUBLIC import_styles : public iface::import_styles
69{
70 struct impl;
71 std::unique_ptr<impl> mp_impl;
72public:
74 virtual ~import_styles() override;
75
76 virtual void set_font_count(size_t n) override;
77 virtual void set_font_bold(bool b) override;
78 virtual void set_font_italic(bool b) override;
79 virtual void set_font_name(std::string_view s) override;
80 virtual void set_font_size(double point) override;
81 virtual void set_font_underline(underline_t e) override;
82 virtual void set_font_underline_width(underline_width_t e) override;
83 virtual void set_font_underline_mode(underline_mode_t e) override;
84 virtual void set_font_underline_type(underline_type_t e) override;
85 virtual void set_font_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override;
86 virtual void set_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override;
87 virtual void set_strikethrough_style(strikethrough_style_t s) override;
88 virtual void set_strikethrough_type(strikethrough_type_t s) override;
89 virtual void set_strikethrough_width(strikethrough_width_t s) override;
90 virtual void set_strikethrough_text(strikethrough_text_t s) override;
91 virtual size_t commit_font() override;
92
93 virtual void set_fill_count(size_t n) override;
94 virtual void set_fill_pattern_type(fill_pattern_t fp) override;
95 virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override;
96 virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override;
97 virtual size_t commit_fill() override;
98
99 virtual void set_border_count(size_t n) override;
100 virtual void set_border_style(border_direction_t dir, border_style_t style) override;
101 virtual void set_border_color(
102 border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override;
103 virtual void set_border_width(border_direction_t dir, double width, orcus::length_unit_t unit) override;
104 virtual size_t commit_border() override;
105
106 virtual void set_cell_hidden(bool b) override;
107 virtual void set_cell_locked(bool b) override;
108 virtual void set_cell_print_content(bool b) override;
109 virtual void set_cell_formula_hidden(bool b) override;
110 virtual size_t commit_cell_protection() override;
111
112 virtual void set_number_format_count(size_t n) override;
113 virtual void set_number_format_identifier(size_t id) override;
114 virtual void set_number_format_code(std::string_view s) override;
115 virtual size_t commit_number_format() override;
116
117 virtual void set_cell_xf_count(size_t n) override;
118 virtual void set_cell_style_xf_count(size_t n) override;
119 virtual void set_dxf_count(size_t n) override;
120
121 virtual void set_xf_font(size_t index) override;
122 virtual void set_xf_fill(size_t index) override;
123 virtual void set_xf_border(size_t index) override;
124 virtual void set_xf_protection(size_t index) override;
125 virtual void set_xf_number_format(size_t index) override;
126 virtual void set_xf_style_xf(size_t index) override;
127 virtual void set_xf_apply_alignment(bool b) override;
128 virtual void set_xf_horizontal_alignment(hor_alignment_t align) override;
129 virtual void set_xf_vertical_alignment(ver_alignment_t align) override;
130
131 virtual size_t commit_cell_xf() override;
132 virtual size_t commit_cell_style_xf() override;
133 virtual size_t commit_dxf() override;
134
135 virtual void set_cell_style_count(size_t n) override;
136 virtual void set_cell_style_name(std::string_view s) override;
137 virtual void set_cell_style_xf(size_t index) override;
138 virtual void set_cell_style_builtin(size_t index) override;
139 virtual void set_cell_style_parent_name(std::string_view s) override;
140 virtual size_t commit_cell_style() override;
141};
142
143class ORCUS_SPM_DLLPUBLIC export_factory : public iface::export_factory
144{
145 struct impl;
146 std::unique_ptr<impl> mp_impl;
147public:
148 export_factory(const document& doc);
149 virtual ~export_factory();
150
151 virtual const iface::export_sheet* get_sheet(std::string_view sheet_name) const override;
152};
153
154}}
155
156#endif
157/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition document.hpp:47
Definition factory.hpp:144
Definition export_interface.hpp:27
Definition export_interface.hpp:19
Definition import_interface.hpp:898
Definition import_interface.hpp:814
Definition import_interface.hpp:303
Definition import_interface_pivot.hpp:29
Definition import_interface_pivot.hpp:290
Definition import_interface.hpp:855
Definition import_interface.hpp:31
Definition import_interface.hpp:652
Definition import_interface.hpp:138
Definition factory.hpp:28
virtual iface::import_sheet * get_sheet(std::string_view name) override
virtual void finalize() override
virtual iface::import_styles * get_styles() override
virtual iface::import_sheet * get_sheet(sheet_t sheet_index) override
virtual iface::import_pivot_cache_definition * create_pivot_cache_definition(orcus::spreadsheet::pivot_cache_id_t cache_id) override
virtual iface::import_shared_strings * get_shared_strings() override
virtual iface::import_pivot_cache_records * create_pivot_cache_records(orcus::spreadsheet::pivot_cache_id_t cache_id) override
virtual iface::import_sheet * append_sheet(sheet_t sheet_index, std::string_view name) override
Definition factory.hpp:69
virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override
virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) override
virtual void set_fill_pattern_type(fill_pattern_t fp) override
virtual size_t commit_fill() override
virtual void set_fill_count(size_t n) override
Definition styles.hpp:280
Definition view.hpp:23
Definition string_pool.hpp:23