summaryrefslogtreecommitdiffstats
path: root/doc/cpp/core
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:48:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:48:59 +0000
commitc484829272cd13a738e35412498e12f2c9a194ac (patch)
treea1f5ec09629ee895bd3963fa8820b45f2f4c574b /doc/cpp/core
parentInitial commit. (diff)
downloadliborcus-upstream.tar.xz
liborcus-upstream.zip
Adding upstream version 0.19.2.upstream/0.19.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/cpp/core')
-rw-r--r--doc/cpp/core/config.rst13
-rw-r--r--doc/cpp/core/import-filter/csv.rst6
-rw-r--r--doc/cpp/core/import-filter/detect.rst5
-rw-r--r--doc/cpp/core/import-filter/gnumeric.rst6
-rw-r--r--doc/cpp/core/import-filter/index.rst20
-rw-r--r--doc/cpp/core/import-filter/json.rst6
-rw-r--r--doc/cpp/core/import-filter/ods.rst9
-rw-r--r--doc/cpp/core/import-filter/xls_xml.rst6
-rw-r--r--doc/cpp/core/import-filter/xlsx.rst9
-rw-r--r--doc/cpp/core/import-filter/xml.rst6
-rw-r--r--doc/cpp/core/index.rst25
-rw-r--r--doc/cpp/core/interface/global.rst12
-rw-r--r--doc/cpp/core/interface/index.rst9
-rw-r--r--doc/cpp/core/interface/spreadsheet/document.rst21
-rw-r--r--doc/cpp/core/interface/spreadsheet/document_export.rst13
-rw-r--r--doc/cpp/core/interface/spreadsheet/index.rst15
-rw-r--r--doc/cpp/core/interface/spreadsheet/pivot.rst14
-rw-r--r--doc/cpp/core/interface/spreadsheet/sheet.rst30
-rw-r--r--doc/cpp/core/interface/spreadsheet/styles.rst30
-rw-r--r--doc/cpp/core/interface/spreadsheet/view.rst9
-rw-r--r--doc/cpp/core/tree-doc/index.rst13
-rw-r--r--doc/cpp/core/tree-doc/json.rst36
-rw-r--r--doc/cpp/core/tree-doc/yaml.rst19
-rw-r--r--doc/cpp/core/types/core.rst68
-rw-r--r--doc/cpp/core/types/index.rst12
-rw-r--r--doc/cpp/core/types/view.rst20
-rw-r--r--doc/cpp/core/utils.rst19
27 files changed, 451 insertions, 0 deletions
diff --git a/doc/cpp/core/config.rst b/doc/cpp/core/config.rst
new file mode 100644
index 0000000..a5a1f50
--- /dev/null
+++ b/doc/cpp/core/config.rst
@@ -0,0 +1,13 @@
+
+Configurations
+==============
+
+.. doxygenstruct:: orcus::config
+ :members:
+
+.. doxygenstruct:: orcus::json_config
+ :members:
+
+.. doxygenstruct:: orcus::yaml_config
+ :members:
+
diff --git a/doc/cpp/core/import-filter/csv.rst b/doc/cpp/core/import-filter/csv.rst
new file mode 100644
index 0000000..bee2671
--- /dev/null
+++ b/doc/cpp/core/import-filter/csv.rst
@@ -0,0 +1,6 @@
+
+Comma-separated values (CSV)
+============================
+
+.. doxygenclass:: orcus::orcus_csv
+ :members:
diff --git a/doc/cpp/core/import-filter/detect.rst b/doc/cpp/core/import-filter/detect.rst
new file mode 100644
index 0000000..09d6041
--- /dev/null
+++ b/doc/cpp/core/import-filter/detect.rst
@@ -0,0 +1,5 @@
+
+Format detection
+================
+
+.. doxygenfunction:: orcus::detect
diff --git a/doc/cpp/core/import-filter/gnumeric.rst b/doc/cpp/core/import-filter/gnumeric.rst
new file mode 100644
index 0000000..23a2bf9
--- /dev/null
+++ b/doc/cpp/core/import-filter/gnumeric.rst
@@ -0,0 +1,6 @@
+
+Gnumeric XML
+============
+
+.. doxygenclass:: orcus::orcus_gnumeric
+ :members:
diff --git a/doc/cpp/core/import-filter/index.rst b/doc/cpp/core/import-filter/index.rst
new file mode 100644
index 0000000..0b6befa
--- /dev/null
+++ b/doc/cpp/core/import-filter/index.rst
@@ -0,0 +1,20 @@
+
+Import filters
+==============
+
+.. toctree::
+ :maxdepth: 1
+
+ csv.rst
+ ods.rst
+ xls_xml.rst
+ xlsx.rst
+ gnumeric.rst
+ xml.rst
+ json.rst
+ detect.rst
+
+
+
+
+
diff --git a/doc/cpp/core/import-filter/json.rst b/doc/cpp/core/import-filter/json.rst
new file mode 100644
index 0000000..eb55810
--- /dev/null
+++ b/doc/cpp/core/import-filter/json.rst
@@ -0,0 +1,6 @@
+
+Generic JSON
+============
+
+.. doxygenclass:: orcus::orcus_json
+ :members:
diff --git a/doc/cpp/core/import-filter/ods.rst b/doc/cpp/core/import-filter/ods.rst
new file mode 100644
index 0000000..527b064
--- /dev/null
+++ b/doc/cpp/core/import-filter/ods.rst
@@ -0,0 +1,9 @@
+
+Open document spreadsheet
+=========================
+
+.. doxygenclass:: orcus::orcus_ods
+ :members:
+
+.. doxygenclass:: orcus::import_ods
+ :members:
diff --git a/doc/cpp/core/import-filter/xls_xml.rst b/doc/cpp/core/import-filter/xls_xml.rst
new file mode 100644
index 0000000..48a5371
--- /dev/null
+++ b/doc/cpp/core/import-filter/xls_xml.rst
@@ -0,0 +1,6 @@
+
+Microsoft Excel 2003 XML
+========================
+
+.. doxygenclass:: orcus::orcus_xls_xml
+ :members:
diff --git a/doc/cpp/core/import-filter/xlsx.rst b/doc/cpp/core/import-filter/xlsx.rst
new file mode 100644
index 0000000..4c468ca
--- /dev/null
+++ b/doc/cpp/core/import-filter/xlsx.rst
@@ -0,0 +1,9 @@
+
+Microsoft Excel 2007 XML
+========================
+
+.. doxygenclass:: orcus::orcus_xlsx
+ :members:
+
+.. doxygenclass:: orcus::import_xlsx
+ :members:
diff --git a/doc/cpp/core/import-filter/xml.rst b/doc/cpp/core/import-filter/xml.rst
new file mode 100644
index 0000000..67d9fd9
--- /dev/null
+++ b/doc/cpp/core/import-filter/xml.rst
@@ -0,0 +1,6 @@
+
+Generic XML
+===========
+
+.. doxygenclass:: orcus::orcus_xml
+ :members:
diff --git a/doc/cpp/core/index.rst b/doc/cpp/core/index.rst
new file mode 100644
index 0000000..3bb0623
--- /dev/null
+++ b/doc/cpp/core/index.rst
@@ -0,0 +1,25 @@
+
+Core
+====
+
+This section presents the API's from the ``liborcus`` part of this library,
+which contains the import filters that process various file formats containing
+spreadsheet document contents or contents that can be loaded into spreadsheet
+documents. It consists of the filter classes that parse the file streams and
+put their contents into the document store via a set of pre-defined interfaces,
+and these interfaces themselves.
+
+This module does not contain the document store itself, which is provided by
+the ``liborcus-spreadsheet-model`` module. Alternatively, the user can
+provide their own document store implementation wrapped inside a factory that
+provides all required interfaces.
+
+.. toctree::
+ :maxdepth: 1
+
+ import-filter/index.rst
+ tree-doc/index.rst
+ interface/index.rst
+ types/index.rst
+ utils.rst
+ config.rst
diff --git a/doc/cpp/core/interface/global.rst b/doc/cpp/core/interface/global.rst
new file mode 100644
index 0000000..0e73e47
--- /dev/null
+++ b/doc/cpp/core/interface/global.rst
@@ -0,0 +1,12 @@
+
+Global interfaces
+=================
+
+The following global interfaces are used to abstract the concrete filter and
+document classes from orcus's CLI framework.
+
+.. doxygenclass:: orcus::iface::import_filter
+ :members:
+
+.. doxygenclass:: orcus::iface::document_dumper
+ :members:
diff --git a/doc/cpp/core/interface/index.rst b/doc/cpp/core/interface/index.rst
new file mode 100644
index 0000000..92c22d0
--- /dev/null
+++ b/doc/cpp/core/interface/index.rst
@@ -0,0 +1,9 @@
+
+Interfaces
+==========
+
+.. toctree::
+ :maxdepth: 1
+
+ global.rst
+ spreadsheet/index.rst
diff --git a/doc/cpp/core/interface/spreadsheet/document.rst b/doc/cpp/core/interface/spreadsheet/document.rst
new file mode 100644
index 0000000..95eed76
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/document.rst
@@ -0,0 +1,21 @@
+
+Document import
+===============
+
+The following interfaces handle importing of contents and properties related to
+the entire document store.
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_factory
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_global_settings
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_shared_strings
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_named_expression
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_reference_resolver
+ :members:
diff --git a/doc/cpp/core/interface/spreadsheet/document_export.rst b/doc/cpp/core/interface/spreadsheet/document_export.rst
new file mode 100644
index 0000000..984c059
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/document_export.rst
@@ -0,0 +1,13 @@
+
+Document export
+===============
+
+The following interfaces handle exporting of document content. Support for exporting
+is still very limited in orcus. It is currently used only by :cpp:class:`~orcus::orcus_xml`
+to re-export the content of an XML-mapped cell range as an XML output.
+
+.. doxygenclass:: orcus::spreadsheet::iface::export_sheet
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::export_factory
+ :members:
diff --git a/doc/cpp/core/interface/spreadsheet/index.rst b/doc/cpp/core/interface/spreadsheet/index.rst
new file mode 100644
index 0000000..4254c22
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/index.rst
@@ -0,0 +1,15 @@
+
+.. _spreadsheet-interfaces:
+
+Spreadsheet interfaces
+======================
+
+.. toctree::
+ :maxdepth: 1
+
+ document.rst
+ sheet.rst
+ pivot.rst
+ styles.rst
+ view.rst
+ document_export.rst
diff --git a/doc/cpp/core/interface/spreadsheet/pivot.rst b/doc/cpp/core/interface/spreadsheet/pivot.rst
new file mode 100644
index 0000000..28d8df7
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/pivot.rst
@@ -0,0 +1,14 @@
+
+Pivot table import
+==================
+
+The folloiwng interfaces handle importing of contents related to pivot tables.
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_definition
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_field_group
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_pivot_cache_records
+ :members:
diff --git a/doc/cpp/core/interface/spreadsheet/sheet.rst b/doc/cpp/core/interface/spreadsheet/sheet.rst
new file mode 100644
index 0000000..6482ac6
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/sheet.rst
@@ -0,0 +1,30 @@
+
+Sheet import
+============
+
+The following interfaces handle importing of contents and properties related to
+individual sheets.
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_sheet
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_sheet_properties
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_data_table
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_auto_filter
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_conditional_format
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_table
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_formula
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_array_formula
+ :members:
diff --git a/doc/cpp/core/interface/spreadsheet/styles.rst b/doc/cpp/core/interface/spreadsheet/styles.rst
new file mode 100644
index 0000000..1c4f9a8
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/styles.rst
@@ -0,0 +1,30 @@
+
+Styles import
+=============
+
+The folloiwng interfaces handle importing of properties related to various
+formatting styles.
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_styles
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_font_style
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_fill_style
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_border_style
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_cell_protection
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_number_format
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_xf
+ :members:
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_cell_style
+ :members:
diff --git a/doc/cpp/core/interface/spreadsheet/view.rst b/doc/cpp/core/interface/spreadsheet/view.rst
new file mode 100644
index 0000000..21f393e
--- /dev/null
+++ b/doc/cpp/core/interface/spreadsheet/view.rst
@@ -0,0 +1,9 @@
+
+View properties import
+======================
+
+The following interface handles importing of view properties. View properties
+affect how the content of a document may get displayed.
+
+.. doxygenclass:: orcus::spreadsheet::iface::import_sheet_view
+ :members:
diff --git a/doc/cpp/core/tree-doc/index.rst b/doc/cpp/core/tree-doc/index.rst
new file mode 100644
index 0000000..54b7a68
--- /dev/null
+++ b/doc/cpp/core/tree-doc/index.rst
@@ -0,0 +1,13 @@
+
+Document tree
+=============
+
+This section presents the API's for tree-structured documents, namely JSON and YAML
+documents.
+
+
+.. toctree::
+ :maxdepth: 1
+
+ json.rst
+ yaml.rst
diff --git a/doc/cpp/core/tree-doc/json.rst b/doc/cpp/core/tree-doc/json.rst
new file mode 100644
index 0000000..390ac37
--- /dev/null
+++ b/doc/cpp/core/tree-doc/json.rst
@@ -0,0 +1,36 @@
+
+JSON document tree
+==================
+
+Document tree
+-------------
+
+.. doxygenclass:: orcus::json::document_tree
+ :members:
+
+.. doxygenclass:: orcus::json::const_node
+ :members:
+
+.. doxygenclass:: orcus::json::node
+ :members:
+
+.. doxygenclass:: orcus::json::array
+ :members:
+
+.. doxygenclass:: orcus::json::object
+ :members:
+
+.. doxygenclass:: orcus::json::detail::init::node
+ :members:
+
+.. doxygenenum:: orcus::json::node_t
+ :project: orcus
+
+Exceptions
+----------
+
+.. doxygenclass:: orcus::json::document_error
+ :members:
+
+.. doxygenclass:: orcus::json::key_value_error
+ :members:
diff --git a/doc/cpp/core/tree-doc/yaml.rst b/doc/cpp/core/tree-doc/yaml.rst
new file mode 100644
index 0000000..547440b
--- /dev/null
+++ b/doc/cpp/core/tree-doc/yaml.rst
@@ -0,0 +1,19 @@
+
+YAML document tree
+==================
+
+Document tree
+-------------
+
+.. doxygenclass:: orcus::yaml::document_tree
+ :members:
+
+.. doxygenclass:: orcus::yaml::const_node
+ :members:
+
+Exceptions
+----------
+
+.. doxygenclass:: orcus::yaml::document_error
+ :members:
+
diff --git a/doc/cpp/core/types/core.rst b/doc/cpp/core/types/core.rst
new file mode 100644
index 0000000..1decff2
--- /dev/null
+++ b/doc/cpp/core/types/core.rst
@@ -0,0 +1,68 @@
+
+Core types
+==========
+
+Integral types
+--------------
+
+.. doxygentypedef:: orcus::spreadsheet::row_t
+.. doxygentypedef:: orcus::spreadsheet::col_t
+.. doxygentypedef:: orcus::spreadsheet::sheet_t
+.. doxygentypedef:: orcus::spreadsheet::color_elem_t
+.. doxygentypedef:: orcus::spreadsheet::col_width_t
+.. doxygentypedef:: orcus::spreadsheet::row_height_t
+.. doxygentypedef:: orcus::spreadsheet::pivot_cache_id_t
+
+
+Structs
+-------
+
+.. doxygenstruct:: orcus::spreadsheet::address_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::range_size_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::range_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::src_address_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::src_range_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::color_rgb_t
+ :members:
+
+
+Enums
+-----
+
+.. doxygenenum:: orcus::spreadsheet::error_value_t
+.. doxygenenum:: orcus::spreadsheet::border_direction_t
+.. doxygenenum:: orcus::spreadsheet::border_style_t
+.. doxygenenum:: orcus::spreadsheet::fill_pattern_t
+.. doxygenenum:: orcus::spreadsheet::strikethrough_style_t
+.. doxygenenum:: orcus::spreadsheet::strikethrough_type_t
+.. doxygenenum:: orcus::spreadsheet::strikethrough_width_t
+.. doxygenenum:: orcus::spreadsheet::strikethrough_text_t
+.. doxygenenum:: orcus::spreadsheet::formula_grammar_t
+.. doxygenenum:: orcus::spreadsheet::formula_t
+.. doxygenenum:: orcus::spreadsheet::formula_ref_context_t
+.. doxygenenum:: orcus::spreadsheet::formula_error_policy_t
+.. doxygenenum:: orcus::spreadsheet::underline_t
+.. doxygenenum:: orcus::spreadsheet::underline_width_t
+.. doxygenenum:: orcus::spreadsheet::underline_mode_t
+.. doxygenenum:: orcus::spreadsheet::underline_type_t
+.. doxygenenum:: orcus::spreadsheet::hor_alignment_t
+.. doxygenenum:: orcus::spreadsheet::ver_alignment_t
+.. doxygenenum:: orcus::spreadsheet::xf_category_t
+.. doxygenenum:: orcus::spreadsheet::data_table_type_t
+.. doxygenenum:: orcus::spreadsheet::totals_row_function_t
+.. doxygenenum:: orcus::spreadsheet::conditional_format_t
+.. doxygenenum:: orcus::spreadsheet::condition_operator_t
+.. doxygenenum:: orcus::spreadsheet::condition_type_t
+.. doxygenenum:: orcus::spreadsheet::condition_date_t
+.. doxygenenum:: orcus::spreadsheet::databar_axis_t
+.. doxygenenum:: orcus::spreadsheet::pivot_cache_group_by_t
diff --git a/doc/cpp/core/types/index.rst b/doc/cpp/core/types/index.rst
new file mode 100644
index 0000000..a79f3f8
--- /dev/null
+++ b/doc/cpp/core/types/index.rst
@@ -0,0 +1,12 @@
+
+Types
+=====
+
+These types are used throughout the spreadsheet import and export interfaces.
+
+.. toctree::
+ :maxdepth: 1
+
+ core.rst
+ view.rst
+
diff --git a/doc/cpp/core/types/view.rst b/doc/cpp/core/types/view.rst
new file mode 100644
index 0000000..a542a62
--- /dev/null
+++ b/doc/cpp/core/types/view.rst
@@ -0,0 +1,20 @@
+
+View types
+==========
+
+Structs
+-------
+
+.. doxygenstruct:: orcus::spreadsheet::split_pane_t
+ :members:
+
+.. doxygenstruct:: orcus::spreadsheet::frozen_pane_t
+ :members:
+
+
+Enums
+-----
+
+.. doxygenenum:: orcus::spreadsheet::sheet_pane_t
+.. doxygenenum:: orcus::spreadsheet::pane_state_t
+
diff --git a/doc/cpp/core/utils.rst b/doc/cpp/core/utils.rst
new file mode 100644
index 0000000..480ae87
--- /dev/null
+++ b/doc/cpp/core/utils.rst
@@ -0,0 +1,19 @@
+
+Utilities
+=========
+
+Special values
+--------------
+
+.. doxygenfunction:: orcus::spreadsheet::get_default_column_width
+.. doxygenfunction:: orcus::spreadsheet::get_default_row_height
+
+Type conversion
+---------------
+
+.. doxygenfunction:: orcus::spreadsheet::to_totals_row_function_enum
+.. doxygenfunction:: orcus::spreadsheet::to_pivot_cache_group_by_enum
+.. doxygenfunction:: orcus::spreadsheet::to_error_value_enum
+.. doxygenfunction:: orcus::spreadsheet::to_color_rgb
+.. doxygenfunction:: orcus::spreadsheet::to_rc_address
+.. doxygenfunction:: orcus::spreadsheet::to_rc_range