OpenMW
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
keyboardnavigation.hpp
Go to the documentation of this file.
1 #ifndef OPENMW_MWGUI_KEYBOARDNAVIGATION_H
2 #define OPENMW_MWGUI_KEYBOARDNAVIGATION_H
3 
4 #include <MyGUI_KeyCode.h>
5 #include <MyGUI_IUnlinkWidget.h>
6 
7 namespace MWGui
8 {
9 
10  class KeyboardNavigation : public MyGUI::IUnlinkWidget
11  {
12  public:
15 
17  bool injectKeyPress(MyGUI::KeyCode key, unsigned int text, bool repeat);
18 
19  void saveFocus(int mode);
20  void restoreFocus(int mode);
21 
22  void _unlinkWidget(MyGUI::Widget* widget);
23 
24  void onFrame();
25 
27  void setDefaultFocus(MyGUI::Widget* window, MyGUI::Widget* defaultFocus);
28 
29  void setModalWindow(MyGUI::Widget* window);
30 
31  void setEnabled(bool enabled);
32 
33  private:
34  bool switchFocus(int direction, bool wrap);
35 
36  bool selectFirstWidget();
37 
39  bool accept();
40 
41  std::map<int, MyGUI::Widget*> mKeyFocus;
42 
43  MyGUI::Widget* mCurrentFocus;
44  MyGUI::Widget* mModalWindow;
45 
46  bool mEnabled;
47  };
48 
49 }
50 
51 #endif
MyGUI::Widget * mCurrentFocus
Definition: keyboardnavigation.hpp:43
void saveFocus(int mode)
Definition: keyboardnavigation.cpp:64
bool injectKeyPress(MyGUI::KeyCode key, unsigned int text, bool repeat)
Definition: keyboardnavigation.cpp:184
void setModalWindow(MyGUI::Widget *window)
Definition: keyboardnavigation.cpp:164
bool switchFocus(int direction, bool wrap)
Definition: keyboardnavigation.cpp:217
bool accept()
Send button press event to focused button.
Definition: keyboardnavigation.cpp:298
void setEnabled(bool enabled)
Definition: keyboardnavigation.cpp:169
bool selectFirstWidget()
Definition: keyboardnavigation.cpp:281
void restoreFocus(int mode)
Definition: keyboardnavigation.cpp:77
void onFrame()
Definition: keyboardnavigation.cpp:115
int wrap(int index, int max)
Definition: race.cpp:22
MyGUI::Widget * mModalWindow
Definition: keyboardnavigation.hpp:44
void setDefaultFocus(MyGUI::Widget *window, MyGUI::Widget *defaultFocus)
Set a key focus widget for this window, if one isn't already set.
Definition: keyboardnavigation.cpp:150
bool mEnabled
Definition: keyboardnavigation.hpp:46
~KeyboardNavigation()
Definition: keyboardnavigation.cpp:52
std::map< int, MyGUI::Widget * > mKeyFocus
Definition: keyboardnavigation.hpp:41
KeyboardNavigation()
Definition: keyboardnavigation.cpp:44
void _unlinkWidget(MyGUI::Widget *widget)
Definition: keyboardnavigation.cpp:88
KeyCode
Keyboard scan codes.
Definition: OISCompat.hpp:10
Definition: keyboardnavigation.hpp:10