8 #ifndef INCLUDED_ORCUS_SPREADSHEET_DOCUMENT_HPP 9 #define INCLUDED_ORCUS_SPREADSHEET_DOCUMENT_HPP 11 #include "orcus/env.hpp" 12 #include "orcus/interface.hpp" 13 #include "orcus/spreadsheet/types.hpp" 20 class formula_name_resolver;
32 namespace spreadsheet {
34 class import_shared_strings;
36 class pivot_collection;
39 struct document_config;
62 const styles& get_styles()
const;
67 sheet* append_sheet(
const pstring& sheet_name, row_t row_size, col_t col_size);
70 sheet* get_sheet(sheet_t sheet_pos);
71 const sheet* get_sheet(sheet_t sheet_pos)
const;
83 virtual void dump_flat(
const std::string& outdir)
const override;
91 virtual void dump_html(const ::std::string& outdir)
const override;
93 virtual void dump_json(const ::std::string& outdir)
const override;
95 virtual void dump_csv(
const std::string& outdir)
const override;
101 virtual void dump_check(std::ostream& os)
const override;
103 sheet_t get_sheet_index(
const pstring& name)
const;
104 pstring get_sheet_name(sheet_t sheet_pos)
const;
106 size_t sheet_size()
const;
108 void set_origin_date(
int year,
int month,
int day);
111 void set_formula_grammar(formula_grammar_t grammar);
112 formula_grammar_t get_formula_grammar()
const;
114 const ixion::formula_name_resolver* get_formula_name_resolver()
const;
116 ixion::model_context& get_model_context();
117 const ixion::model_context& get_model_context()
const;
139 void insert_dirty_cell(
const ixion::abs_address_t& pos);
142 std::unique_ptr<document_impl> mp_impl;
Definition: shared_strings.hpp:51
Definition: pstring.hpp:24
Definition: types.hpp:403
Definition: pivot.hpp:266
Definition: document.hpp:47
Definition: document.hpp:18
Definition: interface.hpp:43
Definition: config.hpp:17
Definition: styles.hpp:149
Definition: string_pool.hpp:22
Definition: base64.hpp:15
Definition: auto_filter.hpp:98