< Kexi‎ | Plugins


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.



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.
  • 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
  • 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 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


  • 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
  • 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)


This page was last edited on 10 August 2015, at 10:49. Content is available under Creative Commons License SA 4.0 unless otherwise noted.