8 #ifndef ORCUS_SPREADSHEET_IMPORT_INTERFACE_HPP 9 #define ORCUS_SPREADSHEET_IMPORT_INTERFACE_HPP 13 #include "orcus/spreadsheet/types.hpp" 14 #include "orcus/types.hpp" 15 #include "orcus/env.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;
47 virtual size_t append(
const char* s,
size_t n) = 0;
60 virtual size_t add(
const char* s,
size_t n) = 0;
62 virtual void set_segment_font(
size_t font_index) = 0;
63 virtual void set_segment_bold(
bool b) = 0;
64 virtual void set_segment_italic(
bool b) = 0;
65 virtual void set_segment_font_name(
const char* s,
size_t n) = 0;
66 virtual void set_segment_font_size(
double point) = 0;
67 virtual void set_segment_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
68 virtual void append_segment(
const char* s,
size_t n) = 0;
69 virtual size_t commit_segments() = 0;
91 virtual void set_font_count(
size_t n) = 0;
92 virtual void set_font_bold(
bool b) = 0;
93 virtual void set_font_italic(
bool b) = 0;
94 virtual void set_font_name(
const char* s,
size_t n) = 0;
95 virtual void set_font_size(
double point) = 0;
96 virtual void set_font_underline(orcus::spreadsheet::underline_t e) = 0;
97 virtual void set_font_underline_width(underline_width_t e) = 0;
98 virtual void set_font_underline_mode(underline_mode_t e) = 0;
99 virtual void set_font_underline_type(underline_type_t e) = 0;
100 virtual void set_font_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
101 virtual void set_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
102 virtual void set_strikethrough_style(orcus::spreadsheet::strikethrough_style_t s) = 0;
103 virtual void set_strikethrough_type(orcus::spreadsheet::strikethrough_type_t s) = 0;
104 virtual void set_strikethrough_width(orcus::spreadsheet::strikethrough_width_t s) = 0;
105 virtual void set_strikethrough_text(orcus::spreadsheet::strikethrough_text_t s) = 0;
106 virtual size_t commit_font() = 0;
110 virtual void set_fill_count(
size_t n) = 0;
111 virtual void set_fill_pattern_type(
const char* s,
size_t n) = 0;
112 virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
113 virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
114 virtual size_t commit_fill() = 0;
118 virtual void set_border_count(
size_t n) = 0;
120 virtual void set_border_style(orcus::spreadsheet::border_direction_t dir, border_style_t style) = 0;
121 virtual void set_border_color(
122 orcus::spreadsheet::border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
123 virtual void set_border_width(orcus::spreadsheet::border_direction_t dir,
double width, orcus::length_unit_t unit) = 0;
124 virtual size_t commit_border() = 0;
127 virtual void set_cell_hidden(
bool b) = 0;
128 virtual void set_cell_locked(
bool b) = 0;
129 virtual void set_cell_print_content(
bool b) = 0;
130 virtual void set_cell_formula_hidden(
bool b) = 0;
131 virtual size_t commit_cell_protection() = 0;
134 virtual void set_number_format_count(
size_t n) = 0;
135 virtual void set_number_format_identifier(
size_t id) = 0;
136 virtual void set_number_format_code(
const char* s,
size_t n) = 0;
137 virtual size_t commit_number_format() = 0;
141 virtual void set_cell_xf_count(
size_t n) = 0;
142 virtual void set_cell_style_xf_count(
size_t n) = 0;
143 virtual void set_dxf_count(
size_t n) = 0;
145 virtual void set_xf_font(
size_t index) = 0;
146 virtual void set_xf_fill(
size_t index) = 0;
147 virtual void set_xf_border(
size_t index) = 0;
148 virtual void set_xf_protection(
size_t index) = 0;
149 virtual void set_xf_number_format(
size_t index) = 0;
150 virtual void set_xf_style_xf(
size_t index) = 0;
151 virtual void set_xf_apply_alignment(
bool b) = 0;
152 virtual void set_xf_horizontal_alignment(orcus::spreadsheet::hor_alignment_t align) = 0;
153 virtual void set_xf_vertical_alignment(orcus::spreadsheet::ver_alignment_t align) = 0;
155 virtual size_t commit_cell_xf() = 0;
156 virtual size_t commit_cell_style_xf() = 0;
157 virtual size_t commit_dxf() = 0;
161 virtual void set_cell_style_count(
size_t n) = 0;
162 virtual void set_cell_style_name(
const char* s,
size_t n) = 0;
163 virtual void set_cell_style_xf(
size_t index) = 0;
164 virtual void set_cell_style_builtin(
size_t index) = 0;
165 virtual void set_cell_style_parent_name(
const char* s,
size_t n) = 0;
166 virtual size_t commit_cell_style() = 0;
179 virtual void set_column_width(orcus::spreadsheet::col_t col,
double width, orcus::length_unit_t unit) = 0;
181 virtual void set_column_hidden(orcus::spreadsheet::col_t col,
bool hidden) = 0;
183 virtual void set_row_height(orcus::spreadsheet::row_t row,
double height, orcus::length_unit_t unit) = 0;
185 virtual void set_row_hidden(orcus::spreadsheet::row_t row,
bool hidden) = 0;
216 virtual void define_name(
const char* p_name,
size_t n_name,
const char* p_exp,
size_t n_exp) = 0;
227 virtual void set_type(orcus::spreadsheet::data_table_type_t type) = 0;
229 virtual void set_range(
const char* p_range,
size_t n_range) = 0;
231 virtual void set_first_reference(
const char* p_ref,
size_t n_ref,
bool deleted) = 0;
233 virtual void set_second_reference(
const char* p_ref,
size_t n_ref,
bool deleted) = 0;
235 virtual void commit() = 0;
250 virtual void set_range(
const char* p_ref,
size_t n_ref) = 0;
259 virtual void set_column(orcus::spreadsheet::col_t col) = 0;
277 virtual void commit() = 0;
311 virtual void set_color(color_elem_t alpha, color_elem_t red,
312 color_elem_t green, color_elem_t blue) = 0;
317 virtual void set_formula(
const char* p,
size_t n) = 0;
328 virtual void set_date(orcus::spreadsheet::condition_date_t date) = 0;
358 color_elem_t green, color_elem_t blue) = 0;
365 color_elem_t green, color_elem_t blue) = 0;
400 virtual void set_operator(orcus::spreadsheet::condition_operator_t condition_type) = 0;
402 virtual void set_type(orcus::spreadsheet::conditional_format_t type) = 0;
404 virtual void commit_entry() = 0;
406 virtual void set_range(
const char* p,
size_t n) = 0;
408 virtual void set_range(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
409 orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end) = 0;
411 virtual void commit_format() = 0;
425 virtual void set_identifier(
size_t id) = 0;
427 virtual void set_range(
const char* p_ref,
size_t n_ref) = 0;
429 virtual void set_totals_row_count(
size_t row_count) = 0;
431 virtual void set_name(
const char* p,
size_t n) = 0;
433 virtual void set_display_name(
const char* p,
size_t n) = 0;
435 virtual void set_column_count(
size_t n) = 0;
437 virtual void set_column_identifier(
size_t id) = 0;
438 virtual void set_column_name(
const char* p,
size_t n) = 0;
439 virtual void set_column_totals_row_label(
const char* p,
size_t n) = 0;
440 virtual void set_column_totals_row_function(orcus::spreadsheet::totals_row_function_t func) = 0;
441 virtual void commit_column() = 0;
443 virtual void set_style_name(
const char* p,
size_t n) = 0;
444 virtual void set_style_show_first_column(
bool b) = 0;
445 virtual void set_style_show_last_column(
bool b) = 0;
446 virtual void set_style_show_row_stripes(
bool b) = 0;
447 virtual void set_style_show_column_stripes(
bool b) = 0;
449 virtual void commit() = 0;
519 virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
const char* p,
size_t n) = 0;
528 virtual void set_string(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
size_t sindex) = 0;
537 virtual void set_value(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
double value) = 0;
546 virtual void set_bool(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
bool value) = 0;
554 virtual void set_date_time(
555 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
556 int year,
int month,
int day,
int hour,
int minute,
double second) = 0;
566 virtual void set_format(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
size_t xf_index) = 0;
578 virtual void set_format(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
579 orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end,
size_t xf_index) = 0;
591 virtual void set_formula(
592 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
593 const char* p,
size_t n) = 0;
610 virtual void set_shared_formula(
611 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
612 size_t sindex,
const char* p_formula,
size_t n_formula,
const char* p_range,
size_t n_range) = 0;
627 virtual void set_shared_formula(
628 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
629 size_t sindex,
const char* p_formula,
size_t n_formula) = 0;
643 virtual void set_shared_formula(
644 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
size_t sindex) = 0;
646 virtual void set_formula_result(
647 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
double value) = 0;
649 virtual void set_formula_result(
650 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col,
const char* p,
size_t n) = 0;
664 virtual void set_array_formula(
665 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
666 const char* p,
size_t n, orcus::spreadsheet::row_t array_rows, orcus::spreadsheet::col_t array_cols) = 0;
680 virtual void set_array_formula(
681 orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, orcus::spreadsheet::formula_grammar_t grammar,
682 const char* p,
size_t n,
const char* p_range,
size_t n_range) = 0;
745 virtual address_t resolve_address(
const char* p,
size_t n) = 0;
760 virtual range_t resolve_range(
const char* p,
size_t n) = 0;
808 orcus::spreadsheet::pivot_cache_id_t cache_id);
820 orcus::spreadsheet::pivot_cache_id_t cache_id);
836 orcus::spreadsheet::sheet_t sheet_index,
const char* sheet_name,
size_t sheet_name_length) = 0;
843 virtual import_sheet* get_sheet(
const char* sheet_name,
size_t sheet_name_length) = 0;
853 virtual import_sheet* get_sheet(orcus::spreadsheet::sheet_t sheet_index) = 0;
859 virtual void finalize() = 0;
virtual size_t add(const char *s, size_t n)=0
Definition: import_interface_pivot.hpp:290
Definition: import_interface.hpp:455
Definition: import_interface.hpp:84
virtual orcus::spreadsheet::formula_grammar_t get_default_formula_grammar() const =0
Definition: import_interface.hpp:199
Definition: import_interface.hpp:238
virtual void set_merge_cell_range(const range_t &range)=0
virtual void set_column(orcus::spreadsheet::col_t col)=0
Definition: import_interface.hpp:693
virtual size_t append(const char *s, size_t n)=0
virtual void set_default_formula_grammar(orcus::spreadsheet::formula_grammar_t grammar)=0
Definition: types.hpp:334
Definition: import_interface.hpp:174
Definition: import_interface_pivot.hpp:28
Definition: import_interface.hpp:773
virtual void commit_column()=0
Definition: types.hpp:328
virtual void set_range(const char *p_ref, size_t n_ref)=0
Definition: types.hpp:322
Definition: import_interface.hpp:222
Definition: import_interface.hpp:30
Definition: import_interface_view.hpp:39
Definition: import_interface.hpp:418
Definition: import_interface.hpp:727
virtual void append_column_match_value(const char *p, size_t n)=0
Definition: base64.hpp:15
virtual void set_origin_date(int year, int month, int day)=0