User's Manual - version: 0.3

The easiest way to get familiar with KeyValue's features is using LibreOffice or Excel add-ins based on it. KeyValue comes with examples of core and bridge libraries allowing for the build of a LibreOffice and an Excel add-in. This section introduces some of these features using these add-ins as examples.

We assume you are familiar with the basics of LibreOffice Calc or Excel. These two applications have very similar user interfaces. For this reason, we address instructions to LibreOffice Calc users only. Excel users should not have trouble in adapting them. Moreover, remember that LibreOffice is open source software available at

It is worth mentioning one interface difference between LibreOffice
Calc and Excel. In both, either double-clicking or pressing
**F2** on a cell start its editing. Pressing
**Enter** finishes the edition. If the new content is a
formula, while Excel immediately calculates the result, LibreOffice Calc
recalculates only if it believes the cell's content has changed. In
particular, **F2** followed by **Enter**
recalculates a cell formula in Excel but not in LibreOffice Calc. To force
LibreOffice Calc to recalculate the cell, we have to fake a change.
Therefore, keep in mind the following:

To recalculate a cell formula
double click on the cell (or press **F2** if the cell is the
current one), then press **Left Arrow** followed by
**Enter**. To recalculate a formula range, in LibreOffice one
must select the whole range (select any cell in the range and then press
**Ctrl+/**) before pressing **F2**.

From spreadsheet applications, KeyValue derives some terminology regarding data containers:

- Single
Is a piece of data that, on a spreadsheet, would fit in a single cell. For instance, the number 1.0 or the text "

`Foo`

".- Vector
Is a collection of data that, on a spreadsheet, would fit in an one-dimensional range of cells like

*A1:J1*or*A1:A10*. More precisely, when these cells are one beside another in a row we call it a**row vector**(*e.g.**A1:J1*). When the cells are one above another in a column (*e.g.**A1:A10*) we call it a**column vector**. In particular, a single is both a row and a column vector.- Matrix
Is a collection of data that, on a spreadsheet, would fit in a two dimensional range of cells like

*A1:B2*. In particular, single and vector are matrices.

After building KeyValue with its core and bridge examples (see
Section Section 3), under KeyValue's home directory,
we should have a ready-to-use LibreOffice add-in named
`keyvalue.oxt`

(or an Excel add-in named
`keyvalue.xll`

). The exact location is shown in Table 3.

Build | LibreOffice (GNU/Linux) | LibreOffice (Windows) | Excel |
---|---|---|---|

Debug | `openoffice-addin/out/linux-gcc-debug` |
`openoffice-addin\out\windows-msvc-debug` |
`excel-addin\out\windows-msvc-debug` |

Release | `openoffice-addin/out/linux-gcc-release` |
`openoffice-addin\out\windows-msvc-release` |
`excel-addin\out\windows-msvc-release` |

Launch LibreOffice Calc, open the debug add-in and the example
workbook `keyvalue.ods`

(or
`keyvalue.xlsx`

for Excel) located in
`doc/workbooks`

.

Notice that a console window pops up. KeyValue uses it for output, notably error messages.