OOFILE  1.9
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members

Setup databases for editing. More...

Inheritance diagram for OOF_repEditSetupVisitor:
Inheritance graph
[legend]
Collaboration diagram for OOF_repEditSetupVisitor:
Collaboration graph
[legend]

Public Member Functions

 OOF_repEditSetupVisitor (bool settingBufferForever=true)
 
virtual void visit (oofRep *)
 Top-level that iterates all the others, encapsulating report structure. More...
 

Protected Member Functions

virtual void VisitDrawable (oofRepDrawable *)
 
virtual void VisitIterableBandBody (oofRepBand *)
 Set databases associated with view to mode where editing is sensible. More...
 
void VisitTypedBand (oofRepBand *)
 
virtual void VisitView (dbView *)
 Set buffer mode of main table as well as others associated with fields in the view. More...
 
Visit Associated band or break lists
virtual void VisitFirstPageHeaders (oofRepBandList &)
 
virtual void VisitFirstPageFooters (oofRepBandList &)
 
virtual void VisitPageHeaders (oofRepBandList &)
 
virtual void VisitPageFooters (oofRepBandList &)
 
virtual void VisitBody (oofRepBand *)
 that top body is likely to be complex so doesn't bother testing. More...
 
virtual void VisitBandHeaders (oofRepBandList &)
 
virtual void VisitBandFooters (oofRepBandList &)
 
virtual void VisitBandHeaderBreaks (oofRepBreakList &)
 
virtual void VisitBandFooterBreaks (oofRepBreakList &)
 
core visit methods
virtual void VisitBandList (oofRepBandList &)
 
virtual void VisitBreakList (oofRepBreakList &)
 
virtual void VisitBlockList (oofRepBlockList &)
 
virtual void VisitComplexBand (oofRepBand *)
 Visit a band which is likely to provide one or more optional interfaces. More...
 
virtual void VisitLayoutBand (oofRepLayoutBand *)
 
virtual void VisitBlock (oofRepBlock *)
 
virtual void VisitBand (oofRepBand *)
 
methods for subclass to visit adorners, not called by default visit traversal
virtual void VisitAdornerList (oofAdornerList &)
 
virtual void VisitAdorner (oofAdorner *)
 
override these if you need to update some kind of depth counter as the default traverses above are used
virtual void EnterLevel ()
 
virtual void LeaveLevel ()
 

Protected Attributes

oofRepmRep
 
bool mSettingBufferForever
 

Detailed Description

Setup databases for editing.

In initial implementation used dbTable::bufferForever so no changes in preview window would be propagated back to database. If overriden, could do any setup you liked.

Created by overrideable factory oofRepEditor::makeRepEditingSetupVisitor.

Definition at line 614 of file oofrepedit.cpp.

Constructor & Destructor Documentation

OOF_repEditSetupVisitor::OOF_repEditSetupVisitor ( bool  settingBufferForever = true)
inline

Definition at line 616 of file oofrepedit.cpp.

Member Function Documentation

void oofRepVisitor::EnterLevel ( )
protectedvirtualinherited
void oofRepVisitor::LeaveLevel ( )
protectedvirtualinherited
void oofRepVisitor::visit ( oofRep inRep)
virtualinherited
void oofRepVisitor::VisitAdorner ( oofAdorner )
protectedvirtualinherited

Reimplemented in OOF_repXMLadornerVisitor, and OOF_repMakeRenderVisitor.

Definition at line 1658 of file oofrep2.cpp.

Referenced by oofRepVisitor::VisitAdornerList().

void oofRepVisitor::VisitAdornerList ( oofAdornerList inList)
protectedvirtualinherited
void oofRepVisitor::VisitBand ( oofRepBand inBand)
protectedvirtualinherited
void oofRepVisitor::VisitBandFooterBreaks ( oofRepBreakList inBreaks)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1593 of file oofrep2.cpp.

References oofRepVisitor::VisitBreakList().

Referenced by oofRepVisitor::VisitComplexBand().

void oofRepVisitor::VisitBandFooters ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1579 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::VisitComplexBand().

void oofRepVisitor::VisitBandHeaderBreaks ( oofRepBreakList inBreaks)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1586 of file oofrep2.cpp.

References oofRepVisitor::VisitBreakList().

Referenced by oofRepVisitor::VisitComplexBand().

