OpenMW
apps/openmw/mwgui/spellbuyingwindow.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_SpellBuyingWINDOW_H
00002 #define MWGUI_SpellBuyingWINDOW_H
00003 
00004 #include "windowbase.hpp"
00005 #include "referenceinterface.hpp"
00006 
00007 namespace MyGUI
00008 {
00009   class Gui;
00010   class Widget;
00011 }
00012 
00013 namespace MWGui
00014 {
00015     class WindowManager;
00016 }
00017 
00018 
00019 namespace MWGui
00020 {
00021     class SpellBuyingWindow : public ReferenceInterface, public WindowBase
00022     {
00023         public:
00024             SpellBuyingWindow();
00025 
00026             void startSpellBuying(const MWWorld::Ptr& actor);
00027 
00028         protected:
00029             MyGUI::Button* mCancelButton;
00030             MyGUI::TextBox* mPlayerGold;
00031 
00032             MyGUI::ScrollView* mSpellsView;
00033 
00034             std::map<MyGUI::Widget*, std::string> mSpellsWidgetMap;
00035 
00036             void onCancelButtonClicked(MyGUI::Widget* _sender);
00037             void onSpellButtonClick(MyGUI::Widget* _sender);
00038             void onMouseWheel(MyGUI::Widget* _sender, int _rel);
00039             void addSpell(const std::string& spellID);
00040             void clearSpells();
00041             int mLastPos,mCurrentY;
00042 
00043             static const int sLineHeight;
00044 
00045             void updateLabels();
00046 
00047             virtual void onReferenceUnavailable();
00048 
00049             bool playerHasSpell (const std::string& id);
00050     };
00051 }
00052 
00053 #endif