OOFILE  1.9
Modules | Files | Classes | Enumerations
Collaboration diagram for OOFILE Report writer:

Modules

 Multiple platform rendering
 Group rendering classes for each platform.
 
 Interfaces possibly implemented by report objects.
 This pattern is used to avoid use of RTTI within the OOFILE despatching, but still be able to use mixin approaches to add interfaces and members to some classes - which traditionally requires downcasting with dynamic_cast.
 
 Report Editing support
 Report preview windows allow editing with a user-overrideable editor, usually a dialog that can step through cells of the report.
 
 OOFILE Report writer Professional Version
 
 Report Reading From File
 Provide the ability to read a report from a single XML document.
 

Files

file  oofrepFwd.h
 Forward declare common report-writer classes.
 

Classes

class  dbRepPICTs
 dbTable used by oofRepMacGUIPreviewPP to store database of PICTs. More...
 
class  OOF_mixAdornable
 Mix in adorners with report objects (used mainly in oofrep.h). More...
 
class  OOF_repFinishConstructionVisitor
 Finish two-stage report init by visiting all items that have finishConstruction methods. More...
 
class  OOF_repMakeRenderVisitor
 Visit every report item that can be rendered to invoke makeRender. More...
 
class  oofAdorner
 Base object to derive adorners from. More...
 
class  oofAdornerList
 List of adorners attached to report element. More...
 
class  oofAdornerRender
 Abstract base rendering engine for the adorner model. More...
 
class  oofBandShadingAdorner
 Base for adorners specifying background shading for simple bands. More...
 
class  oofBandShadingAdorner_Render
 Abstract base for rendering oofBandShadingAdorner on specific oofRepEnvironment. More...
 
class  oofBorderAdorner
 Base for adorners specifying borders for grids. More...
 
class  oofBorderAdorner_Render
 Abstract base for rendering oofBorderAdorner on specific oofRepEnvironment. More...
 
class  oofDE
 Abstract report-writer drawing element. More...
 
class  oofPattern
 Provide cross-platform way to specify patterns. More...
 
class  oofPict
 Cross-platform picture representation can load from file or resource and draw. More...
 
class  oofPositionedDE
 Abstract report-writer drawing element with position. More...
 
class  oofRect
 Cross-platform way to specify rectangle with Mac-style setter. More...
 
class  oofRep
 Top level class for a report. More...
 
class  oofRepBandList
 List of bands attached to report or other bands, eg: page headers. More...
 
class  oofRepBlock
 Abstract base for a fixed-size block drawn by an oofRepLayoutBand. More...
 
class  oofRepBlockList
 List of blocks in an oofRepLayoutBand. More...
 
class  oofRepBracketedTextBlock
 Abstract base for drawing text content with some bracketing text in an oofRepLayoutBand. More...
 
class  oofRepBreak
 Calculation attached to an oofRepBand. More...
 
class  oofRepBreakEveryRecord
 Force break to a new page for each record drawn by oofRepViewBand. More...
 
class  oofRepBreakList
 List of Breaks attached to a report band. More...
 
class  oofRepCustomViewDrawer
 Abstract base for user column drawer. More...
 
class  oofRepData
 Maintain the context of report data to reset dbView's etc. More...
 
class  oofRepDefaultSettings
 Singleton used to initialise oofRepSettings. More...
 
class  oofRepEmptyRootBand
 Empty top band in a report used if composing all in headers. More...
 
class  oofRepEmptyRootBand_AnyRender
 Renders an empty band just allowing attached headers etc. More...
 
class  oofRepEnvironment
 Abstracts a drawing environment. More...
 
class  oofRepFieldBlock
 Specify a block to draw field contents with some bracketing text in an oofRepLayoutBand. More...
 
class  oofRepFreeImageBand
 Specify a fixed height band to draw an image from FreeImage. More...
 
class  oofRepFreeImageBand_Render
 Abstract base for rendering an oofRepFreeImageBand. More...
 
class  oofRepGraphBand
 Specify a fixed height band containing an oofGraph with additional height & width. More...
 
class  oofRepGraphBand_Render
 Abstract base for rendering an oofRepGraphBand. More...
 
class  oofRepIterableTreeBand
 Convenient top-level parent band mixing in all the exotic aspects. More...
 
class  oofRepLayoutBand
 Specify a fixed-height band that contains a series of oofRepBlock's. More...
 
class  oofRepLayoutBand_Render
 Abstract base for rendering an oofRepLayoutBand. More...
 
class  oofRepLineBand
 Specify a fixed height band to draw a horizontal line black or grey in given thickness. More...
 
class  oofRepLineBand_Render
 Abstract base for rendering an oofRepLineBand. More...
 
class  oofRepMulti
 Report that contains list of unrelated other reports as oofRepSection's. More...
 
class  oofRepPage
 Single page in a report writer preview window. More...
 
class  oofRepPageList
 Manage pages in a report writer preview. More...
 
class  oofRepPageNoBlock
 Specify a block to draw current page number with some bracketing text in an oofRepLayoutBand. More...
 
class  oofRepPageNoBlock_Render
 Abstract base for rendering an oofRepPageNoBlock within a oofRepLayoutBand. More...
 
class  oofRepPictBand
 Specify a fixed height band to draw an oofPict. More...
 
class  oofRepPictBand_Render
 Abstract base for rendering an oofRepPictBand. More...
 
class  oofRepPictBlock
 Specify a block to draw an oofPict in an oofRepLayoutBand. More...
 
class  oofRepPictBlock_Render
 Abstract base for rendering an oofRepPictBlock within a oofRepLayoutBand. More...
 
class  oofRepSchemaVisitor
 visits all dbViews in a report. More...
 
class  oofRepSection
 Wrapper for a report contained within an oofRepMulti. More...
 
class  oofRepSettings
 Settings object for overriding behaviours of an instance of oofRep. More...
 
class  oofRepSpaceBand
 Specify a band which provides a vertical gap on the page. More...
 
class  oofRepSpaceBand_Render
 Abstract base for rendering an oofRepSpaceBand. More...
 
class  oofRepStreamEnv
 Base environment for rendering to a text stream. More...
 
class  oofRepTextBlock
 Specify a block to draw mono-styled text in an oofRepLayoutBand. More...
 
class  oofRepTextBlock_Render
 Abstract base for rendering an oofRepTextBlock within a oofRepLayoutBand. More...
 
class  oofRepTextStylable
 Report elements that may have text style specified. More...
 
class  oofRepTextStyle
 Cross-platform specification of text style. More...
 
class  oofRepViewBand
 Most commonly used top band in a report. More...
 
class  oofRepViewBand_Render
 Abstract base for rendering an oofRepViewBand. More...
 
class  oofRepVisitor
 visits all report objects. More...
 
class  oofRepXMLsettings
 Creates XML environment and encapsulates other settings. More...
 
class  oofShadingAdorner
 Base for adorners specifying background shading for grids. More...
 
class  oofShadingAdorner_Render
 Base for adorners specifying background shading for simple bands. More...
 
class  oofSizedDE
 Abstract report-writer drawing element with position & rectangular size. More...
 
class  oofTextDE
 Abstract report-writer drawing element for piece of mono-styled text. More...
 
class  oofTextStyleDE
 Abstract report-writer drawing element for change of style between text items. More...
 
class  oofWinFreeImageDE
 Draw a picture using FreeImage in a report. More...
 
class  oofWinLineDE
 Draw a line in a report. More...
 
class  oofWinPictDE
 Draw an oofPict in a report. More...
 
class  oofWinRectDE
 Draw a rectangle in a report. More...
 
class  oofWinShadeDE
 Draw a filled rectangle in a report. More...
 
class  oofWinTextDE
 Draw text in Windows using current font settings. More...
 
class  oofWinTextStyleDE
 Change current font settings to affect all oofWinTextDE from now until next change. More...
 

Enumerations

enum  { oofRep::kBodyViewLevel =1 }
 
enum  oofAdorner::AdornerCellCode { oofAdorner::startStop, oofAdorner::startContinue, oofAdorner::continueStop, oofAdorner::continueContinue }
 
enum  oofAdorner::AdornerContextCode { oofAdorner::drawBefore, oofAdorner::drawAfter, oofAdorner::drawDuring }
 
enum  oofRepBlock::blockAlignT { oofRepBlock::alignLeft, oofRepBlock::alignCentre, oofRepBlock::alignRight }
 
enum  oofBorderAdorner::BorderCode {
  oofBorderAdorner::oneThin, oofBorderAdorner::twoThin, oofBorderAdorner::threeThin, oofBorderAdorner::oneThinOneThick,
  oofBorderAdorner::oneThickoneThin, oofBorderAdorner::oneThinOneThickOneThin
}
 
enum  oofPattern::ePattern {
  oofPattern::solid, oofPattern::white, oofPattern::black, oofPattern::gray,
  oofPattern::dkgray, oofPattern::ltgray, oofPattern::ltstripes, oofPattern::stripes,
  oofPattern::dkstripes, oofPattern::ltdots, oofPattern::dots, oofPattern::dkdots
}
 
enum  oofRepBandList::keepTogetherT { oofRepBandList::eDefaultTogether, oofRepBandList::eKeepTogether, oofRepBandList::eAllowSplit }
 

Detailed Description

GUI report previews on Mac and Windows, RTF, XML, HTML and plain text output on these plus Unix and other generic C++ platforms. Included in the Open Source OOFILE.

use \ingroup oofRW to include items in this group

Top Level Report Composition

An oofRep is composed of a tree of oofRepBand objects.Band types are broken into fixed height bands and bands which can break over pages.Fixed-height bands have draw() called once and are asked if they fit, with the oofRep managing page breaks.oofRepIterableTreeBand is used as the topmost of the tree of bands. It provides the two necessary interfaces for a topmost band:

Rendering Roles in Windows

oofRep::draw with an environment like oofRepWinPrint ends up recording a series of oofRepPage objects containing oofDE rendering elements.Within the MFC structure, for example, oofRepWindow::OnPrint will setup the bounding rectangle and call oofRepWinGUIPreviewMFC::drawPage() to render the actual page by setting up the environment then getting oofRepPage::draw to iterate telling its elements to draw.

Enumeration Type Documentation

anonymous enum
Enumerator
kBodyViewLevel 

Definition at line 582 of file oofrep.h.

Enumerator
startStop 
startContinue 
continueStop 
continueContinue 

Definition at line 36 of file oofadorn.h.

Enumerator
drawBefore 
drawAfter 
drawDuring 

Definition at line 35 of file oofadorn.h.

Enumerator
alignLeft 
alignCentre 
alignRight 

Definition at line 1410 of file oofrep.h.

Enumerator
oneThin 
twoThin 
threeThin 
oneThinOneThick 
oneThickoneThin 
oneThinOneThickOneThin 

Definition at line 142 of file oofadorn.h.

Enumerator
solid 
white 
black 
gray 
dkgray 
ltgray 
ltstripes 
stripes 
dkstripes 
ltdots 
dots 
dkdots 

Definition at line 77 of file oofcolor.h.

Enumerator
eDefaultTogether 
eKeepTogether 
eAllowSplit 

Definition at line 294 of file oofrep.h.