WapReport class abstract

A grouped, paginated report (WML <report> with <group> and <page>).

Subclasses say how records are read (fetchFirst, fetchNext, fetchPrior), what the group values are (expression) and what each block outputs (parseBlock); run drives the groups and page breaks, and WapPage shows and prints the result.

Constructors

WapReport()

Properties

columns → List<(double?, String)>
no setter
hashCode → int
The hash code for this object.
no setterinherited
lines → List<WapLine>
The output lines produced by run.
final
linesPerRecord → int
Number of output lines one record takes.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
wap → WapStorage
Settings and counters; set WapStorage.wapLpp and WapStorage.wapGroups in initParams.
final

Methods

buildHtml() → String
The whole report as HTML.
buildPdf({String orient = 'P', String paper = 'A4', String fontAsset = 'assets/fonts/NotoSansTC-Regular.ttf'}) → Future<Uint8List>
@@@ 2026-08-21 How PDFs are generated: native WebView + PrintDocumentAdapter.
emit(String text, {bool isHeader = false, bool isFooter = false, String tag = ''}) → void
Outputs text without counting it as a line (table openings and closings).
emitRow(String html, {bool isHeader = false, bool isFooter = false}) → void
Prints a single line —— regardless of whether it comes from the main report, or from a sub-report at any nesting level (device="sub").
expression(int idx) → String
Value of group level idx; a new group starts when it changes (WML <group change>).
fetchFirst() → Future<bool>
Moves to the first record; returns false when there is none.
fetchNext() → Future<bool>
Moves to the next record; returns false at the end.
fetchPrior() → Future<void>
Moves back one record (used before a group's suffix is output).
forcePageBreak() → void
Ends the current page and starts a new one (WML <newpage/>); no blank page is produced.
initParams() → void
Sets lines per page, the number of group levels and their block ids.
lineToColumns(WapLine line) → List<String>
Splits a tab-separated line into columns.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onGroupPrepare() → Future<void>
Asynchronous preparation before a group starts, e.g. querying the group's totals.
parseBlock(String blockId) → void
Outputs block blockId: PREFIX, PAGEPREFIX, G1_PREFIX…, RECORD, G1_SUFFIX…, PAGESUFFIX, PAGEBREAK or SUFFIX.
run() → Future<void>
Runs the report: reads every record and fills lines.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited