Mercurial > dillo_port1.3
view dw/alignedtextblock.hh @ 1117:483f789f6cae
rm current_bg_color
author | corvid <corvid@lavabit.com> |
---|---|
date | Fri, 22 May 2009 09:09:21 +0200 |
parents | e5955ab8dafb |
children | 4704ad910042 |
line wrap: on
line source
#ifndef __DW_ALIGNEDTEXTBLOCK_HH__ #define __DW_ALIGNEDTEXTBLOCK_HH__ #include "core.hh" #include "textblock.hh" namespace dw { /** * \brief Base widget for all textblocks (sub classes of dw::Textblock), which * are positioned vertically and aligned horizontally. */ class AlignedTextblock: public Textblock { private: class List { private: misc::SimpleVector <AlignedTextblock*> *textblocks; misc::SimpleVector <int> *values; int maxValue, refCount; ~List (); public: List (); inline int add (AlignedTextblock *textblock); void unref (int pos); inline int getMaxValue () { return maxValue; } inline void setMaxValue (int maxValue) { this->maxValue = maxValue; } inline int size () { return textblocks->size (); } inline AlignedTextblock *getTextblock (int pos) { return textblocks->get (pos); } inline int getValue (int pos) {return values->get (pos); } inline void setValue (int pos, int value) { return values->set (pos, value); } }; List *list; int listPos; protected: AlignedTextblock(bool limitTextWidth); virtual int getValue () = 0; virtual void setMaxValue (int maxValue, int value) = 0; void setRefTextblock (AlignedTextblock *ref); void updateValue (); public: static int CLASS_ID; ~AlignedTextblock(); }; } // namespace dw #endif // __DW_ALIGNEDTEXTBLOCK_HH__