Implements the "Model" leg of a Model-View-Controller architecture. More...
#include <rw/model.h>
Public Member Functions | |
RWModel () | |
RWModel (const RWModel &m) | |
RWModel (RWModel &&m) | |
void | addDependent (RWModelClient *m) |
virtual void | changed (void *d=0) |
const RWOrdered * | dependents () const |
RWModel & | operator= (const RWModel &m) |
RWModel & | operator= (RWModel &&m) |
void | removeDependent (RWModelClient *m) |
void | swap (RWModel &m) |
This abstract base class has been designed to implement the "Model" leg of a Model-View-Controller architecture. A companion class, RWModelClient, supplies the "View" leg.
It maintains a list of dependent RWModelClient objects. When member function changed(void*) is called, the list of dependents is traversed, calling RWModelClient::updateFrom(RWModel*, void*) for each one, with itself as the first argument. Subclasses of RWModelClient should be prepared to accept such a call.
Program output:
RWModel::RWModel | ( | ) |
Sets up the internal ordered list of dependents when called by the specializing class.
RWModel::RWModel | ( | const RWModel & | m | ) |
Copy constructor. The constructed instance gets a copy of the dependents list from m.
RWModel::RWModel | ( | RWModel && | m | ) |
Move constructor. The constructed instance takes ownership of the dependents list owned by m.
void RWModel::addDependent | ( | RWModelClient * | m | ) |
Adds the object pointed to by m to the list of dependents of self.
|
virtual |
Traverse the internal list of dependents, calling member function RWModelClient::updateFrom(RWModel*, void*) for each one, with self as the first argument and d as the second argument.
|
inline |
Allows a peek at the dependent list.
Assignment operator. Self gets a copy of the dependents list from m.
Move assignment. Self takes ownership of the dependents list owned by m.
void RWModel::removeDependent | ( | RWModelClient * | m | ) |
Removes the object pointed to by m from the list of dependents of self.
void RWModel::swap | ( | RWModel & | m | ) |
Swaps the list of dependents in self with that of m.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |