summaryrefslogtreecommitdiff
path: root/src/querystring_gui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/querystring_gui.h')
-rw-r--r--src/querystring_gui.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/querystring_gui.h b/src/querystring_gui.h
new file mode 100644
index 000000000..7b001dadd
--- /dev/null
+++ b/src/querystring_gui.h
@@ -0,0 +1,38 @@
+/* $Id$ */
+
+/** @file querystring_gui.h Base for the GUIs that have an edit box in them. */
+
+#ifndef QUERYSTRING_GUI_H
+#define QUERYSTRING_GUI_H
+
+#include "textbuf_gui.h"
+#include "window_gui.h"
+
+struct QueryString {
+ StringID caption;
+ Textbuf text;
+ const char *orig;
+ CharSetFilter afilter;
+ bool handled;
+
+ void DrawEditBox(Window *w, int wid);
+ void HandleEditBox(Window *w, int wid);
+ int HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, bool &cont);
+};
+
+struct QueryStringBaseWindow : public Window, public QueryString {
+ char edit_str_buf[64];
+ char orig_str_buf[64];
+
+ QueryStringBaseWindow(const WindowDesc *desc, void *data = NULL, WindowNumber window_number = 0) : Window(desc, data, window_number)
+ {
+ }
+
+ void DrawEditBox(int wid);
+ void HandleEditBox(int wid);
+ int HandleEditBoxKey(int wid, uint16 key, uint16 keycode, bool &cont);
+};
+
+void ShowOnScreenKeyboard(QueryStringBaseWindow *parent, int button, int cancel, int ok);
+
+#endif /* QUERYSTRING_GUI_H */