void oofRepVisitor::VisitBandHeaders ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1572 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::VisitComplexBand().

void oofRepVisitor::VisitBandList ( oofRepBandList inBands)
protectedvirtualinherited
void oofRepVisitor::VisitBlock ( oofRepBlock inBlock)
protectedvirtualinherited

Definition at line 1665 of file oofrep2.cpp.

References oofRepVisitor::VisitDrawable().

Referenced by oofRepVisitor::VisitBlockList().

void oofRepVisitor::VisitBlockList ( oofRepBlockList inBlocks)
protectedvirtualinherited
void oofRepVisitor::VisitBody ( oofRepBand inBand)
protectedvirtualinherited

that top body is likely to be complex so doesn't bother testing.

Definition at line 1563 of file oofrep2.cpp.

References oofRepVisitor::EnterLevel(), oofRepVisitor::LeaveLevel(), and oofRepVisitor::VisitComplexBand().

void oofRepVisitor::VisitBreakList ( oofRepBreakList inBreaks)
protectedvirtualinherited
void oofRepVisitor::VisitComplexBand ( oofRepBand inBand)
protectedvirtualinherited
void oofRepSchemaVisitor::VisitDrawable ( oofRepDrawable inDrawable)
protectedvirtualinherited

Reimplemented from oofRepVisitor.

Definition at line 152 of file oofrep1.cpp.

References oofRepDrawable::view().

void oofRepVisitor::VisitFirstPageFooters ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1539 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::visit().

void oofRepVisitor::VisitFirstPageHeaders ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1532 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::visit().

void OOF_repEditSetupVisitor::VisitIterableBandBody ( oofRepBand inBand)
protectedvirtual

Set databases associated with view to mode where editing is sensible.

Set editable state as well as buffer mode like OOF_repBufferSettingVisitor::VisitView. This is optimised by incorporating the logic from OOF_repBufferSettingVisitor so we do a single pass across the table and its fields.

We play it very safe by worrying about whether a field is a join key even if there are no dependents on that join in the report. This simplifies tracing the dependencies at the cost of a bit more lookup work below.

Note
it is quite legal for an iterable band to NOT have a view (eg: oofRepEmptyRootBand)
Todo:
enhance asColumnarBand() state to cope with columnar bands that aren't view based (low priority)

Reimplemented from oofRepVisitor.

Definition at line 641 of file oofrepedit.cpp.

References oofRepBand::asColumnarBand(), dbTable::bufferForever, OOF_Dictionary::count(), dbView::field(), dbField::fieldIsJoinKey(), dbField::fieldIsVirtual(), dbField::fieldTable(), dbTable::isRelatedClone(), OOF_repBufferSettingVisitor::mSettingBufferForever, dbTable::requireExplicit, dbTable::requireExplicitAndBuffer, OOF_mixColumnarBand::setFieldNonEditable(), dbTable::setSaveOption(), dbView::table(), and oofRepDrawable::view().

void oofRepVisitor::VisitLayoutBand ( oofRepLayoutBand inBand)
protectedvirtualinherited
void oofRepVisitor::VisitPageFooters ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1553 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::visit().

void oofRepVisitor::VisitPageHeaders ( oofRepBandList inBands)
protectedvirtualinherited

Reimplemented in OOF_repXMLlayoutVisitor.

Definition at line 1546 of file oofrep2.cpp.

References oofRepVisitor::VisitBandList().

Referenced by oofRepVisitor::visit().

void oofRepVisitor::VisitTypedBand ( oofRepBand inBand)
protectedinherited
void OOF_repBufferSettingVisitor::VisitView ( dbView inView)
protectedvirtualinherited

Set buffer mode of main table as well as others associated with fields in the view.

Implements oofRepSchemaVisitor.

Definition at line 120 of file oofrep1.cpp.

References dbTable::bufferForever, OOF_Dictionary::count(), dbView::field(), dbField::fieldTable(), dbTable::isRelatedClone(), dbTable::requireExplicit, dbTable::requireExplicitAndBuffer, dbTable::setSaveOption(), and dbView::table().

Member Data Documentation

oofRep* oofRepVisitor::mRep
protectedinherited
bool OOF_repBufferSettingVisitor::mSettingBufferForever
protectedinherited

Definition at line 1829 of file oofrep.h.

Referenced by VisitIterableBandBody().


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