kexi

#include <kexisimpleprintingengine.h>

Inherits TQObject.

Public Slots

void paintPage (int pageNumber, TQPainter &painter, bool paint=true)
 

Public Member Functions

 KexiSimplePrintingEngine (const KexiSimplePrintingSettings &settings, TQObject *parent)
 
bool init (KexiDB::Connection &conn, KexiDB::TableOrQuerySchema &tableOrQuery, const TQString &titleText, TQString &errorMessage)
 
void setTitleText (const TQString &titleText)
 
void calculatePagesCount (TQPainter &painter)
 
bool done ()
 
void clear ()
 
const KexiSimplePrintingSettings * settings () const
 
bool eof () const
 
uint pagesCount () const
 
uint paintedPages () const
 

Protected Member Functions

void paintRecord (TQPainter &painter, KexiTableItem *item, int cellMargin, double &y, uint paintedRows, bool paint, bool printing)
 

Protected Attributes

const KexiSimplePrintingSettings * m_settings
 
TQFont m_mainFont
 
TQFont m_headerFont
 
TQPaintDeviceMetrics m_pdm
 
double m_dpiX
 
double m_dpiY
 
uint m_pageWidth
 
uint m_pageHeight
 
uint m_SCALE
 
KexiDB::Cursor * m_cursor
 
KexiTableViewData * m_data
 
TQPtrList< uint > m_dataOffsets
 
TQString m_headerText
 
TQString m_dateTimeText
 
uint m_dateTimeWidth
 
TQRect m_headerTextRect
 
int m_maxFieldNameWidth
 
int m_mainLineSpacing
 
int m_footerHeight
 
KexiDB::QueryColumnInfo::Vector m_fieldsExpanded
 
uint m_visibleFieldsCount
 
uint m_pagesCount
 
bool m_eof
 
bool m_paintInitialized
 
double m_leftMargin
 
double m_rightMargin
 
double m_topMargin
 
double m_bottomMargin
 
double m_fx
 
double m_fy
 

Detailed Description

An engine painting data on pages using TQPainter. The engine allows for random access to any page.

Definition at line 57 of file kexisimpleprintingengine.h.

Constructor & Destructor Documentation

◆ KexiSimplePrintingEngine()

KexiSimplePrintingEngine::KexiSimplePrintingEngine ( const KexiSimplePrintingSettings &  settings,
TQObject *  parent 
)

Definition at line 118 of file kexisimpleprintingengine.cpp.

◆ ~KexiSimplePrintingEngine()

KexiSimplePrintingEngine::~KexiSimplePrintingEngine ( )

Definition at line 131 of file kexisimpleprintingengine.cpp.

Member Function Documentation

◆ calculatePagesCount()

void KexiSimplePrintingEngine::calculatePagesCount ( TQPainter &  painter)

Calculates pafe count that can be later obtained using pagesCount().

Page count can depend on painter (printer/screen) and on printing settings.

Definition at line 539 of file kexisimpleprintingengine.cpp.

◆ clear()

void KexiSimplePrintingEngine::clear ( )

Definition at line 193 of file kexisimpleprintingengine.cpp.

◆ done()

bool KexiSimplePrintingEngine::done ( )

Definition at line 176 of file kexisimpleprintingengine.cpp.

◆ eof()

bool KexiSimplePrintingEngine::eof ( ) const
inline
Returns
true when all records has been painted

Definition at line 80 of file kexisimpleprintingengine.h.

◆ init()

bool KexiSimplePrintingEngine::init ( KexiDB::Connection &  conn,
KexiDB::TableOrQuerySchema &  tableOrQuery,
const TQString &  titleText,
TQString &  errorMessage 
)
Todo:
primitive: data should be loaded on demand

Definition at line 136 of file kexisimpleprintingengine.cpp.

◆ pagesCount()

uint KexiSimplePrintingEngine::pagesCount ( ) const
inline
Returns
number of pages. Can be used after calculatePagesCount().

Definition at line 83 of file kexisimpleprintingengine.h.

◆ paintedPages()

uint KexiSimplePrintingEngine::paintedPages ( ) const
inline
Returns
number of painted pages so far. If eof() is true, this number is equal to total page count.

Definition at line 87 of file kexisimpleprintingengine.h.

◆ paintPage

void KexiSimplePrintingEngine::paintPage ( int  pageNumber,
TQPainter &  painter,
bool  paint = true 
)
slot

Paints a page number pageNumber (counted from 0) on painter. If paint is false, drawings are only computed but not painted, so this can be used for calculating page number before printing or previewing.

Todo:
add setting
Todo:
break large records anyway...

Definition at line 202 of file kexisimpleprintingengine.cpp.

◆ paintRecord()

void KexiSimplePrintingEngine::paintRecord ( TQPainter &  painter,
KexiTableItem *  item,
int  cellMargin,
double &  y,
uint  paintedRows,
bool  paint,
bool  printing 
)
protected
Todo:
optimize like in KexiCSVExport::exportData()

todo inherit format

todo inherit format

todo inherit format

todo currency, decimal...

Definition at line 390 of file kexisimpleprintingengine.cpp.

◆ settings()

const KexiSimplePrintingSettings * KexiSimplePrintingEngine::settings ( ) const
inline

