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