OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
bookwindow.hpp
Go to the documentation of this file.
1 #ifndef MWGUI_BOOKWINDOW_H
2 #define MWGUI_BOOKWINDOW_H
3 
4 #include "windowbase.hpp"
5 
6 #include "../mwworld/ptr.hpp"
7 
9 
10 namespace MWGui
11 {
12  class BookWindow : public WindowBase
13  {
14  public:
15  BookWindow();
16 
17  void setPtr(const MWWorld::Ptr& book);
18  void setInventoryAllowed(bool allowed);
19 
20  void onResChange(int, int) { center(); }
21 
22  protected:
23  void onNextPageButtonClicked (MyGUI::Widget* sender);
24  void onPrevPageButtonClicked (MyGUI::Widget* sender);
25  void onCloseButtonClicked (MyGUI::Widget* sender);
26  void onTakeButtonClicked (MyGUI::Widget* sender);
27  void onMouseWheel(MyGUI::Widget* _sender, int _rel);
28  void setTakeButtonShow(bool show);
29 
30  void onKeyButtonPressed(MyGUI::Widget* sender, MyGUI::KeyCode key, MyGUI::Char character);
31 
32  void nextPage();
33  void prevPage();
34 
35  void updatePages();
36  void clearPages();
37  void adjustButton(Gui::ImageButton* button);
38 
39  private:
40  typedef std::pair<int, int> Page;
41  typedef std::vector<Page> Pages;
42 
47 
48  MyGUI::TextBox* mLeftPageNumber;
49  MyGUI::TextBox* mRightPageNumber;
50  MyGUI::Widget* mLeftPage;
51  MyGUI::Widget* mRightPage;
52 
53  unsigned int mCurrentPage; // 0 is first page
55 
57 
60  };
61 
62 }
63 
64 #endif
void onMouseWheel(MyGUI::Widget *_sender, int _rel)
Definition: bookwindow.cpp:71
void clearPages()
Definition: bookwindow.cpp:79
BookWindow()
Definition: bookwindow.cpp:22
bool mTakeButtonShow
Definition: bookwindow.hpp:58
Gui::ImageButton * mNextPageButton
Definition: bookwindow.hpp:45
Gui::ImageButton * mCloseButton
Definition: bookwindow.hpp:43
void onNextPageButtonClicked(MyGUI::Widget *sender)
Definition: bookwindow.cpp:142
void setTakeButtonShow(bool show)
Definition: bookwindow.cpp:107
void setPtr(const MWWorld::Ptr &book)
Open this object in the GUI, for windows that support it.
Definition: bookwindow.cpp:84
void prevPage()
Definition: bookwindow.cpp:210
Definition: bookwindow.hpp:12
MyGUI::Widget * mRightPage
Definition: bookwindow.hpp:51
void onKeyButtonPressed(MyGUI::Widget *sender, MyGUI::KeyCode key, MyGUI::Char character)
Definition: bookwindow.cpp:113
void adjustButton(Gui::ImageButton *button)
Definition: bookwindow.cpp:190
void onTakeButtonClicked(MyGUI::Widget *sender)
Definition: bookwindow.cpp:132
Gui::ImageButton * mPrevPageButton
Definition: bookwindow.hpp:46
void center()
Definition: windowbase.cpp:49
bool mTakeButtonAllowed
Definition: bookwindow.hpp:59
void updatePages()
Definition: bookwindow.cpp:152
MyGUI::Widget * mLeftPage
Definition: bookwindow.hpp:50
Gui::ImageButton * mTakeButton
Definition: bookwindow.hpp:44
TypesetBook::Ptr book
Definition: journalbooks.cpp:157
void onResChange(int, int)
Called when GUI viewport changes size.
Definition: bookwindow.hpp:20
Definition: windowbase.hpp:21
MyGUI::TextBox * mLeftPageNumber
Definition: bookwindow.hpp:48
allows using different image textures depending on the button state
Definition: imagebutton.hpp:12
MWWorld::Ptr mBook
Definition: bookwindow.hpp:56
void onCloseButtonClicked(MyGUI::Widget *sender)
Definition: bookwindow.cpp:127
void setInventoryAllowed(bool allowed)
Definition: bookwindow.cpp:121
unsigned int mCurrentPage
Definition: bookwindow.hpp:53
Pointer to a LiveCellRef.
Definition: ptr.hpp:19
void nextPage()
Definition: bookwindow.cpp:199
std::pair< int, int > Page
Definition: bookwindow.hpp:40
void onPrevPageButtonClicked(MyGUI::Widget *sender)
Definition: bookwindow.cpp:147
Pages mPages
Definition: bookwindow.hpp:54
KeyCode
Keyboard scan codes.
Definition: OISCompat.hpp:10
MyGUI::TextBox * mRightPageNumber
Definition: bookwindow.hpp:49
std::vector< Page > Pages
Definition: bookwindow.hpp:41