Warning, /libraries/kreport/KReportScript.dox is written in an unsupported language. File is not indexed.

0001 /**
0002  * \mainpage
0003  *
0004  * KReport is a library for the generation of reports in multiple formats.
0005  *
0006  * It contains support for user generated scripts written in Javascript.
0007  * This document describes the user facing API for controling reports.
0008  *
0009  * Concepts
0010  * ========
0011  *
0012  * KReport user scripting has the following concepts:
0013  * * The top-level report object \n
0014  *   This contains functions for retreiving the report name, section objects and item objects \n
0015  *   It also contains event handlers which are executed at open, complete, and newPage events \n
0016  *
0017  * * Section objects \n
0018  *   Sections contain function for receiving the section name, setting the background colour,\n
0019  *   and retreiving items within the section.\n
0020  *   It also contains event handlers which are executed when the section is rendered\n
0021  *
0022  * * Item objects \n
0023  *   Items contain functions to manipulate item specific properties prior to drawing them on screen \n
0024  *
0025  * * Generic objects \n
0026  *  * debug     - contains functions for printing debug messages.  See KRScriptDebug.
0027  *  * draw      - contains functions for drawing basic shapes on the canvas of a report.  See KRScriptDraw.
0028  *  * constants - contains some userful constant data.  See KRScriptConstants.
0029  *
0030  * * In addition to the above, applications can add their own functions to the report engine, Kexi adds:
0031  *  * field     - contains functions or retreiving field values, and agggregate values.
0032  *
0033  *
0034  * Adding basic scripting to a report
0035  * ==================================
0036  *
0037  * To add basic scripting to a report, it is nescessary to perform the following steps:
0038  * * Create a script object
0039  * * Within the object implement handlers for one or more events
0040  * * Assign the script objet to the appropriate report object so that it an be executed
0041  *
0042  * Example
0043  * =======
0044  *
0045  * The following javascript snippet contains a basic object with no methods
0046  *
0047  * \code
0048  * function detail()
0049  * {
0050  * }
0051  * \endcode
0052  *
0053  * We then add a handler for the OnRender() event with a single method
0054  *
0055  * \code
0056  * function detail()
0057  * {
0058  *  this.OnRender = function()
0059  *  {
0060  *   debug.print("Rendering a detail section");
0061  *  }
0062  * }
0063  * \endcode
0064  *
0065  * Finally we assign this script object to the actual report object by calling:
0066  *
0067  * \code
0068  * reportname.section_detail.initialize(new detail())
0069  * \endcode
0070  *
0071  * where reportname is the name of the report
0072  *
0073  * It is possible to assign script objects to report objects this way for any of the report sections,
0074  * and the main report object.
0075  *
0076  * See Scripting::Report and Scripting::Section for a starting point.
0077 
0078 
0079  */
0080 
0081 // DOXYGEN_SET_PROJECT_NAME = KReport
0082 // DOXYGEN_SET_IGNORE_PREFIX = KReport K