Changes

Jump to: navigation, search

Report Generation

336 bytes added, 08:22, 17 February 2019
no edit summary
== Overview ==There are four categories of report:*Text - ([[Report_Generation#TextDoc|TextDoc]])*Draw - ([[Report_Generation#DrawDoc|DrawDoc]])*Graphviz - ([[Report_Generation#GVDoc|GVDoc]])*Web - (''Web reports work slightly differently to the others.'')
There are four categories of ==Writing a report: Text, Draw, Graphviz and Web. Web reports work slightly differently to the others.==When writing a report, the developer uses one of 3 report interfaces: TextDoc, DrawDoc and GVDoc. Abstract classes which define these interfaces can be found in the ''src[https://github.com/gramps-project/gramps/tree/master/gramps/gen/plug/docgen /gramps/gen/plug/docgen]'' folder. In this way reports are independent of the output format.
Documents are actually created using document generators. There is one document generator for each output format, which implements one or more of the report interfaces.
The report interfaces are very different:
=== TextDoc ===
This is used for creating text documents. It has a simple hierarchical structure:
Index marks can be attached to text within a paragraph.
=== DrawDoc ===
This is used for creating graphical documents. Its structure is almost flat:
The document elements Line, Polygon, Box and Text are placed within the frame according to co-ordinates specified in the report. The report interface determines the precise layout making this type of report more complex to write.
=== GVDoc ===
This is used for creating documents that represent mathematical graphs. A graph is a set of nodes, in which any two nodes can be joined by a line.
The report interface allows nodes, links and comments to be defined, but not their layout. The layout is defined by the document generator or external program.
 
= See also =
 
* [[Report API]].
 
[[Category:Developers/Reference]]
[[Category:GEPS|R]]
[[Category:Plugins]]
[[Category:Reports]]

Navigation menu