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"
21namespace orcus {
namespace spreadsheet {
namespace iface {
23class import_pivot_cache_definition;
24class import_pivot_cache_records;
25class 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;
152 virtual void set_font_count(
size_t n) = 0;
153 virtual void set_font_bold(
bool b) = 0;
154 virtual void set_font_italic(
bool b) = 0;
155 virtual void set_font_name(
const char* s,
size_t n) = 0;
156 virtual void set_font_size(
double point) = 0;
157 virtual void set_font_underline(underline_t e) = 0;
158 virtual void set_font_underline_width(underline_width_t e) = 0;
159 virtual void set_font_underline_mode(underline_mode_t e) = 0;
160 virtual void set_font_underline_type(underline_type_t e) = 0;
161 virtual void set_font_underline_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
162 virtual void set_font_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
163 virtual void set_strikethrough_style(strikethrough_style_t s) = 0;
164 virtual void set_strikethrough_type(strikethrough_type_t s) = 0;
165 virtual void set_strikethrough_width(strikethrough_width_t s) = 0;
166 virtual void set_strikethrough_text(strikethrough_text_t s) = 0;
167 virtual size_t commit_font() = 0;
196 virtual void set_fill_fg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
208 virtual void set_fill_bg_color(color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
220 virtual void set_border_count(
size_t n) = 0;
222 virtual void set_border_style(border_direction_t dir, border_style_t style) = 0;
223 virtual void set_border_color(
224 border_direction_t dir, color_elem_t alpha, color_elem_t red, color_elem_t green, color_elem_t blue) = 0;
225 virtual void set_border_width(border_direction_t dir,
double width, orcus::length_unit_t unit) = 0;
226 virtual size_t commit_border() = 0;
229 virtual void set_cell_hidden(
bool b) = 0;
230 virtual void set_cell_locked(
bool b) = 0;
231 virtual void set_cell_print_content(
bool b) = 0;
232 virtual void set_cell_formula_hidden(
bool b) = 0;
233 virtual size_t commit_cell_protection() = 0;
236 virtual void set_number_format_count(
size_t n) = 0;
237 virtual void set_number_format_identifier(
size_t id) = 0;
238 virtual void set_number_format_code(
const char* s,
size_t n) = 0;
239 virtual size_t commit_number_format() = 0;
243 virtual void set_cell_xf_count(
size_t n) = 0;
244 virtual void set_cell_style_xf_count(
size_t n) = 0;
245 virtual void set_dxf_count(
size_t n) = 0;
247 virtual void set_xf_font(
size_t index) = 0;
248 virtual void set_xf_fill(
size_t index) = 0;
249 virtual void set_xf_border(
size_t index) = 0;
250 virtual void set_xf_protection(
size_t index) = 0;
251 virtual void set_xf_number_format(
size_t index) = 0;
252 virtual void set_xf_style_xf(
size_t index) = 0;
253 virtual void set_xf_apply_alignment(
bool b) = 0;
254 virtual void set_xf_horizontal_alignment(hor_alignment_t align) = 0;
255 virtual void set_xf_vertical_alignment(ver_alignment_t align) = 0;
257 virtual size_t commit_cell_xf() = 0;
258 virtual size_t commit_cell_style_xf() = 0;
259 virtual size_t commit_dxf() = 0;
263 virtual void set_cell_style_count(
size_t n) = 0;
264 virtual void set_cell_style_name(
const char* s,
size_t n) = 0;
265 virtual void set_cell_style_xf(
size_t index) = 0;
266 virtual void set_cell_style_builtin(
size_t index) = 0;
267 virtual void set_cell_style_parent_name(
const char* s,
size_t n) = 0;
268 virtual size_t commit_cell_style() = 0;
281 virtual void set_column_width(col_t col,
double width, orcus::length_unit_t unit) = 0;
283 virtual void set_column_hidden(col_t col,
bool hidden) = 0;
285 virtual void set_row_height(row_t row,
double height, orcus::length_unit_t unit) = 0;
287 virtual void set_row_hidden(row_t row,
bool hidden) = 0;
318 virtual void define_name(
const char* p_name,
size_t n_name,
const char* p_exp,
size_t n_exp) = 0;
329 virtual void set_type(data_table_type_t type) = 0;
331 virtual void set_range(
const range_t& range) = 0;
333 virtual void set_first_reference(
const char* p_ref,
size_t n_ref,
bool deleted) = 0;
335 virtual void set_second_reference(
const char* p_ref,
size_t n_ref,
bool deleted) = 0;
337 virtual void commit() = 0;
412 virtual void set_color(color_elem_t alpha, color_elem_t red,
413 color_elem_t green, color_elem_t blue) = 0;
459 color_elem_t green, color_elem_t blue) = 0;
466 color_elem_t green, color_elem_t blue) = 0;
503 virtual void set_type(conditional_format_t type) = 0;
505 virtual void commit_entry() = 0;
507 virtual void set_range(
const char* p,
size_t n) = 0;
509 virtual void set_range(row_t row_start, col_t col_start,
510 row_t row_end, col_t col_end) = 0;
512 virtual void commit_format() = 0;
526 virtual void set_identifier(
size_t id) = 0;
528 virtual void set_range(
const char* p_ref,
size_t n_ref) = 0;
530 virtual void set_totals_row_count(
size_t row_count) = 0;
532 virtual void set_name(
const char* p,
size_t n) = 0;
534 virtual void set_display_name(
const char* p,
size_t n) = 0;
536 virtual void set_column_count(
size_t n) = 0;
538 virtual void set_column_identifier(
size_t id) = 0;
539 virtual void set_column_name(
const char* p,
size_t n) = 0;
540 virtual void set_column_totals_row_label(
const char* p,
size_t n) = 0;
541 virtual void set_column_totals_row_function(totals_row_function_t func) = 0;
542 virtual void commit_column() = 0;
544 virtual void set_style_name(
const char* p,
size_t n) = 0;
545 virtual void set_style_show_first_column(
bool b) = 0;
546 virtual void set_style_show_last_column(
bool b) = 0;
547 virtual void set_style_show_row_stripes(
bool b) = 0;
548 virtual void set_style_show_column_stripes(
bool b) = 0;
550 virtual void commit() = 0;
574 virtual void set_formula(formula_grammar_t grammar,
const char* p,
size_t n) = 0;
620 virtual void set_range(
const range_t& range) = 0;
622 virtual void set_formula(formula_grammar_t grammar,
const char* p,
size_t n) = 0;
624 virtual void set_result_string(row_t row, col_t col,
size_t sindex) = 0;
626 virtual void set_result_value(row_t row, col_t col,
double value) = 0;
628 virtual void set_result_bool(row_t row, col_t col,
bool value) = 0;
630 virtual void set_result_empty(row_t row, col_t col) = 0;
632 virtual void commit() = 0;
712 virtual void set_auto(row_t row, col_t col,
const char* p,
size_t n) = 0;
721 virtual void set_string(row_t row, col_t col,
size_t sindex) = 0;
730 virtual void set_value(row_t row, col_t col,
double value) = 0;
739 virtual void set_bool(row_t row, col_t col,
bool value) = 0;
748 row_t row, col_t col,
749 int year,
int month,
int day,
int hour,
int minute,
double second) = 0;
759 virtual void set_format(row_t row, col_t col,
size_t xf_index) = 0;
772 row_t row_end, col_t col_end,
size_t xf_index) = 0;
916 pivot_cache_id_t cache_id);
928 pivot_cache_id_t cache_id);
944 sheet_t sheet_index,
const char* sheet_name,
size_t sheet_name_length) = 0;
Definition: import_interface.hpp:341
virtual void set_range(const range_t &range)=0
virtual void append_column_match_value(const char *p, size_t n)=0
virtual void commit_column()=0
virtual void set_column(col_t col)=0
Definition: import_interface.hpp:325
Definition: import_interface.hpp:882
virtual import_pivot_cache_records * create_pivot_cache_records(pivot_cache_id_t cache_id)
virtual import_styles * get_styles()
virtual import_sheet * get_sheet(const char *sheet_name, size_t sheet_name_length)=0
virtual import_pivot_cache_definition * create_pivot_cache_definition(pivot_cache_id_t cache_id)
virtual import_sheet * get_sheet(sheet_t sheet_index)=0
virtual import_sheet * append_sheet(sheet_t sheet_index, const char *sheet_name, size_t sheet_name_length)=0
virtual import_shared_strings * get_shared_strings()
virtual void finalize()=0
Definition: import_interface.hpp:795
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:302
virtual void define_name(const char *p_name, size_t n_name, const char *p_exp, size_t n_exp)=0
Definition: import_interface_pivot.hpp:29
Definition: import_interface_pivot.hpp:291
Definition: import_interface.hpp:836
virtual address_t resolve_address(const char *p, size_t n)=0
virtual range_t resolve_range(const char *p, size_t n)=0
Definition: import_interface.hpp:31
virtual void append_segment(const char *s, size_t n)=0
virtual void set_segment_font_name(const char *s, size_t n)=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 void set_segment_bold(bool b)=0
virtual void set_segment_italic(bool b)=0
virtual size_t append(const char *s, size_t n)=0
virtual size_t add(const char *s, size_t n)=0
virtual void set_segment_font(size_t font_index)=0
Definition: import_interface.hpp:277
virtual void set_merge_cell_range(const range_t &range)=0
Definition: import_interface_view.hpp:20
Definition: import_interface.hpp:639
virtual import_table * get_table()
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 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, const char *p, size_t n)=0
virtual import_conditional_format * get_conditional_format()
virtual import_auto_filter * get_auto_filter()
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_data_table * get_data_table()
virtual void set_string(row_t row, col_t col, size_t sindex)=0
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:146
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:520
Definition: types.hpp:356
Definition: types.hpp:362
Definition: types.hpp:368