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

Areas in just one page. More...

#include <oofrepeditx.h>

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

Public Member Functions

void addInteractionArea (short inX, short inY, short inCol, long inRow, oofRepEditLink *, oofRepInteractorStrategy *inInteractor=0, short inWidth=0, short inHeight=0)
 
void addInteractionArea (const OOF_InteractionArea &)
 
void changeAreasToNewLink (long matchingRow, oofRepEditLink *matchingLink, oofRepEditLink *newLink)
 
unsigned long count () const
 
OOF_InteractionAreafindAreaBelowAndRightOf (short inX, short inY)
 
OOF_InteractionArealastAreaAdded () const
 may return NULL if none on page yet More...
 
bool more () const
 
void next ()
 
 OOF_InteractionPageAreas ()
 
void pageAdoptsEditLink (oofRepEditLink *)
 add edit link entry to page, which implies adoption of link if 1st time added to a page More...
 
void start ()
 
void startNonEditableArea (unsigned long newY)
 Sensible algorithm is only set those in the last row however earlier rows will then match due to their zero height. More...
 
virtual ~OOF_InteractionPageAreas ()
 

Protected Member Functions

virtual void * AllocBits (unsigned long) const
 
unsigned long AllocSlot ()
 
virtual void * CloneBits () const
 
virtual void DeleteBits (bool becauseExpanding)
 
void ExpandToInclude (unsigned long indexToCover)
 
bool Invariant () const
 Guarantee members managing storage are consistent. More...
 

Protected Attributes

OOF_InteractionAreamAreas
 typed reference to mBits More...
 
void * mBits
 
unsigned int mExpansionChunk
 
unsigned long mInternalIter
 
unsigned long mNextFreeEntry
 
unsigned long mNumSlots
 
OOF_ExpandableLongArray mOwnedLinks
 secondary array of owned objects More...
 
unsigned long mSlotSize
 
void ** mUserStorage
 

Detailed Description

Areas in just one page.

Assumes linearly ascending page coordinates used in searching findAreaBelowAndRightOf.

Definition at line 314 of file oofrepeditx.h.

Constructor & Destructor Documentation

OOF_InteractionPageAreas::OOF_InteractionPageAreas ( )

Definition at line 276 of file oofrepedit.cpp.

References mAreas, and oofArray::mUserStorage.

OOF_InteractionPageAreas::~OOF_InteractionPageAreas ( )
virtual

Member Function Documentation

void OOF_InteractionPageAreas::addInteractionArea ( short  inX,
short  inY,
short  inCol,
long  inRow,
oofRepEditLink inEditor,
oofRepInteractorStrategy inInteractor = 0,
short  inWidth = 0,
short  inHeight = 0 
)
void OOF_InteractionPageAreas::addInteractionArea ( const OOF_InteractionArea inArea)

Definition at line 367 of file oofrepedit.cpp.

References oofArray::AllocSlot(), and mAreas.

void * OOF_InteractionPageAreas::AllocBits ( unsigned long  numBits) const
protectedvirtual

Implements oofArray.

Definition at line 301 of file oofrepedit.cpp.

unsigned long oofArray::AllocSlot ( )
protectedinherited
void OOF_InteractionPageAreas::changeAreasToNewLink ( long  matchingRow,
oofRepEditLink matchingLink,
oofRepEditLink newLink 
)
void * oofArray::CloneBits ( ) const
protectedvirtualinherited
unsigned long oofArray::count ( ) const
inlineinherited
void OOF_InteractionPageAreas::DeleteBits ( bool  becauseExpanding)
protectedvirtual

Implements oofArray.

Definition at line 309 of file oofrepedit.cpp.

References mAreas.

Referenced by ~OOF_InteractionPageAreas().

void oofArray::ExpandToInclude ( unsigned long  indexToCover)
protectedinherited
OOF_InteractionArea * OOF_InteractionPageAreas::findAreaBelowAndRightOf ( short  inX,
short  inY 
)
bool oofArray::Invariant ( ) const
inlineprotectedinherited

Guarantee members managing storage are consistent.

Note: we assume a user may cause mInternalIter to go out of bounds.

Definition at line 183 of file oofarray.h.

References oofArray::mBits, oofArray::mNextFreeEntry, and oofArray::mNumSlots.

Referenced by oofArray::ExpandToInclude(), and oofArray::operator=().

OOF_InteractionArea * OOF_InteractionPageAreas::lastAreaAdded ( ) const

may return NULL if none on page yet

Definition at line 377 of file oofrepedit.cpp.

References oofArray::count(), and mAreas.

Referenced by oofRepEditingEnv::splitBandOverPage().

bool oofArray::more ( ) const
inlineinherited

Definition at line 204 of file oofarray.h.

References oofArray::mInternalIter, and oofArray::mNextFreeEntry.

void oofArray::next ( )
inlineinherited

Definition at line 211 of file oofarray.h.

References oofArray::mInternalIter.

void OOF_InteractionPageAreas::pageAdoptsEditLink ( oofRepEditLink inLink)

add edit link entry to page, which implies adoption of link if 1st time added to a page

Add edit links to index so for links that carry on over pages we can find out on which page they start, and adopt those starting on our page so we can clean them up later.

Definition at line 395 of file oofrepedit.cpp.

References OOF_ExpandableLongArray::append(), OOF_mixRefCount::incRefs(), and mOwnedLinks.

void oofArray::start ( )
inlineinherited

Definition at line 197 of file oofarray.h.

References oofArray::mInternalIter.

void OOF_InteractionPageAreas::startNonEditableArea ( unsigned long  newY)

Sensible algorithm is only set those in the last row however earlier rows will then match due to their zero height.

So must take care of all zero heights

Note main assumption is that a row either has zero height throughout or not, which matches the behaviour of view and layout bands.

A layout band mixing zero and fixed heights would be a problem!

Definition at line 428 of file oofrepedit.cpp.

References oofArray::count(), mAreas, OOF_InteractionArea::mHeight, and OOF_InteractionArea::Y.

Referenced by oofRepEditingEnv::startNonEditableArea().

Member Data Documentation

OOF_InteractionArea* OOF_InteractionPageAreas::mAreas
protected
void* oofArray::mBits
protectedinherited
unsigned int oofArray::mExpansionChunk
protectedinherited

Definition at line 106 of file oofarray.h.

Referenced by oofArray::ExpandToInclude(), oofArray::oofArray(), and oofArray::operator=().

unsigned long oofArray::mInternalIter
protectedinherited

Definition at line 105 of file oofarray.h.

Referenced by oofArray::more(), oofArray::next(), oofArray::operator=(), and oofArray::start().

unsigned long oofArray::mNextFreeEntry
protectedinherited
unsigned long oofArray::mNumSlots
protectedinherited
OOF_ExpandableLongArray OOF_InteractionPageAreas::mOwnedLinks
protected

secondary array of owned objects

Definition at line 336 of file oofrepeditx.h.

Referenced by pageAdoptsEditLink(), and ~OOF_InteractionPageAreas().

unsigned long oofArray::mSlotSize
protectedinherited

Definition at line 105 of file oofarray.h.

Referenced by oofArray::CloneBits(), and oofArray::ExpandToInclude().

void** oofArray::mUserStorage
protectedinherited

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