バナーをクリックすれば目次に戻ります
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);
