#include <ObserverWrap.h>
Inheritance diagram for ObserverWrap:
Definition at line 29 of file ObserverWrap.h.
Public Member Functions | |
ObserverWrap (const Observer &) | |
ObserverWrap () | |
ObserverWrap (PyObject *self) | |
The constructor. | |
void | update (const Observable *) |
| |
virtual void | willDelete (const Observable *) |
Notifies this Observer object that one of its Observable objects is about to be deleted. | |
Private Member Functions | |
template<class T> | |
boost::python::object | get_owner (T *me) const |
Find the Python object that owns this object. | |
Private Attributes | |
PyObject * | m_self |
The held Python object. |
ObserverWrap | ( | PyObject * | self | ) |
The constructor.
Definition at line 60 of file ObserverWrap.cxx.
ObserverWrap | ( | ) |
Definition at line 67 of file ObserverWrap.cxx.
ObserverWrap | ( | const Observer & | ) |
Definition at line 73 of file ObserverWrap.cxx.
object get_owner | ( | T * | me | ) | const [inline, private] |
Find the Python object that owns this object.
Definition at line 82 of file ObserverWrap.cxx.
Referenced by ObserverWrap::update().
void update | ( | const Observable * | ) | [virtual] |
Implements Observer.
Definition at line 95 of file ObserverWrap.cxx.
References ObserverWrap::get_owner().
void willDelete | ( | const Observable * | ) | [virtual, inherited] |
Notifies this
Observer object that one of its Observable objects is about to be deleted.
Since most Observable objects are owned by its Observer, it is the Observer that issued the delete. Thus the default implementation here does nothing. Derived classes that observe objects owned by another should implement this method to remove the Observable from the list they are observing.
Reimplemented in FunctionRep, DataSourceController, ViewBase, CutPlotter, TextPlotter, BinningProjector, DyHist1DProjector, DyHist2DProjector, NTupleProjector, Profile2DProjector, ProfileProjector, and RootController.
Definition at line 25 of file Observer.cxx.
Referenced by DataRep::~DataRep(), DataSource::~DataSource(), NTuple::~NTuple(), PlotterBase::~PlotterBase(), RootNTuple::~RootNTuple(), and RTuple::~RTuple().
PyObject* m_self [private] |