class TGLLockable

 TGLLockable

 Simple locking interface used by viewer and scene.

Function Members (Methods)

public:
TGLLockable()
virtual~TGLLockable()
static TClass*Class()
TGLLockable::ELockCurrentLock() const
virtual TClass*IsA() const
Bool_tIsDrawOrSelectLock() const
Bool_tIsLocked() const
virtual const char*LockIdStr() const
static const char*LockName(TGLLockable::ELock lock)
static Bool_tLockValid(TGLLockable::ELock lock)
Bool_tReleaseLock(TGLLockable::ELock lock) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Bool_tTakeLock(TGLLockable::ELock lock) const
private:
TGLLockable(const TGLLockable&)
TGLLockable&operator=(const TGLLockable&)

Data Members

public:
enum ELock { kUnlocked
kDrawLock
kSelectLock
kModifyLock
};
protected:
TGLLockable::ELockfLockLock state.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLLockable(const TGLLockable& )
 Constructor
Bool_t TakeLock(TGLLockable::ELock lock) const
 Lock the object in mode 'lock'. Return TRUE if successful, FALSE
 if the object is already locked.
Bool_t ReleaseLock(TGLLockable::ELock lock) const
 Release current lock, make sure it the same as the 'lock' argument.
 Returns TRUE on success, FALSE on failure.
const char* LockName(TGLLockable::ELock lock)
 Return name-string for given lock-type.
Bool_t LockValid(TGLLockable::ELock lock)
 Test if lock is a valid type to take/release.
 kUnlocked is never valid in these cases.
TGLLockable(const TGLLockable& )
TGLLockable& operator=(const TGLLockable& )
virtual ~TGLLockable()
{}
const char* LockIdStr()
{ return "<unknown>"; }
Bool_t IsLocked()
{ return (fLock != kUnlocked); }
ELock CurrentLock()
{ return fLock; }
Bool_t IsDrawOrSelectLock()
{ return fLock == kDrawLock || fLock == kSelectLock; }

Author: Matevz Tadel, Feb 2007
Last change: root/gl:$Id: TGLLockable.h 20882 2007-11-19 11:31:26Z rdm $
Last generated: 2008-06-25 08:41
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.