Kexi/Plugins/Reports
Appearance
Kexi implements its own QPainter-based render for printing reports and exporting to HTML, ODF and PDF focuments. Report Designer is based on Qt Graphics View framework. For historic and architectural reasons it does not use Calligra's Flake framework. The report document format is serialized to an XML representation and is modeled after the ODF.
Subpages:
- File format (mostly done)
- Harmonizing with forms (mostly done)
- Object tree (in progress)
- Junior Jobs
- Format property
Elements:
- barcodes (unassigned)
- hyperlinks (unassigned)
Todo List
Fix javascript kross plugin, or disable as it seems buggy, qtscript is ok.Now loads qtscript if available and javascript is selected - 3-Jul-2010KWord ExportKSpread Export- Make row colour the same as section background
- Add more script events, such as on_load, to complement on_render.
Properly sync size/pos properties between the editor and the itemMake report entities (label/field etc) plugins, so its easier to add new ones ?- Maybe use flakes, or create a report 'shape' that can be embedded elsewhere
- Add more math functions
- Undo/Redo support
Dynamically adjust page margins when page units are changed- Clean up the mess that is the barcode generators!
- Custom page sizes
When pasting items, dont allow to go below bottom of sectionPage number/totalHTML Export (maybe link in with webforms)--Fix to use KIO instead of QFile etc to allow saving to remote dirAllow functions defined in external scripts to be called, or add a 'modules' plugin as a place for user defined functions.Speed up background drawing - seems more dependant on gfx driver.... raster engine is faster than intel! Dont use antialisaing, or do use raster is the answerSorting and Grouping for the datasource in KoReportData- Use ODF text paragraphs for label text and allow ODF text for report values --jstaniek 13:54, 6 February 2010 (PST)
- we could paint whatever ODF allows for a paragraph; for now some ODF attributes map exactly to QFont attrs
- this is handled in KoCharacterStyle::saveOdf(KoGenStyle &style)
- but at gui level editing is the problem: (we will need support in forms to enter the data, as well as support in report designer, to enter the static label text in ODF format)
- Future Item Plugins
- Table Item
- Sub Report
- Add "Visible" bool property to any report elements including sections (Jstaniek 09:10, 27 April 2011 (UTC))
- compare to MSA Visible property; MSA's DisplayWhen is irrelevant as it applies to forms
- Add 'totals caching' feature
- if the data source has not changed, do not require to render all the pages in advance, and just render pages on demand
- some assumptions needed: data can be modified accessed with Kexi or with Kexi-compatible means, so on modification, tables that are used as data source are marked as dirty
- Optionally support report snapshots: render the reports to QPicture and store it via data stream to a database
Features
- GUI Designer
- User Scripting
- Javascript
- Python
- And any other Kross languages
- Events
- Report OnOpen
- Report OnNewPage
- Report OnComplete
- Section OnRender
- Controls (builtin):
- Label
- Field
- Text
- Line
- Image
- Static
- Dynamic
- Checkbox
- Plugins:
- Barcode
- 3of9
- 3of9+
- 128
- upc-a
- upc-e
- ean13
- ean8
- Charts
- with linked child/master fields
- Barcode
- Grouping/Sorting
- Group headers/footers
- Menu actions
- Auto report: Create Tab (Actually, report wizard)
- Auto tabular report: Report Tab, Context menu in Project Navigator for Tables, Queries, Forms, Reports (single shot)
- Auto columnar report: Report Tab, Context menu in Project Navigator for Tables, Queries, Forms, Reports (single shot)
- Auto flowing report: Report Tab, Context menu in Project Navigator for Tables, Queries, Forms, Reports (single shot)
Links
- Compare with MSA properties for compatibility: http://msdn.microsoft.com/en-us/library/ff841525.aspx