From ea76b6988ccafaa6a4d4ed90f2489d0e49e1f180 Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Sat, 5 Sep 2015 09:32:30 -0400 Subject: Imported Upstream version 0.40.24 --- g_src/KeybindingScreen.h | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 g_src/KeybindingScreen.h (limited to 'g_src/KeybindingScreen.h') diff --git a/g_src/KeybindingScreen.h b/g_src/KeybindingScreen.h new file mode 100755 index 0000000..fc29f2e --- /dev/null +++ b/g_src/KeybindingScreen.h @@ -0,0 +1,69 @@ +#ifndef KEYBINDINGSCREEN_H +#define KEYBINDINGSCREEN_H + +#include "interface.h" +#include "ViewBase.h" +#include "enabler.h" + +#include +#include + +class KeybindingScreen : public viewscreenst { + enum { mode_main, mode_keyL, mode_keyR, mode_macro, mode_register } mode; + enum keyR_type { sel_add, sel_rep_none, sel_rep_slow, sel_rep_fast, sel_event }; + enum main_selector { sel_macros, sel_just_exit, sel_save_exit, sel_first_group }; + + struct keyR_selector { + keyR_type sel; + EventMatch event; // Uninitialized if sel != sel_event + }; + + widgets::menu main; // Representing main_selector + widgets::menu keyL; + widgets::menu keyR; + widgets::menu macro; + widgets::menu keyRegister; + + void render_main(); + void render_macro(); + void render_key(); + void render_register(); + + void reset_keyR(); + + void enter_key(int group); + void enter_macros(); + +public: + KeybindingScreen(); + virtual void feed(std::set &events); + virtual void render(); + virtual void help(); + virtual void logic(); + virtual char is_option_screen() { return 2; } +}; + +class MacroScreenLoad : public viewscreenst { + widgets::menu menu; + int width, height; + + public: + MacroScreenLoad(); + virtual void logic(); + virtual void render(); + virtual void feed(std::set &events); + virtual char is_option_screen() { return 1; } +}; + +class MacroScreenSave : public viewscreenst { + widgets::textbox id; +public: + MacroScreenSave(); + virtual void logic(); + virtual void render(); + virtual void feed(std::set &events); + virtual char is_option_screen() { return 1; } +}; + + +#endif -- cgit v1.2.3