summaryrefslogtreecommitdiff
path: root/src/user_interface.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-09-24 19:24:27 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-09-24 19:24:27 +0200
commita312ce6dc259e07c6f7fe935b51f41017797bfd9 (patch)
tree58bdd0b1465b69d2358e14f90c102be58d651c8f /src/user_interface.hh
parent0380c999c3e3f0b6689a06ccace1fe80461a40f4 (diff)
extract Client virtual methods to a UserInterface class
Diffstat (limited to 'src/user_interface.hh')
-rw-r--r--src/user_interface.hh28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/user_interface.hh b/src/user_interface.hh
new file mode 100644
index 00000000..c8fc14d7
--- /dev/null
+++ b/src/user_interface.hh
@@ -0,0 +1,28 @@
+#ifndef user_interface_hh_INCLUDED
+#define user_interface_hh_INCLUDED
+
+#include "memoryview.hh"
+#include "keys.hh"
+#include "units.hh"
+
+namespace Kakoune
+{
+
+class String;
+class Window;
+
+class UserInterface
+{
+public:
+ virtual ~UserInterface() {}
+ virtual void print_status(const String& status, CharCount cursor_pos) = 0;
+ virtual void menu_show(const memoryview<String>& choices) = 0;
+ virtual void menu_select(int selected) = 0;
+ virtual void menu_hide() = 0;
+ virtual void draw_window(Window& window) = 0;
+ virtual Key get_key() = 0;
+};
+
+}
+
+#endif // user_interface_hh_INCLUDED