From eb2d47b547fe550b3e14d15e5b74cedf481bfe4e Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 11 May 2008 12:26:20 +0000 Subject: (svn r13042) -Codechange: make a class of CreateScenarioWindow, GenerateLandscapeWindow, NetworkChatWindow, NetworkCompanyPasswordWindow, NetworkGameWindow, NetworkStartServerWindow, QueryStringWindow, SaveLoadWindow. All these classes depended on the 'querystr_d' object which is now put into QueryStringBaseWindow. As a side effect this removes quite a lot of WP macro usages and a few global variables. --- src/querystring_gui.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/querystring_gui.h (limited to 'src/querystring_gui.h') 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 */ -- cgit v1.2.3-54-g00ecf