OpendTect  6.3
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ChangeRecorder Class Referenceabstract

base class for recorder of changes in a Monitorable More...

Inheritance diagram for ChangeRecorder:
[legend]

Classes

class  Record
 

Public Types

enum  Action { Undo, Redo }
 
- Public Types inherited from Monitorable
typedef int ChangeType
 
typedef int64_t IDType
 
typedef int64_t DirtyCountType
 
typedef CNotifier< Monitorable, ChangeDataChangeDataNotifier
 

Public Member Functions

 ~ChangeRecorder ()
 
 ChangeRecorder (const ChangeRecorder &)
 
ChangeRecorderoperator= (const ChangeRecorder &)
 
bool operator== (const ChangeRecorder &) const
 
bool operator!= (const ChangeRecorder &oth) const
 
virtual ChangeRecorderclone () const
 
ChangeType compareWith (const Monitorable &) const
 
bool isEmpty () const
 
void setEmpty ()
 
bool canApply (Action) const
 
uiString usrText (Action) const
 
bool apply (Action)
 
- Public Member Functions inherited from NamedMonitorable
 NamedMonitorable (const char *nm=0)
 
 NamedMonitorable (const NamedObject &)
 
virtual ~NamedMonitorable ()
 
 NamedMonitorable (const NamedMonitorable &)
 
NamedMonitorableoperator= (const NamedMonitorable &)
 
bool operator== (const NamedMonitorable &) const
 
bool operator!= (const NamedMonitorable &oth) const
 
ChangeType compareWith (const Monitorable &) const
 
virtual NamedMonitorablegetClone () const
 
virtual BufferString getName () const
 
virtual void setName (const char *)
 
- Public Member Functions inherited from Monitorable
 Monitorable (const Monitorable &)
 
virtual ~Monitorable ()
 
Monitorableoperator= (const Monitorable &)
 
bool operator== (const Monitorable &) const
 
virtual ChangeDataNotifierobjectChanged () const
 
virtual Notifier< Monitorable > & objectToBeDeleted () const
 
virtual void touch () const
 
virtual DirtyCountType dirtyCount () const
 
void sendChangeNotification (const ChangeData &) const
 
void sendEntireObjectChangeNotification () const
 
void transferNotifsTo (const Monitorable &, const CallBacker *onlyfor=0) const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
bool getNameFromPar (const IOPar &)
 
void putNameInPar (IOPar &) const
 

Protected Types

typedef ObjectSet< Record >::size_type IdxType
 
- Protected Types inherited from Monitorable
typedef Threads::Atomic< DirtyCountTypeDirtyCounter
 

Protected Member Functions

void copyAll (const ChangeRecorder &)
 
 ChangeRecorder (Monitorable &, const char *nm)
 
 ChangeRecorder (const Monitorable &, const char *)
 
void clear ()
 
void objDel (CallBacker *)
 
void objChg (CallBacker *)
 
IdxType gtIdx (Action) const
 
void addRec (Record *)
 
virtual void handleObjChange (const ChangeData &)=0
 
- Protected Member Functions inherited from NamedMonitorable
void copyAll (const NamedMonitorable &)
 
- Protected Member Functions inherited from Monitorable
 Monitorable ()
 
void copyAll (const Monitorable &)
 
void sendChgNotif (AccessLocker &, const ChangeData &) const
 calls objectChanged with released lock More...
 
void sendChgNotif (AccessLocker &, ChangeType, IDType) const
 calls objectChanged with released lock More...
 
void sendDelNotif () const
 
void stopChangeNotifications () const
 
void resumeChangeNotifications () const
 
template<class T >
getMemberSimple (const T &) const
 the get function used by mImplSimpleMonitoredGet More...
 
template<class TMember , class TSetTo >
void setMemberSimple (TMember &, TSetTo, ChangeType, IDType)
 the set function used by mImplSimpleMonitoredSet More...
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Protected Attributes

Monitorableobj_
 
ObjectSet< Recordrecs_
 
IdxType idx4redo_
 
bool applying_
 
- Protected Attributes inherited from Monitorable
Threads::Lock accesslock_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Private Member Functions

void copyClassData (const ChangeRecorder &)
 
ChangeType compareClassData (const ChangeRecorder &) const
 
void init ()
 

Additional Inherited Members

- Static Public Member Functions inherited from NamedMonitorable
static Notifier< NamedMonitorable > & instanceCreated ()
 
static ChangeType cNameChange ()
 
- Static Public Member Functions inherited from Monitorable
static Notifier< Monitorable > & instanceCreated ()
 defines static instanceCreated() More...
 
static ChangeType cEntireObjectChange ()
 
static ChangeType cNoChange ()
 
static IDType cUnspecChgID ()
 
static IDType cEntireObjectChgID ()
 
static ChangeType changeNotificationTypeOf (CallBacker *)
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Detailed Description

base class for recorder of changes in a Monitorable

Member Typedef Documentation

typedef ObjectSet<Record>::size_type ChangeRecorder::IdxType
protected

Member Enumeration Documentation

Enumerator
Undo 
Redo 

Constructor & Destructor Documentation

ChangeRecorder::~ChangeRecorder ( )
ChangeRecorder::ChangeRecorder ( const ChangeRecorder )
ChangeRecorder::ChangeRecorder ( Monitorable ,
const char *  nm 
)
protected
ChangeRecorder::ChangeRecorder ( const Monitorable ,
const char *   
)
protected

Member Function Documentation

void ChangeRecorder::addRec ( Record )
protected
bool ChangeRecorder::apply ( Action  )
bool ChangeRecorder::canApply ( Action  ) const
void ChangeRecorder::clear ( )
protected
virtual ChangeRecorder* ChangeRecorder::clone ( ) const
inlinevirtual

Reimplemented from NamedMonitorable.

ChangeType ChangeRecorder::compareClassData ( const ChangeRecorder ) const
private
ChangeType ChangeRecorder::compareWith ( const Monitorable ) const
virtual

Reimplemented from Monitorable.

void ChangeRecorder::copyAll ( const ChangeRecorder )
protected
void ChangeRecorder::copyClassData ( const ChangeRecorder )
private
IdxType ChangeRecorder::gtIdx ( Action  ) const
protected
virtual void ChangeRecorder::handleObjChange ( const ChangeData )
protectedpure virtual

Implemented in Pick::SetChangeRecorder.

void ChangeRecorder::init ( )
private
bool ChangeRecorder::isEmpty ( ) const
void ChangeRecorder::objChg ( CallBacker )
protected
void ChangeRecorder::objDel ( CallBacker )
protected
bool ChangeRecorder::operator!= ( const ChangeRecorder oth) const
inline
ChangeRecorder& ChangeRecorder::operator= ( const ChangeRecorder )
bool ChangeRecorder::operator== ( const ChangeRecorder ) const
void ChangeRecorder::setEmpty ( )
uiString ChangeRecorder::usrText ( Action  ) const

Member Data Documentation

bool ChangeRecorder::applying_
protected
IdxType ChangeRecorder::idx4redo_
protected
Monitorable* ChangeRecorder::obj_
protected
ObjectSet<Record> ChangeRecorder::recs_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017