#ifndef KEYBOARDBINDINGSCONTROLLER_H #define KEYBOARDBINDINGSCONTROLLER_H #include class ControllerCallback; class KeyboardBindingsView; class GameModel; class OptionsController; class KeyboardBindingsModel; struct BindingModel; class KeyboardBindingsController { ControllerCallback * callback; KeyboardBindingsView* view; KeyboardBindingsModel* model; OptionsController* parent; public: bool HasExited; KeyboardBindingsController(OptionsController* _parent); void Exit(); KeyboardBindingsView * GetView(); virtual ~KeyboardBindingsController(); void AddModel(BindingModel model); void CreateModel(BindingModel model); void ChangeModel(BindingModel model); void Save(); void ForceHasConflict(); void NotifyKeyReleased(); void OnKeyReleased(); void NotifyBindingsChanged(); void PopBindingByFunctionId(int functionId); bool FunctionHasShortcut(int functionId); void ResetToDefaults(); void LoadBindingPrefs(); std::vector GetBindingPrefs(); }; #endif /* KEYBOARDBINDINGSCONTROLLER_H */