Jump to content

Kexi/Plugins/Reports: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
No edit summary
Jstaniek (talk | contribs)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
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:
Subpages:
*[[/Fileformat/]]
*[[Kexi/Junior_Jobs#Reports|Junior Jobs]] (in progress)
*[[/Harmonizing with forms/]]
*[[/Fileformat/|File format]] (mostly done)
*[[/Report hyperlinks/]]
*[[/Harmonizing with forms/]] (mostly done)
*[[/Object tree/]]
*[[/Object tree/]] (in progress)
*[[/Barcode/]] elements
*[[/Format property/]] (unassigned)
*[[/CLI Export//]]
 
Elements:
*[[/Barcode/|Barcodes]] (unassigned)
*[[/Report hyperlinks/|Hyperlinks]] (unassigned)


__TOC__
__TOC__
==Todo List==
==Todo List==
*<s>Fix javascript kross plugin, or disable as it seems buggy, qtscript is ok.</s> Now loads qtscript if available and javascript is selected - 3-Jul-2010
*<s>Fix javascript kross plugin, or disable as it seems buggy, qtscript is ok. Now loads qtscript if available and javascript is selected - 3-Jul-2010</s>
*<s>KWord Export</s>
*<s>KWord Export</s>
*<s>KSpread Export</s>
*<s>KSpread Export</s>
**Make row colour the same as section background
**<s>Make row colour the same as section background</s>
*Add more script events, such as on_load, to complement on_render.
*Add more script events, such as on_load, to complement on_render. https://invent.kde.org/office/kexi/-/issues/135
**http://office.microsoft.com/en-us/access-help/order-of-events-for-database-objects-HP005186761.aspx
**http://office.microsoft.com/en-us/access-help/order-of-events-for-database-objects-HP005186761.aspx
*<s>Properly sync size/pos properties between the editor and the item</s>
*<s>Properly sync size/pos properties between the editor and the item</s>
*<s>Make report entities (label/field etc) plugins, so its easier to add new ones ?</s>
*<s>Make report entities (label/field etc) plugins, so its easier to add new ones ?</s>
*Maybe use flakes, or create a report 'shape' that can be embedded elsewhere
*Maybe use flakes, or create a report 'shape' that can be embedded elsewhere -- https://invent.kde.org/office/kexi/-/issues/134
*Add more math functions
*Add more math functions
*Undo/Redo support
*Undo/Redo support -- https://invent.kde.org/office/kexi/-/issues/133
*<s>Dynamically adjust page margins when page units are changed</s>
*<s>Dynamically adjust page margins when page units are changed</s>
*Clean up the mess that is the [[barcode|/Barcode/]] generators!
*Clean up the mess that is the [[/Barcode/|barcode]] generators! https://invent.kde.org/office/kexi/-/issues/118
*Custom page sizes
*<s>Custom page sizes</s>
*<s>When pasting items, dont allow to go below bottom of section</s>
*<s>When pasting items, dont allow to go below bottom of section</s>
*<s>Page number/total</s>
*<s>Page number/total</s>
Line 46: Line 53:
*GUI Designer
*GUI Designer
*User Scripting
*User Scripting
**Javascript
**<strike>Javascript</strike>
**Python
**Python
**And any other Kross languages
**Events
**Events
***Report OnOpen
***Report OnOpen
Line 54: Line 60:
***Report OnComplete
***Report OnComplete
***Section OnRender
***Section OnRender
*Controls (builtin):
*Elements (simple):
**Label
**Label
**Field
**Field
Line 63: Line 69:
***Dynamic
***Dynamic
**Checkbox
**Checkbox
*Plugins:
**Barcode
**Barcode
***3of9
***3of9 barcode
***3of9+
***3of9+ barcode
***128
***128 barcode
***upc-a
***upc-a barcode
***upc-e
***upc-e barcode
***ean13
***ean13 barcode
***ean8
***ean8 barcode
**Charts
**Charts
**Maps (experimental)
**Web browser (experimental)
***with linked child/master fields
***with linked child/master fields
*Grouping/Sorting
*Grouping/Sorting

Latest revision as of 14:48, 13 April 2023

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:

Elements:

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-2010
  • KWord Export
  • KSpread Export
    • Make row colour the same as section background
  • Add more script events, such as on_load, to complement on_render. https://invent.kde.org/office/kexi/-/issues/135
  • Properly sync size/pos properties between the editor and the item
  • Make 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 -- https://invent.kde.org/office/kexi/-/issues/134
  • Add more math functions
  • Undo/Redo support -- https://invent.kde.org/office/kexi/-/issues/133
  • Dynamically adjust page margins when page units are changed
  • Clean up the mess that is the barcode generators! https://invent.kde.org/office/kexi/-/issues/118
  • Custom page sizes
  • When pasting items, dont allow to go below bottom of section
  • Page number/total
  • HTML Export (maybe link in with webforms)
  • --Fix to use KIO instead of QFile etc to allow saving to remote dir
  • Allow 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 answer
  • Sorting 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))
  • 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
    • Events
      • Report OnOpen
      • Report OnNewPage
      • Report OnComplete
      • Section OnRender
  • Elements (simple):
    • Label
    • Field
    • Text
    • Line
    • Image
      • Static
      • Dynamic
    • Checkbox
    • Barcode
      • 3of9 barcode
      • 3of9+ barcode
      • 128 barcode
      • upc-a barcode
      • upc-e barcode
      • ean13 barcode
      • ean8 barcode
    • Charts
    • Maps (experimental)
    • Web browser (experimental)
      • with linked child/master fields
  • 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