/* ui/text.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_PLAINTEXT_H__ #define __INCLUDED_UI_PLAINTEXT_H__ #include #include "ui/widget.h" namespace ui { /** * @brief a widget displaying unaligned text without wrapping */ class PlainText : public Widget { public: PlainText(Widget *parent, const char *text = 0); ~PlainText(); /** * @brief the text the widget is currently displaying */ inline const std::string & text() const { return widget_text; } /** * @brief set the text to be displayed * @param text text, can contain end-of-line characters */ void set_text(const std::string & text); /** * @brief set the text to be displayed * @param text text, can contain end-of-line characters */ void set_text(const char *text); /** * @brief clear the text */ void clear(); /// print widget description virtual void print(const size_t indent) const; protected: /// draw the widget virtual void draw(); private: std::string widget_text; }; } #endif // __INCLUDED_UI_PLAINTEXT_H__