//---------------------------------------------------------------------------- // Project laskuri // // Copyright © 1996. All Rights Reserved. // // SUBSYSTEM: laskuri.apx Application // FILE: intlabel.h // AUTHOR: // // OVERVIEW // ~~~~~~~~ // Class definition for TIntLabel (TStatic). // //---------------------------------------------------------------------------- #if !defined(intlabel_h) // Sentry, use file only if it's not already included. #define intlabel_h #include //{{TStatic = TIntLabel}} class TIntLabel : public TStatic { // Oma luokka kokonaislukuikkunalle //------------------------------------------------------------------------------ int value; protected: virtual int display() { char s[20]; // int i=get(); int i=value; itoa(i,s,10); SetWindowText(s); return i; } public: TIntLabel(TWindow* parent, int id, int i, int x, int y, int w, int h, uint textLimit = 0, TModule* module = 0) : TStatic(parent,id,"0",x,y,w,h,textLimit,module) { Attr.Style |= SS_RIGHT; set(i); } TIntLabel(TWindow* parent, int resourceId, uint textLimit = 0, TModule* module = 0) : TStatic(parent,resourceId, textLimit, module) { set(0); } virtual int set(int i) { value = i; return display(); } virtual int get() const { return value; } virtual void update() { value = get(); display(); } virtual int operator=(int i) { return set(i); } virtual operator int() const { return get(); } virtual int operator++() { set(get()+1); return get(); } virtual int operator++(int) { int i=get(); set(get()+1); return i; } virtual int operator+=(int i) { set(get()+i); return get(); } virtual int operator-=(int i) { set(get()-i); return get(); } // virtual ~TIntLabel(); }; //{{TIntLabel}} inline ostream &operator<<(ostream &os, const TIntLabel &lab) { os << (int)lab; return os; } inline istream &operator>>(istream &is, TIntLabel &lab) { int i=0; is >> i; lab.set(i); return is; } #endif // intlabel_h sentry.