20#ifndef KEXISIMPLEPRINTINGENGINE_H
21#define KEXISIMPLEPRINTINGENGINE_H
25#include <kexidb/connection.h>
26#include <kexidb/tableschema.h>
27#include <kexidb/cursor.h>
28#include <kexidb/utils.h>
29#include <kexidb/queryschema.h>
30#include <widget/tableview/kexitableviewdata.h>
31#include <KoPageLayoutDia.h>
33#include <tqpaintdevicemetrics.h>
34#include <tqfontmetrics.h>
38class KexiSimplePrintingSettings
41 KexiSimplePrintingSettings();
42 ~KexiSimplePrintingSettings();
44 static KexiSimplePrintingSettings load();
47 KoPageLayout pageLayout;
50 bool addPageNumbers : 1;
51 bool addDateAndTime : 1;
52 bool addTableBorders : 1;
57class KexiSimplePrintingEngine : public TQObject
64 ~KexiSimplePrintingEngine();
67 const TQString& titleText, TQString& errorMessage);
69 void setTitleText( const TQString& titleText);
80 bool eof() const { return m_eof; }
93 void paintPage( int pageNumber, TQPainter& painter, bool paint = true);
96 void paintRecord(TQPainter& painter, KexiTableItem *item,
97 int cellMargin, double &y, uint paintedRows, bool paint, bool printing);
102 TQFont m_mainFont, m_headerFont;
103 TQPaintDeviceMetrics m_pdm;
104 double m_dpiX, m_dpiY;
105 uint m_pageWidth, m_pageHeight;
111 TQPtrList<uint> m_dataOffsets;
112 TQString m_headerText;
113 TQString m_dateTimeText;
114 uint m_dateTimeWidth;
115 TQRect m_headerTextRect;
116 int m_maxFieldNameWidth;
117 int m_mainLineSpacing;
119 KexiDB::QueryColumnInfo::Vector m_fieldsExpanded;
120 uint m_visibleFieldsCount;
125 double m_rightMargin;
127 double m_bottomMargin;
Provides database connection, allowing queries and data modification.
Provides database cursor functionality.
void paintPage(int pageNumber, TQPainter &painter, bool paint=true)
uint paintedPages() const
void paintRecord(TQPainter &painter, KexiTableItem *item, int cellMargin, double &y, uint paintedRows, bool paint, bool printing)
bool m_paintInitialized used by paintPage()
bool init(KexiDB::Connection &conn, KexiDB::TableOrQuerySchema &tableOrQuery, const TQString &titleText, TQString &errorMessage)
void calculatePagesCount(TQPainter &painter)
Settings data for simple printing engine.
static KexiSimplePrintingSettings load()
|