Definition at line 77 of file kexisimpleprintingengine.h.

◆ setTitleText()

void KexiSimplePrintingEngine::setTitleText ( const TQString &  titleText)

Definition at line 553 of file kexisimpleprintingengine.cpp.

Member Data Documentation

◆ m_bottomMargin

double KexiSimplePrintingEngine::m_bottomMargin
protected

Definition at line 127 of file kexisimpleprintingengine.h.

◆ m_cursor

KexiDB::Cursor* KexiSimplePrintingEngine::m_cursor
protected

Definition at line 108 of file kexisimpleprintingengine.h.

◆ m_data

KexiTableViewData* KexiSimplePrintingEngine::m_data
protected

Definition at line 109 of file kexisimpleprintingengine.h.

◆ m_dataOffsets

TQPtrList<uint> KexiSimplePrintingEngine::m_dataOffsets
protected

Definition at line 111 of file kexisimpleprintingengine.h.

◆ m_dateTimeText

TQString KexiSimplePrintingEngine::m_dateTimeText
protected

Definition at line 113 of file kexisimpleprintingengine.h.

◆ m_dateTimeWidth

uint KexiSimplePrintingEngine::m_dateTimeWidth
protected

Definition at line 114 of file kexisimpleprintingengine.h.

◆ m_dpiX

double KexiSimplePrintingEngine::m_dpiX
protected

Definition at line 104 of file kexisimpleprintingengine.h.

◆ m_dpiY

double KexiSimplePrintingEngine::m_dpiY
protected

Definition at line 104 of file kexisimpleprintingengine.h.

◆ m_eof

bool KexiSimplePrintingEngine::m_eof
protected

Definition at line 122 of file kexisimpleprintingengine.h.

◆ m_fieldsExpanded

KexiDB::QueryColumnInfo::Vector KexiSimplePrintingEngine::m_fieldsExpanded
protected

Definition at line 119 of file kexisimpleprintingengine.h.

◆ m_footerHeight

int KexiSimplePrintingEngine::m_footerHeight
protected

Definition at line 118 of file kexisimpleprintingengine.h.

◆ m_fx

double KexiSimplePrintingEngine::m_fx
protected

Definition at line 128 of file kexisimpleprintingengine.h.

◆ m_fy

double KexiSimplePrintingEngine::m_fy
protected

Definition at line 128 of file kexisimpleprintingengine.h.

◆ m_headerFont

TQFont KexiSimplePrintingEngine::m_headerFont
protected

Definition at line 102 of file kexisimpleprintingengine.h.

◆ m_headerText

TQString KexiSimplePrintingEngine::m_headerText
protected

Definition at line 112 of file kexisimpleprintingengine.h.

◆ m_headerTextRect

TQRect KexiSimplePrintingEngine::m_headerTextRect
protected

Definition at line 115 of file kexisimpleprintingengine.h.

◆ m_leftMargin

double KexiSimplePrintingEngine::m_leftMargin
protected

Definition at line 124 of file kexisimpleprintingengine.h.

◆ m_mainFont

TQFont KexiSimplePrintingEngine::m_mainFont
protected

Definition at line 102 of file kexisimpleprintingengine.h.

◆ m_mainLineSpacing

int KexiSimplePrintingEngine::m_mainLineSpacing
protected

Definition at line 117 of file kexisimpleprintingengine.h.

◆ m_maxFieldNameWidth

int KexiSimplePrintingEngine::m_maxFieldNameWidth
protected

Definition at line 116 of file kexisimpleprintingengine.h.

◆ m_pageHeight

uint KexiSimplePrintingEngine::m_pageHeight
protected

Definition at line 105 of file kexisimpleprintingengine.h.

◆ m_pagesCount

uint KexiSimplePrintingEngine::m_pagesCount
protected

Definition at line 121 of file kexisimpleprintingengine.h.

◆ m_pageWidth

uint KexiSimplePrintingEngine::m_pageWidth
protected

Definition at line 105 of file kexisimpleprintingengine.h.

◆ m_paintInitialized

bool KexiSimplePrintingEngine::m_paintInitialized
protected

used by paintPage()

Definition at line 123 of file kexisimpleprintingengine.h.

◆ m_pdm

TQPaintDeviceMetrics KexiSimplePrintingEngine::m_pdm
protected

Definition at line 103 of file kexisimpleprintingengine.h.

◆ m_rightMargin

double KexiSimplePrintingEngine::m_rightMargin
protected

Definition at line 125 of file kexisimpleprintingengine.h.

◆ m_SCALE

uint KexiSimplePrintingEngine::m_SCALE
protected

Definition at line 106 of file kexisimpleprintingengine.h.

◆ m_settings

const KexiSimplePrintingSettings* KexiSimplePrintingEngine::m_settings
protected

Definition at line 99 of file kexisimpleprintingengine.h.

◆ m_topMargin

double KexiSimplePrintingEngine::m_topMargin
protected

Definition at line 126 of file kexisimpleprintingengine.h.

◆ m_visibleFieldsCount

uint KexiSimplePrintingEngine::m_visibleFieldsCount
protected

Definition at line 120 of file kexisimpleprintingengine.h.


The documentation for this class was generated from the following files: