Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dbGUI Class Reference
[OOFILE GUI forms interface.]

#include <oofgui.h>

Inheritance diagram for dbGUI:

Inheritance graph
[legend]
Collaboration diagram for dbGUI:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract manager coordinating dbHelper objects that manage interaction on a window.

Maps between framework-specific actions and the OOFILE equivalents, eg: providing stepping through records.


locking

bool recordAvailable () const
 Editing-aware check if record available.

void dontCareIfLocked ()
void careIfLocked ()

implement per-platform, no generic implementation

bool msgForOOFILE (const MessageT, void *ioParam)
void goHighlightedRecord (dbAbstractBrowseHelper *inBrowser)
void changedSelection (oofReceiver *dontNeedToTell=0)
bool isOOFILEcommandEnabled (long commandID, Boolean &outEnabled) const
bool isOOFILEmsg (const MessageT)

Public Member Functions

 dbGUI (dbTable *)
void gotoCurrentOrNewRec ()
 Provide a current record for the form to edit.

bool leaveRecord ()
 Get permission to leave record and unlock including commmit/abort transactions.

void newRecord ()
void saveRecord ()
void deleteRecord ()
void revertRecord ()
void cloneRecord ()
void goFirstRecord ()
void goNextRecord ()
void goPrevRecord ()
void goLastRecord ()
dbTablemainTable () const
void broadcast (OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
 Broadcast a message to all anonymous subscribers.

oofReceiveraskAllStoppingAtFirst (bool stopOn, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
bool askAllReturningAny (bool returnAny, OOFmsgT msg, unsigned long senderDefined=0, const oofReceiver *skipping=0)
bool isBroadcasting () const
void addReceiver (oofReceiver *)
 Append receiver to end of list.

void removeReceiver (const oofReceiver *)

Protected Member Functions

bool ConfirmDelete (const char *confirmMessage=0)
bool ConfirmRevert ()
dbAbstractBrowseHelperGetDisplayTableHandler (void *ioParam)
void BroadcastShutdown ()

Protected Attributes

OOF_ExpandableLongArraymReceivers
 owned

unsigned long mNestedBroadcastingDepth
 aid to debugging and removeReceiver

bool mLostReceiversWhileBroadcasting
 simple flag that removeReceiver was called during nested broadcast


Constructor & Destructor Documentation

dbGUI::dbGUI dbTable  ) 
 


Member Function Documentation

void oofBroadcaster::addReceiver oofReceiver addingReceiver  )  [inherited]
 

Append receiver to end of list.

Includes assertion to check if already in list.

bool oofBroadcaster::askAllReturningAny bool  returnAny,
OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
[inherited]
 

oofReceiver * oofBroadcaster::askAllStoppingAtFirst bool  stopOn,
OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
[inherited]
 

void oofBroadcaster::broadcast OOFmsgT  msg,
unsigned long  senderDefined = 0,
const oofReceiver skipping = 0
[inherited]
 

Broadcast a message to all anonymous subscribers.

Parameters:
msg constant value indicating the action or event that has occurred.
senderDefined additional param for caller to pass through
skipping a receiver to be skipped when broadcasting, to avoid circular messages
Todo:
use void* for senderDefined so can cope with values >32bits eg oidT in HUGE databases or 64bit pointers.

void oofBroadcaster::BroadcastShutdown  )  [protected, inherited]
 

void dbGUI::careIfLocked  )  [inline]
 

void dbGUI::changedSelection oofReceiver dontNeedToTell = 0  ) 
 

void dbGUI::cloneRecord  ) 
 

bool dbGUI::ConfirmDelete const char *  confirmMessage = 0  )  [protected]
 

bool dbGUI::ConfirmRevert  )  [protected]
 

void dbGUI::deleteRecord  ) 
 

void dbGUI::dontCareIfLocked  )  [inline]
 

dbAbstractBrowseHelper * dbGUI::GetDisplayTableHandler void *  ioParam  )  [protected]
 

void dbGUI::goFirstRecord  ) 
 

void dbGUI::goHighlightedRecord dbAbstractBrowseHelper inBrowser  ) 
 

void dbGUI::goLastRecord  ) 
 

void dbGUI::goNextRecord  ) 
 

void dbGUI::goPrevRecord  ) 
 

void dbGUI::gotoCurrentOrNewRec  ) 
 

Provide a current record for the form to edit.

bool oofBroadcaster::isBroadcasting  )  const [inline, inherited]
 

bool dbGUI::isOOFILEcommandEnabled long  commandID,
Boolean &  outEnabled
const
 

bool dbGUI::isOOFILEmsg const  MessageT  )  [static]
 

bool dbGUI::leaveRecord  ) 
 

Get permission to leave record and unlock including commmit/abort transactions.

Query all dependent dbHelper and other oofListener subscribers and leave if possible. Clears locks and transactions automatically.

Todo:
more sophisticated transaction unlocking

confirm that we need to commitRecord if cancelling

dbTable * dbGUI::mainTable  )  const [inline]
 

bool dbGUI::msgForOOFILE const  MessageT,
void *  ioParam
 

void dbGUI::newRecord  ) 
 

bool dbGUI::recordAvailable  )  const [inline]
 

Editing-aware check if record available.

it is possible a screen like a settings screen may have dbEditHelper's on a given table without intending to edit it, so will call dbGUI::dontCareIfLocked

void oofBroadcaster::removeReceiver const oofReceiver  )  [inherited]
 

void dbGUI::revertRecord  ) 
 

void dbGUI::saveRecord  ) 
 


Member Data Documentation

bool oofBroadcaster::mLostReceiversWhileBroadcasting [protected, inherited]
 

simple flag that removeReceiver was called during nested broadcast

unsigned long oofBroadcaster::mNestedBroadcastingDepth [protected, inherited]
 

aid to debugging and removeReceiver

OOF_ExpandableLongArray* oofBroadcaster::mReceivers [protected, inherited]
 

owned


The documentation for this class was generated from the following files:
Generated on Thu Jan 1 21:38:10 2004 for OOFILE by doxygen 1.3.5