diff options
Diffstat (limited to 'src/ui/listitem.h')
-rw-r--r-- | src/ui/listitem.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/ui/listitem.h b/src/ui/listitem.h new file mode 100644 index 0000000..a107ed5 --- /dev/null +++ b/src/ui/listitem.h @@ -0,0 +1,44 @@ +/* + ui/listitem.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_LISTITEM_H__ +#define __INCLUDED_UI_LISTITEM_H__ + +#include <string> + +#include "core/info.h" +#include "ui/label.h" +#include "ui/listview.h" + +namespace ui +{ +class ListItem : public Label { +public: + ListItem(ListView *parent, const char * text); + ~ListItem(); + + inline const core::Info *info() const { + return listitem_info; + } + + inline void set_info(const core::Info *info) { + listitem_info = info; + } + +protected: + /// keypress event handler + virtual bool on_keypress(const int key, const unsigned int modifier); + + /// draw the button border + virtual void draw_border(); + +private: + const core::Info *listitem_info; +}; + +} // namespace ui + +#endif // __INCLUDED_UI_LISTITEM_H__ |