OpenMW
apps/openmw/mwgui/bookwindow.hpp
Go to the documentation of this file.
00001 #ifndef MWGUI_BOOKWINDOW_H
00002 #define MWGUI_BOOKWINDOW_H
00003 
00004 #include "windowbase.hpp"
00005 
00006 #include "../mwworld/ptr.hpp"
00007 
00008 #include "imagebutton.hpp"
00009 
00010 namespace MWGui
00011 {
00012     class BookWindow : public WindowBase
00013     {
00014         public:
00015             BookWindow();
00016 
00017             void open(MWWorld::Ptr book);
00018             void setTakeButtonShow(bool show);
00019             void nextPage();
00020             void prevPage();
00021             void setInventoryAllowed(bool allowed);
00022 
00023         protected:
00024             void onNextPageButtonClicked (MyGUI::Widget* sender);
00025             void onPrevPageButtonClicked (MyGUI::Widget* sender);
00026             void onCloseButtonClicked (MyGUI::Widget* sender);
00027             void onTakeButtonClicked (MyGUI::Widget* sender);
00028 
00029             void updatePages();
00030             void clearPages();
00031             void adjustButton(MWGui::ImageButton* button);
00032 
00033         private:
00034             MWGui::ImageButton* mCloseButton;
00035             MWGui::ImageButton* mTakeButton;
00036             MWGui::ImageButton* mNextPageButton;
00037             MWGui::ImageButton* mPrevPageButton;
00038             MyGUI::TextBox* mLeftPageNumber;
00039             MyGUI::TextBox* mRightPageNumber;
00040             MyGUI::Widget* mLeftPage;
00041             MyGUI::Widget* mRightPage;
00042 
00043             unsigned int mCurrentPage; // 0 is first page
00044             std::vector<MyGUI::Widget*> mPages;
00045 
00046             MWWorld::Ptr mBook;
00047 
00048             bool mTakeButtonShow;
00049             bool mTakeButtonAllowed;
00050     };
00051 
00052 }
00053 
00054 #endif