8 #ifndef ORCUS_SPREADSHEET_IMPORT_INTERFACE_HPP
9 #define ORCUS_SPREADSHEET_IMPORT_INTERFACE_HPP
14 #include "../types.hpp"
21 namespace orcus {
namespace spreadsheet {
namespace iface {
23 class import_pivot_cache_definition;
24 class import_pivot_cache_records;
25 class import_sheet_view;
45 virtual size_t append(std::string_view s) = 0;
56 virtual size_t add(std::string_view s) = 0;
144 virtual void set_font_count(
size_t n) = 0;
145 virtual void set_font_bold(
bool b) = 0;
146 virtual void set_font_italic(
bool b) = 0;
147 virtual void set_font_name(std::string_view s) = 0;
148 virtual void set_font_size(
double point) = 0;
149 virtual void set_font_underline(underline_t e) = 0;
150 virtual void set_font_underline_width(underline_width_t e) = 0;
151 virtual void set_font_underline_mode(underline_mode_t e) = 0;
152 virtual void set_font_underline_type(underline_type_t e) = 0;
153 virtual void set_font_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
154 virtual void set_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
155 virtual void set_strikethrough_style(strikethrough_style_t s) = 0;
156 virtual void set_strikethrough_type(strikethrough_type_t s) = 0;
157 virtual void set_strikethrough_width(strikethrough_width_t s) = 0;
158 virtual void set_strikethrough_text(strikethrough_text_t s) = 0;
159 virtual size_t commit_font() = 0;
188 virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
200 virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
212 virtual void set_border_count(
size_t n) = 0;
214 virtual void set_border_style(border_direction_t dir, border_style_t style) = 0;
215 virtual void set_border_color(
216 border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
217 virtual void set_border_width(border_direction_t dir,
double width, orcus::length_unit_t unit) = 0;
218 virtual size_t commit_border() = 0;
221 virtual void set_cell_hidden(
bool b) = 0;
222 virtual void set_cell_locked(
bool b) = 0;
223 virtual void set_cell_print_content(
bool b) = 0;
224 virtual void set_cell_formula_hidden(
bool b) = 0;
225 virtual size_t commit_cell_protection() = 0;
228 virtual void set_number_format_count(
size_t n) = 0;
229 virtual void set_number_format_identifier(
size_t id) = 0;
230 virtual void set_number_format_code(std::string_view s) = 0;
231 virtual size_t commit_number_format() = 0;
235 virtual void set_cell_xf_count(
size_t n) = 0;
236 virtual void set_cell_style_xf_count(
size_t n) = 0;
237 virtual void set_dxf_count(
size_t n) = 0;
239 virtual void set_xf_font(
size_t index) = 0;
240 virtual void set_xf_fill(
size_t index) = 0;
241 virtual void set_xf_border(
size_t index) = 0;
242 virtual void set_xf_protection(
size_t index) = 0;
243 virtual void set_xf_number_format(
size_t index) = 0;
244 virtual void set_xf_style_xf(
size_t index) = 0;
245 virtual void set_xf_apply_alignment(
bool b) = 0;
246 virtual void set_xf_horizontal_alignment(hor_alignment_t align) = 0;
247 virtual void set_xf_vertical_alignment(ver_alignment_t align) = 0;
249 virtual size_t commit_cell_xf() = 0;
250 virtual size_t commit_cell_style_xf() = 0;
251 virtual size_t commit_dxf() = 0;
255 virtual void set_cell_style_count(
size_t n) = 0;
256 virtual void set_cell_style_name(std::string_view s) = 0;
257 virtual void set_cell_style_xf(
size_t index) = 0;
258 virtual void set_cell_style_builtin(
size_t index) = 0;
259 virtual void set_cell_style_parent_name(std::string_view s) = 0;
260 virtual size_t commit_cell_style() = 0;
273 virtual void set_column_width(col_t col,
double width, orcus::length_unit_t unit) = 0;
275 virtual void set_column_hidden(col_t col,
bool hidden) = 0;
277 virtual void set_row_height(row_t row,
double height, orcus::length_unit_t unit) = 0;
279 virtual void set_row_hidden(row_t row,
bool hidden) = 0;
333 virtual void commit() = 0;
344 virtual void set_type(data_table_type_t type) = 0;
346 virtual void set_range(
const range_t& range) = 0;
348 virtual void set_first_reference(std::string_view ref,
bool deleted) = 0;
350 virtual void set_second_reference(std::string_view ref,
bool deleted) = 0;
352 virtual void commit() = 0;
426 virtual void set_color(color_elem_t alpha, color_elem_t red,
427 color_elem_t green, color_elem_t blue) = 0;
473 color_elem_t green, color_elem_t blue) = 0;
480 color_elem_t green, color_elem_t blue) = 0;
517 virtual void set_type(conditional_format_t type) = 0;
519 virtual void commit_entry() = 0;
521 virtual void set_range(std::string_view range) = 0;
523 virtual void set_range(row_t row_start, col_t col_start,
524 row_t row_end, col_t col_end) = 0;
526 virtual void commit_format() = 0;
540 virtual void set_identifier(
size_t id) = 0;
542 virtual void set_range(std::string_view ref) = 0;
544 virtual void set_totals_row_count(
size_t row_count) = 0;
546 virtual void set_name(std::string_view name) = 0;
548 virtual void set_display_name(std::string_view name) = 0;
550 virtual void set_column_count(
size_t n) = 0;
552 virtual void set_column_identifier(
size_t id) = 0;
553 virtual void set_column_name(std::string_view name) = 0;
554 virtual void set_column_totals_row_label(std::string_view label) = 0;
555 virtual void set_column_totals_row_function(totals_row_function_t func) = 0;
556 virtual void commit_column() = 0;
558 virtual void set_style_name(std::string_view name) = 0;
559 virtual void set_style_show_first_column(
bool b) = 0;
560 virtual void set_style_show_last_column(
bool b) = 0;
561 virtual void set_style_show_row_stripes(
bool b) = 0;
562 virtual void set_style_show_column_stripes(
bool b) = 0;
564 virtual void commit() = 0;
587 virtual void set_formula(formula_grammar_t grammar, std::string_view formula) = 0;
633 virtual void set_range(
const range_t& range) = 0;
635 virtual void set_formula(formula_grammar_t grammar, std::string_view formula) = 0;
637 virtual void set_result_string(row_t row, col_t col, std::string_view value) = 0;
639 virtual void set_result_value(row_t row, col_t col,
double value) = 0;
641 virtual void set_result_bool(row_t row, col_t col,
bool value) = 0;
643 virtual void set_result_empty(row_t row, col_t col) = 0;
645 virtual void commit() = 0;
724 virtual void set_auto(row_t row, col_t col, std::string_view s) = 0;
733 virtual void set_string(row_t row, col_t col, string_id_t sindex) = 0;
742 virtual void set_value(row_t row, col_t col,
double value) = 0;
751 virtual void set_bool(row_t row, col_t col,
bool value) = 0;
767 row_t row, col_t col,
768 int year,
int month,
int day,
int hour,
int minute,
double second) = 0;
778 virtual void set_format(row_t row, col_t col,
size_t xf_index) = 0;
791 row_t row_end, col_t col_end,
size_t xf_index) = 0;
932 pivot_cache_id_t cache_id);
944 pivot_cache_id_t cache_id);
Definition: import_interface.hpp:356
virtual void set_range(const range_t &range)=0
virtual void commit_column()=0
virtual void append_column_match_value(std::string_view value)=0
virtual void set_column(col_t col)=0
Definition: import_interface.hpp:340
Definition: import_interface.hpp:898
virtual import_pivot_cache_records * create_pivot_cache_records(pivot_cache_id_t cache_id)
virtual import_shared_strings * get_shared_strings()
virtual import_styles * get_styles()
virtual import_pivot_cache_definition * create_pivot_cache_definition(pivot_cache_id_t cache_id)
virtual import_sheet * append_sheet(sheet_t sheet_index, std::string_view name)=0
virtual import_sheet * get_sheet(sheet_t sheet_index)=0
virtual void finalize()=0
virtual import_sheet * get_sheet(std::string_view name)=0
Definition: import_interface.hpp:814
virtual void set_character_set(character_set_t charset)=0
virtual formula_grammar_t get_default_formula_grammar() const =0
virtual void set_origin_date(int year, int month, int day)=0
virtual void set_default_formula_grammar(formula_grammar_t grammar)=0
Definition: import_interface.hpp:303
virtual void set_named_range(std::string_view name, std::string_view range)=0
virtual void set_named_expression(std::string_view name, std::string_view expression)=0
virtual void set_base_position(const src_address_t &pos)=0
Definition: import_interface_pivot.hpp:29
Definition: import_interface_pivot.hpp:290
Definition: import_interface.hpp:855
virtual src_range_t resolve_range(std::string_view range)=0
virtual src_address_t resolve_address(std::string_view address)=0
Definition: import_interface.hpp:31
virtual size_t append(std::string_view s)=0
virtual size_t commit_segments()=0
virtual void set_segment_font_size(double point)=0
virtual void set_segment_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual size_t add(std::string_view s)=0
virtual void set_segment_bold(bool b)=0
virtual void append_segment(std::string_view s)=0
virtual void set_segment_italic(bool b)=0
virtual void set_segment_font(size_t font_index)=0
virtual void set_segment_font_name(std::string_view s)=0
Definition: import_interface.hpp:269
virtual void set_merge_cell_range(const range_t &range)=0
Definition: import_interface_view.hpp:20
Definition: import_interface.hpp:652
virtual void set_string(row_t row, col_t col, string_id_t sindex)=0
virtual void set_bool(row_t row, col_t col, bool value)=0
virtual import_formula * get_formula()
virtual range_size_t get_sheet_size() const =0
virtual import_table * get_table()
virtual void set_format(row_t row_start, col_t col_start, row_t row_end, col_t col_end, size_t xf_index)=0
virtual void set_auto(row_t row, col_t col, std::string_view s)=0
virtual import_data_table * get_data_table()
virtual void fill_down_cells(row_t src_row, col_t src_col, row_t range_size)=0
virtual void set_value(row_t row, col_t col, double value)=0
virtual import_conditional_format * get_conditional_format()
virtual import_auto_filter * get_auto_filter()
virtual void set_format(row_t row, col_t col, size_t xf_index)=0
virtual void set_date_time(row_t row, col_t col, int year, int month, int day, int hour, int minute, double second)=0
Definition: import_interface.hpp:138
virtual void set_fill_pattern_type(fill_pattern_t fp)=0
virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue)=0
virtual size_t commit_fill()=0
virtual void set_fill_count(size_t n)=0
Definition: import_interface.hpp:534
Definition: types.hpp:401
Definition: types.hpp:407
Definition: types.hpp:417
Definition: types.hpp:428