#include "window_type.h"
#include "string_type.h"
#include "strings_type.h"
#include "core/enum_type.hpp"
Go to the source code of this file.
Data Structures | |
struct | Textbuf |
Typedefs | |
typedef void | QueryCallbackProc (Window *, bool) |
Enumerations | |
enum | QueryStringFlags { QSF_NONE = 0, QSF_ACCEPT_UNCHANGED = 0x01, QSF_ENABLE_DEFAULT = 0x02 } |
Flags used in ShowQueryString() call. More... | |
Functions | |
bool | HandleCaret (Textbuf *tb) |
void | DeleteTextBufferAll (Textbuf *tb) |
Delete every character in the textbuffer. | |
bool | DeleteTextBufferChar (Textbuf *tb, int delmode) |
Delete a character from a textbuffer, either with 'Delete' or 'Backspace' The character is delete from the position the caret is at. | |
bool | InsertTextBufferChar (Textbuf *tb, uint32 key) |
bool | InsertTextBufferClipboard (Textbuf *tb) |
Insert a chunk of text from the clipboard onto the textbuffer. | |
bool | MoveTextBufferPos (Textbuf *tb, int navmode) |
Handle text navigation with arrow keys left/right. | |
void | InitializeTextBuffer (Textbuf *tb, char *buf, uint16 maxsize, uint16 maxwidth) |
Initialize the textbuffer by supplying it the buffer to write into and the maximum length of this buffer. | |
void | UpdateTextBufferSize (Textbuf *tb) |
Update Textbuf type with its actual physical character and screenlength Get the count of characters in the string as well as the width in pixels. | |
void | ShowQueryString (StringID str, StringID caption, uint maxlen, uint maxwidth, Window *parent, CharSetFilter afilter, QueryStringFlags flags) |
Show a query popup window with a textbox in it. | |
void | ShowQuery (StringID caption, StringID message, Window *w, QueryCallbackProc *callback) |
Show a modal confirmation window with standard 'yes' and 'no' buttons The window is aligned to the centre of its parent. | |
Variables | |
static const uint | OSK_KEYBOARD_ENTRIES = 50 |
The number of 'characters' on the on-screen keyboard. | |
char | _keyboard_opt [2][OSK_KEYBOARD_ENTRIES *4+1] |
The number of characters has to be OSK_KEYBOARD_ENTRIES. |
Definition in file textbuf_gui.h.
enum QueryStringFlags |
Flags used in ShowQueryString() call.
QSF_ACCEPT_UNCHANGED | return success even when the text didn't change |
QSF_ENABLE_DEFAULT | enable the 'Default' button ("\0" is returned) |
Definition at line 40 of file textbuf_gui.h.
void DeleteTextBufferAll | ( | Textbuf * | tb | ) |
Delete every character in the textbuffer.
tb | Textbuf buffer to be emptied |
Definition at line 1003 of file misc_gui.cpp.
bool DeleteTextBufferChar | ( | Textbuf * | tb, | |
int | delmode | |||
) |
Delete a character from a textbuffer, either with 'Delete' or 'Backspace' The character is delete from the position the caret is at.
tb | Textbuf type to be changed | |
delmode | Type of deletion, either WKC_BACKSPACE or WKC_DELETE |
Definition at line 986 of file misc_gui.cpp.
void InitializeTextBuffer | ( | Textbuf * | tb, | |
char * | buf, | |||
uint16 | maxsize, | |||
uint16 | maxwidth | |||
) |
Initialize the textbuffer by supplying it the buffer to write into and the maximum length of this buffer.
tb | Textbuf type which is getting initialized | |
buf | the buffer that will be holding the data for input | |
maxsize | maximum size in bytes, including terminating '' | |
maxwidth | maximum length in pixels of this buffer. If reached, buffer cannot grow, even if maxsize would allow because there is space. Width of zero '0' means the buffer is only restricted by maxsize |
Definition at line 1137 of file misc_gui.cpp.
References UpdateTextBufferSize().
bool InsertTextBufferClipboard | ( | Textbuf * | tb | ) |
Insert a chunk of text from the clipboard onto the textbuffer.
Get TEXT clipboard and append this up to the maximum length (either absolute or screenlength). If maxlength is zero, we don't care about the screenlength but only about the physical length of the string
tb | Textbuf type to be changed |
Definition at line 1042 of file misc_gui.cpp.
References FS_NORMAL, GetCharacterWidth(), GetClipboardContents(), lengthof, and Utf8CharLen().
bool MoveTextBufferPos | ( | Textbuf * | tb, | |
int | navmode | |||
) |
Handle text navigation with arrow keys left/right.
This defines where the caret will blink and the next characer interaction will occur
tb | Textbuf type where navigation occurs | |
navmode | Direction in which navigation occurs WKC_LEFT, WKC_RIGHT, WKC_END, WKC_HOME |
Definition at line 1085 of file misc_gui.cpp.
References FS_NORMAL, GetCharacterWidth(), and Utf8PrevChar().
void ShowQuery | ( | StringID | caption, | |
StringID | message, | |||
Window * | parent, | |||
QueryCallbackProc * | callback | |||
) |
Show a modal confirmation window with standard 'yes' and 'no' buttons The window is aligned to the centre of its parent.
caption | string shown as window caption | |
message | string that will be shown for the window | |
parent | pointer to parent window, if this pointer is NULL the parent becomes the main window WC_MAIN_WINDOW | |
callback | callback function pointer to set in the window descriptor |
Definition at line 1609 of file misc_gui.cpp.
Referenced by CmdPause(), and NewGRFWindow::OnClick().
void ShowQueryString | ( | StringID | str, | |
StringID | caption, | |||
uint | maxsize, | |||
uint | maxwidth, | |||
Window * | parent, | |||
CharSetFilter | afilter, | |||
QueryStringFlags | flags | |||
) |
Show a query popup window with a textbox in it.
str | StringID for the text shown in the textbox | |
caption | StringID of text shown in caption of querywindow | |
maxsize | maximum size in bytes (including terminating '') | |
maxwidth | maximum width in pixels allowed | |
parent | pointer to a Window that will handle the events (ok/cancel) of this window. If NULL, results are handled by global function HandleOnEditText | |
afilter | filters out unwanted character input | |
flags | various flags, |
Definition at line 1458 of file misc_gui.cpp.
References DeleteWindowById().
Referenced by VehicleDetailsWindow::OnClick(), StationViewWindow::OnClick(), OrdersWindow::OnClick(), NewGRFWindow::OnClick(), CompanyWindow::OnClick(), SelectCompanyManagerFaceWindow::OnClick(), and AISettingsWindow::OnClick().
void UpdateTextBufferSize | ( | Textbuf * | tb | ) |
Update Textbuf type with its actual physical character and screenlength Get the count of characters in the string as well as the width in pixels.
Useful when copying in a larger amount of text at once
tb | Textbuf type which length is calculated |
Definition at line 1154 of file misc_gui.cpp.
References FS_NORMAL, GetCharacterWidth(), and Utf8CharLen().
Referenced by IConsoleHistoryNavigate(), and InitializeTextBuffer().
char _keyboard_opt[2][OSK_KEYBOARD_ENTRIES *4+1] |
The number of characters has to be OSK_KEYBOARD_ENTRIES.
However, these have to be UTF-8 encoded, which means up to 4 bytes per character. Furthermore the string needs to be ''-terminated.
Definition at line 51 of file osk_gui.cpp.
Referenced by GetKeyboardLayout().
const uint OSK_KEYBOARD_ENTRIES = 50 [static] |