tron@2186: /* $Id$ */ tron@2186: rubidium@10499: /** @file querystring_gui.h Base for the GUIs that have an edit box in them. */ maedhros@7166: rubidium@10499: #ifndef QUERYSTRING_GUI_H rubidium@10499: #define QUERYSTRING_GUI_H truelight@0: rubidium@10499: #include "textbuf_gui.h" rubidium@10499: #include "window_gui.h" rubidium@10499: rubidium@10499: struct QueryString { rubidium@8603: StringID caption; rubidium@8603: Textbuf text; rubidium@8603: const char *orig; rubidium@8603: CharSetFilter afilter; rubidium@8603: bool handled; Darkvater@1390: rubidium@10499: void DrawEditBox(Window *w, int wid); rubidium@10499: void HandleEditBox(Window *w, int wid); rubidium@10607: int HandleEditBoxKey(Window *w, int wid, uint16 key, uint16 keycode, Window::EventState &state); rubidium@10499: }; truelight@0: rubidium@10499: struct QueryStringBaseWindow : public Window, public QueryString { rubidium@10499: char edit_str_buf[64]; rubidium@10499: char orig_str_buf[64]; rubidium@9233: rubidium@10525: QueryStringBaseWindow(const WindowDesc *desc, WindowNumber window_number = 0) : Window(desc, window_number) rubidium@10499: { rubidium@10499: } rubidium@9233: rubidium@10499: void DrawEditBox(int wid); rubidium@10499: void HandleEditBox(int wid); rubidium@10607: int HandleEditBoxKey(int wid, uint16 key, uint16 keycode, EventState &state); rubidium@10499: }; rubidium@9233: rubidium@10499: void ShowOnScreenKeyboard(QueryStringBaseWindow *parent, int button, int cancel, int ok); rubidium@10499: rubidium@10499: #endif /* QUERYSTRING_GUI_H */