Warning, /office/calligra/sheets/doc/Interfaces.dox is written in an unsupported language. File is not indexed.
0001 /** 0002 * \page interfaces Interfaces 0003 * \author Stefan Nikolaus 0004 * \date 2008-08-21 0005 * 0006 * 0007 * \section intro Introduction 0008 * This page describes how external applications can interact with Calligra Sheets. 0009 * 0010 * \subsection resources Development Resources 0011 * The interfaces are located in KoTableInterface.h. 0012 * Pointers to them are stored as canvas resources (KoResourceManager). 0013 * 0014 * \subsection ranges About Cell Ranges 0015 * Calligra Sheets is able to export data from and import data to cell ranges. Those cell 0016 * ranges will be modified by column/row/cell range insertions/removals, as every 0017 * other cell range does. I.e. their location is variable and external applications 0018 * need to get informed about their movements. 0019 * For this case, Calligra Sheets' interfaces provide methods, that return an <b>extended 0020 * model</b> - extended by a method returning the current cell range address. 0021 * 0022 * 0023 * 0024 * 0025 * \section export Data Export 0026 * \par Status 0027 * design not fixed yet; not implemented yet 0028 * \par Example usage 0029 * Charts 0030 * 0031 * The interface for exporting data to external applications is called KoTable::SourceRangeManager. 0032 * 0033 * To export data there's a method that takes a cell range address and returns an extended model. 0034 * The model gets informed of value changes and it informs its views (or its users in general). 0035 * 0036 * In order to remove a cell range, that acts as data source, a method taking the extended model 0037 * as parameter is provided. 0038 * 0039 * 0040 * 0041 * 0042 * \section import Data Import 0043 * \par Status 0044 * design not fixed yet; not implemented yet 0045 * \par Example usage 0046 * Database queries 0047 * 0048 * The interface for importing data from external applications is called KoTable::TargetRangeManager. 0049 * 0050 * It provides a method, that takes a cell range address and an arbitrary data model. The method 0051 * returns an extended model, a proxy model for the provided data model, in order to deliver the 0052 * variable cell range address. 0053 * If the external application does not want to provide a model itself, but just wants to write 0054 * to the cell range, the data model parameter can also be null. Then, a writable table model is 0055 * created by Calligra Sheets and returned as extended model. 0056 * 0057 * In order to remove a cell range, that retrieves external data, a method taking the extended model 0058 * as parameter is provided. 0059 * 0060 * The TargetRangeManager implementation needs to track the model signals indicating data changes 0061 * and column/row insertions/removals. It has the task to write the data into the value storage. 0062 * 0063 * Most of the database range settings (OpenDocument v1.1, 8.6.1 Database range) should be passed to 0064 * the creation method, collected in one parameter. 0065 * Optionally, a dialog should be shown asking for exactly the same settings on creation. The passed 0066 * ones should then be taken as defaults, because the defaults may vary for different external data. 0067 * Additionally, a list of config widgets is passed, that will be shown in the same dialog. There, 0068 * the data provider's parameters can be changed, e.g. altering a SQL query, even later after 0069 * creation. 0070 */