/* ui/label.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_UI_LABEL_H__ #define __INCLUDED_UI_LABEL_H__ #include #include "ui/widget.h" namespace ui { /// a widget displaying centered text class Label : public Widget { public: Label(Widget *parent, const char *text=0); ~Label(); /// set the text displayed by the label void set_text(std::string const &text); /// set the text displayed by the label void set_text(const char *text); /// return the text displayed by the label inline std::string const &text() const { return label_text; } /// print label description virtual void print(size_t indent); protected: /// draw the label virtual void draw(); /// draw the label text virtual void draw_text(); private: std::string label_text; }; } #endif // __INCLUDED_UI_LABEL_H__