mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 22:26:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OPENMW_MWGUI_KEYBOARDNAVIGATION_H
 | |
| #define OPENMW_MWGUI_KEYBOARDNAVIGATION_H
 | |
| 
 | |
| #include <MyGUI_KeyCode.h>
 | |
| #include <MyGUI_IUnlinkWidget.h>
 | |
| 
 | |
| namespace MWGui
 | |
| {
 | |
| 
 | |
|     class KeyboardNavigation : public MyGUI::IUnlinkWidget
 | |
|     {
 | |
|     public:
 | |
|         KeyboardNavigation();
 | |
|         ~KeyboardNavigation();
 | |
| 
 | |
|         /// @return Was the key handled by this class?
 | |
|         bool injectKeyPress(MyGUI::KeyCode key, unsigned int text);
 | |
| 
 | |
|         void saveFocus(int mode);
 | |
|         void restoreFocus(int mode);
 | |
| 
 | |
|         void _unlinkWidget(MyGUI::Widget* widget);
 | |
| 
 | |
|         void onFrame();
 | |
| 
 | |
|         /// Set a key focus widget for this window, if one isn't already set.
 | |
|         void setDefaultFocus(MyGUI::Widget* window, MyGUI::Widget* defaultFocus);
 | |
| 
 | |
|         void setModalWindow(MyGUI::Widget* window);
 | |
| 
 | |
|         void setEnabled(bool enabled);
 | |
| 
 | |
|     private:
 | |
|         bool switchFocus(int direction, bool wrap);
 | |
| 
 | |
|         bool selectFirstWidget();
 | |
| 
 | |
|         /// Send button press event to focused button
 | |
|         bool accept();
 | |
| 
 | |
|         std::map<int, MyGUI::Widget*> mKeyFocus;
 | |
| 
 | |
|         MyGUI::Widget* mCurrentFocus;
 | |
|         MyGUI::Widget* mModalWindow;
 | |
| 
 | |
|         bool mEnabled;
 | |
|     };
 | |
| 
 | |
| }
 | |
| 
 | |
| #endif
 |