VDigestDbEvent Class Reference

The VDigestDbEvent class is the base class of all Digest Database (DigestDb) view events. More...

#include <digestdbviewevents.h>

Inheritance diagram for VDigestDbEvent:

VEvent MvcEvent VClassesEvent VCollectionsEvent VExperimentsEvent VGesturesEvent VTrainedRecogsEvent VGesturesChangedClassesEvent VGesturesChangedCollectionsEvent List of all members.

Public Types

enum  Type {
  ClassesAdded = VEvent::User, ClassesAboutToBeRemoved, ClassesRemoved, ClassesUpdated,
  CollectionsAdded, CollectionsAboutToBeRemoved, CollectionsRemoved, CollectionsUpdated,
  ExperimentsAdded, ExperimentsAboutToBeRemoved, ExperimentsRemoved, ExperimentsUpdated,
  GesturesAdded, GesturesAboutToBeRemoved, GesturesChangedClasses, GesturesChangedCollections,
  GesturesRemoved, GesturesUpdated, TrainedRecogsAdded, TrainedRecogsAboutToBeRemoved,
  TrainedRecogsRemoved, TrainedRecogsUpdated, User = VEvent::User + 1000
}

Public Member Functions

 VDigestDbEvent (Type type, MvcBase *sender, QObject *originalSender)
virtual MvcModuleId_t moduleId () const
QObject * originalSender () const

Static Public Member Functions

static MvcModuleId_t classModuleId ()

Detailed Description

The VDigestDbEvent class is the base class of all Digest Database (DigestDb) view events.

The originalSender can be a very useful property. It was added to this system because when a new record that uses an auto-generated ID is inserted into the database, the caller may need to perform something in response to that that is dependent on that ID (known only once inserted) but only when it itself initiates the original insertion.

For example, the GestureBrowser allows the user to add a new "Class" when editing a gesture. In this case, it's intuitive to have the new class added to the gesture's list of classes. However, GestureBrowser can't blindly listen out for VDigestDbEvent::GesturesAdded events and perform this addition, as a new class may be added via something else, which should not be added to the gesture. Hence, the GestureBrowser should only update the gesture that's currenly being edited when the originalSender() is itself.

Remember that a burst of view events may be delivered at any time and in any order from one or more senders.


Member Enumeration Documentation

enum VDigestDbEvent::Type

Enumerator:
ClassesAdded 
ClassesAboutToBeRemoved 
ClassesRemoved  In case view needs more info to de-ref it.
ClassesUpdated  Use this to trigger SQL query re-select.
CollectionsAdded 
CollectionsAboutToBeRemoved 
CollectionsRemoved 
CollectionsUpdated 
ExperimentsAdded 
ExperimentsAboutToBeRemoved 
ExperimentsRemoved 
ExperimentsUpdated 
GesturesAdded 
GesturesAboutToBeRemoved 
GesturesChangedClasses 
GesturesChangedCollections 
GesturesRemoved 
GesturesUpdated 
TrainedRecogsAdded 
TrainedRecogsAboutToBeRemoved 
TrainedRecogsRemoved 
TrainedRecogsUpdated 
User 

Reimplemented from VEvent.


Constructor & Destructor Documentation

VDigestDbEvent::VDigestDbEvent ( Type  type,
MvcBase sender,
QObject *  originalSender 
) [inline]


Member Function Documentation

static MvcModuleId_t VDigestDbEvent::classModuleId (  )  [inline, static]

Returns MvcDigestDb::id().

Reimplemented from MvcEvent.

virtual MvcModuleId_t VDigestDbEvent::moduleId (  )  const [inline, virtual]

Returns classModuleId().

Reimplemented from MvcEvent.

QObject* VDigestDbEvent::originalSender (  )  const [inline]


The documentation for this class was generated from the following file:
Generated on Mon Jul 30 09:46:53 2007 for Digest by  doxygen 1.5.2