/* client/buymenu.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_CLIENT_BUYMENU_H__ #define __INCLUDED_CLIENT_BUYMENU_H__ #include "core/info.h" #include "ui/container.h" #include "ui/button.h" #include "ui/label.h" #include "ui/modelview.h" #include "ui/window.h" #include "ui/scrollpane.h" namespace client { /// The buy menu is used to trade a single item, like a ship or an upgrade class BuyMenu : public ui::Window { public: /// create a new menu BuyMenu(ui::Widget *parent, const char * label = 0); ~BuyMenu(); void set_item(std::string const & itemtype, std::string const & itemname); protected: /// resize event virtual void resize(); /// draw event virtual void draw(); /// keypress event handler virtual bool on_keypress(const int key, const unsigned int modifier); private: ui::Window *menu_modelpane; ui::Window *menu_textpane; ui::Label *menu_namelabel; ui::ScrollPane *menu_scrollpane; ui::Button *menu_closebutton; ui::Button *menu_buybutton; ui::ModelView *menu_modelview; std::string menu_itemtype; std::string menu_itemname; core::Info *menu_inforecord; ui::Text menu_infotext; unsigned long menu_infotimestamp; }; } #endif // __INCLUDED_CLIENT_BUYMENU_H__