バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWModel
#include <rw/model.h> (抽象基底クラス)
このクラスは、依存する RWModelClient オブジェクトのリストを保持します。メンバー関数 changed(void*) が呼び出されると、このリスト全体を走査し、各オブジェクトに対してそのオブジェクト自身を第 1 引数として updateFrom(RWModel*, void*) を呼び出します。RWModelClientのサブクラスが、この呼び出しを受け入れます。
#include <rw/model.h> class Dial : public RWModelClient { public: virtual void updateFrom(RWModel* m, void* d); }; class Thermostat : public RWModel { double setting; public: Thermostat( Dial* d ) { addDependent(d); } double temperature() const { return setting; } void setTemperature(double t) { setting = t; changed(); } }; void Dial::updateFrom(RWModel* m, void*) { Thermostat* t = (Thermostat*)m; double temp = t->temperature(); // グラフィックスを再描画する } |
RWModel();
void addDependent(RWModelClient* m);
void removeDependent(RWModelClient* m);
virtual void changed(void* d);