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/import_interface_styles.hpp>
13#include <orcus/spreadsheet/export_interface.hpp>
14#include <orcus/env.hpp>
15
16#include <memory>
17
18namespace orcus {
19
20class string_pool;
21
22namespace spreadsheet {
23
24class document;
25class view;
26class styles;
27
32class ORCUS_SPM_DLLPUBLIC import_factory : public iface::import_factory
33{
34 struct impl;
35 std::unique_ptr<impl> mp_impl;
36public:
38 import_factory(document& doc, view& view_store);
39 virtual ~import_factory();
40
43 virtual iface::import_styles* get_styles() override;
45 virtual iface::import_reference_resolver* get_reference_resolver(formula_ref_context_t cxt) override;
47 orcus::spreadsheet::pivot_cache_id_t cache_id) override;
49 orcus::spreadsheet::pivot_cache_id_t cache_id) override;
50 virtual iface::import_sheet* append_sheet(sheet_t sheet_index, std::string_view name) override;
51 virtual iface::import_sheet* get_sheet(std::string_view name) override;
52 virtual iface::import_sheet* get_sheet(sheet_t sheet_index) override;
53 virtual void finalize() override;
54
55 void set_default_row_size(row_t row_size);
56 void set_default_column_size(col_t col_size);
57
58 void set_character_set(character_set_t charset);
59 character_set_t get_character_set() const;
60
69
70 void set_formula_error_policy(formula_error_policy_t policy);
71};
72
77class ORCUS_SPM_DLLPUBLIC import_styles : public iface::import_styles
78{
79 struct impl;
80 std::unique_ptr<impl> mp_impl;
81public:
82 import_styles(styles& styles_store, string_pool& sp);
83 virtual ~import_styles() override;
84
90 virtual iface::import_xf* start_xf(xf_category_t cat) override;
92
93 virtual void set_font_count(size_t n) override;
94 virtual void set_fill_count(size_t n) override;
95 virtual void set_border_count(size_t n) override;
96 virtual void set_number_format_count(size_t n) override;
97 virtual void set_xf_count(xf_category_t cat, size_t n) override;
98 virtual void set_cell_style_count(size_t n) override;
99};
100
107class ORCUS_SPM_DLLPUBLIC export_factory : public iface::export_factory
108{
109 struct impl;
110 std::unique_ptr<impl> mp_impl;
111public:
112 export_factory(const document& doc);
113 virtual ~export_factory();
114
115 virtual const iface::export_sheet* get_sheet(std::string_view sheet_name) const override;
116};
117
118}}
119
120#endif
121/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition document.hpp:54
Definition factory.hpp:108
virtual const iface::export_sheet * get_sheet(std::string_view sheet_name) const override
Definition export_interface.hpp:40
Definition export_interface.hpp:22
Definition import_interface_styles.hpp:445
Definition import_interface_styles.hpp:491
Definition import_interface_styles.hpp:711
Definition import_interface.hpp:1193
Definition import_interface_styles.hpp:397
Definition import_interface_styles.hpp:210
Definition import_interface.hpp:1095
Definition import_interface.hpp:266
Definition import_interface_styles.hpp:542
Definition import_interface_pivot.hpp:29
Definition import_interface_pivot.hpp:293
Definition import_interface.hpp:1151
Definition import_interface.hpp:72
Definition import_interface.hpp:873
Definition import_interface_styles.hpp:53
Definition import_interface_styles.hpp:597
Definition factory.hpp:33
virtual iface::import_sheet * get_sheet(std::string_view name) override
virtual iface::import_reference_resolver * get_reference_resolver(formula_ref_context_t cxt) override
virtual iface::import_global_settings * get_global_settings() 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_named_expression * get_named_expression() 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:78
virtual iface::import_font_style * start_font_style() override
virtual void set_cell_style_count(size_t n) override
virtual iface::import_xf * start_xf(xf_category_t cat) override
virtual iface::import_cell_style * start_cell_style() override
virtual void set_number_format_count(size_t n) override
virtual iface::import_fill_style * start_fill_style() override
virtual iface::import_number_format * start_number_format() override
virtual void set_font_count(size_t n) override
virtual iface::import_border_style * start_border_style() override
virtual void set_xf_count(xf_category_t cat, size_t n) override
virtual void set_fill_count(size_t n) override
virtual void set_border_count(size_t n) override
virtual iface::import_cell_protection * start_cell_protection() override
Definition styles.hpp:189
Definition view.hpp:23
Definition string_pool.hpp:26