Orcus
Loading...
Searching...
No Matches
import_interface_pivot_table_def.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#pragma once
9
10#include "types.hpp"
11#include "../types.hpp"
12#include "../env.hpp"
13
14// NB: This header must not depend on ixion, as it needs to be usable for
15// those clients that provide their own formula engine. Other headers in
16// the orcus::spreadsheet namespace may depend on ixion.
17
18namespace orcus { namespace spreadsheet { namespace iface {
19
26class ORCUS_DLLPUBLIC import_pivot_field
27{
28public:
29 virtual ~import_pivot_field();
30
31 virtual void set_item_count(std::size_t count) = 0;
32
33 virtual void set_axis(pivot_axis_t axis) = 0;
34
41 virtual void append_item(std::size_t index, bool hidden) = 0;
42
43 virtual void append_item(pivot_field_item_t type) = 0;
44
45 virtual void commit() = 0;
46};
47
48class ORCUS_DLLPUBLIC import_pivot_fields
49{
50public:
51 virtual ~import_pivot_fields();
52
53 virtual void set_count(std::size_t count) = 0;
54
55 virtual import_pivot_field* start_pivot_field() = 0;
56
57 virtual void commit() = 0;
58};
59
63class ORCUS_DLLPUBLIC import_pivot_rc_fields
64{
65public:
67
68 virtual void set_count(std::size_t count) = 0;
69
70 virtual void append_field(std::size_t index) = 0;
71
76 virtual void append_data_field() = 0;
77
78 virtual void commit() = 0;
79};
80
81class ORCUS_DLLPUBLIC import_pivot_page_field
82{
83public:
85
86 virtual void set_field(std::size_t index) = 0;
87
88 virtual void set_item(std::size_t index) = 0;
89
90 virtual void commit() = 0;
91};
92
93class ORCUS_DLLPUBLIC import_pivot_page_fields
94{
95public:
97
98 virtual void set_count(std::size_t count) = 0;
99
100 virtual import_pivot_page_field* start_page_field() = 0;
101
102 virtual void commit() = 0;
103};
104
105class ORCUS_DLLPUBLIC import_pivot_data_field
106{
107public:
108 virtual ~import_pivot_data_field();
109
110 virtual void set_field(std::size_t index) = 0;
111
112 virtual void set_name(std::string_view name) = 0;
113
114 virtual void set_subtotal_function(pivot_data_subtotal_t func) = 0;
115
116 virtual void set_show_data_as(
117 pivot_data_show_data_as_t type, std::size_t base_field, std::size_t base_item) = 0;
118
119 virtual void commit() = 0;
120};
121
122class ORCUS_DLLPUBLIC import_pivot_data_fields
123{
124public:
126
127 virtual void set_count(std::size_t count) = 0;
128
129 virtual import_pivot_data_field* start_data_field() = 0;
130
131 virtual void commit() = 0;
132};
133
143class ORCUS_DLLPUBLIC import_pivot_rc_item
144{
145public:
146 virtual ~import_pivot_rc_item();
147
156 virtual void set_repeat_items(std::size_t repeat) = 0;
157
163 virtual void set_item_type(pivot_field_item_t type) = 0;
164
170 virtual void set_data_item(std::size_t index) = 0;
171
177 virtual void append_index(std::size_t index) = 0;
178
179 virtual void commit() = 0;
180};
181
185class ORCUS_DLLPUBLIC import_pivot_rc_items
186{
187public:
188 virtual ~import_pivot_rc_items();
189
190 virtual void set_count(std::size_t count) = 0;
191
192 virtual import_pivot_rc_item* start_item() = 0;
193
194 virtual void commit() = 0;
195};
196
200class ORCUS_DLLPUBLIC import_pivot_table_definition
201{
202public:
204
205 virtual void set_name(std::string_view name) = 0;
206
207 virtual void set_cache_id(pivot_cache_id_t cache_id) = 0;
208
214 virtual void set_range(const range_t& ref) = 0;
215
216 virtual import_pivot_fields* start_pivot_fields() = 0;
217
218 virtual import_pivot_rc_fields* start_row_fields() = 0;
219
220 virtual import_pivot_rc_fields* start_column_fields() = 0;
221
222 virtual import_pivot_page_fields* start_page_fields() = 0;
223
224 virtual import_pivot_data_fields* start_data_fields() = 0;
225
226 virtual import_pivot_rc_items* start_row_items() = 0;
227
228 virtual import_pivot_rc_items* start_col_items() = 0;
229
230 virtual void commit() = 0;
231};
232
233}}}
234
235/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition import_interface_pivot_table_def.hpp:106
Definition import_interface_pivot_table_def.hpp:123
Definition import_interface_pivot_table_def.hpp:27
virtual void append_item(std::size_t index, bool hidden)=0
Definition import_interface_pivot_table_def.hpp:49
Definition import_interface_pivot_table_def.hpp:82
Definition import_interface_pivot_table_def.hpp:94
Definition import_interface_pivot_table_def.hpp:64
Definition import_interface_pivot_table_def.hpp:144
virtual void set_repeat_items(std::size_t repeat)=0
virtual void append_index(std::size_t index)=0
virtual void set_item_type(pivot_field_item_t type)=0
virtual void set_data_item(std::size_t index)=0
Definition import_interface_pivot_table_def.hpp:186
Definition import_interface_pivot_table_def.hpp:201
Definition types.hpp:708