Handling the GUI of the in-game console. More...
#include "stdafx.h"
#include "textbuf_gui.h"
#include "window_gui.h"
#include "console_gui.h"
#include "console_internal.h"
#include "window_func.h"
#include "string_func.h"
#include "strings_func.h"
#include "gfx_func.h"
#include "settings_type.h"
#include "console_func.h"
#include "rev.h"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | IConsoleLine |
Container for a single line of console output. More... | |
struct | IConsoleWindow |
Enumerations | |
enum | ConsoleWidgets { CW_BACKGROUND } |
Widgets of the console window. More... | |
Functions | |
static void | IConsoleClearCommand () |
static void | IConsoleResetHistoryPos () |
static const char * | IConsoleHistoryAdd (const char *cmd) |
Add the entered line into the history so you can look it back scroll, etc. | |
static void | IConsoleHistoryNavigate (int direction) |
Navigate Up/Down in the history of typed commands. | |
void | IConsoleGUIInit () |
void | IConsoleClearBuffer () |
void | IConsoleGUIFree () |
void | IConsoleResize (Window *w) |
Change the size of the in-game console window after the screen size changed, or the window state changed. | |
void | IConsoleSwitch () |
Toggle in-game console between opened and closed. | |
void | IConsoleClose () |
Close the in-game console. | |
void | IConsoleGUIPrint (TextColour colour_code, char *str) |
Handle the printing of text entered into the console or redirected there by any other means. | |
bool | IsValidConsoleColour (TextColour c) |
Check whether the given TextColour is valid for console usage. | |
Variables | |
static const uint | ICON_HISTORY_SIZE = 20 |
static const uint | ICON_LINE_SPACING = 2 |
static const uint | ICON_RIGHT_BORDERWIDTH = 10 |
static const uint | ICON_BOTTOM_BORDERWIDTH = 12 |
static Textbuf | _iconsole_cmdline |
static char * | _iconsole_history [ICON_HISTORY_SIZE] |
static byte | _iconsole_historypos |
IConsoleModes | _iconsole_mode |
static struct NWidgetPart | _nested_console_window_widgets [] |
static const WindowDesc | _console_window_desc (WDP_MANUAL, 0, 0, WC_CONSOLE, WC_NONE, 0, _nested_console_window_widgets, lengthof(_nested_console_window_widgets)) |
Handling the GUI of the in-game console.
Definition in file console_gui.cpp.
enum ConsoleWidgets |
Widgets of the console window.
Definition at line 156 of file console_gui.cpp.
void IConsoleClose | ( | ) |
Close the in-game console.
Definition at line 419 of file console_gui.cpp.
References ICONSOLE_OPENED, and IConsoleSwitch().
Referenced by InitWindowSystem().
void IConsoleGUIPrint | ( | TextColour | colour_code, | |
char * | str | |||
) |
Handle the printing of text entered into the console or redirected there by any other means.
Text can be redirected to other clients in a network game as well as to a logfile. If the network server is a dedicated server, all activities are also logged. All lines to print are added to a temporary buffer which can be used as a history to print them onscreen
colour_code | the colour of the command. Red in case of errors, etc. | |
str | the message entered or output on the console (notice, error, etc.) |
Definition at line 488 of file console_gui.cpp.
References SetWindowDirty().
Referenced by IConsolePrint().
static const char * IConsoleHistoryAdd | ( | const char * | cmd | ) | [static] |
Add the entered line into the history so you can look it back scroll, etc.
Put it to the beginning as it is the latest text
cmd | Text to be entered into the 'history' |
Definition at line 430 of file console_gui.cpp.
References free(), IsWhitespace(), and StrEmpty().
Referenced by IConsoleWindow::OnKeyPress().
static void IConsoleHistoryNavigate | ( | int | direction | ) | [static] |
Navigate Up/Down in the history of typed commands.
direction | Go further back in history (+1), go to recently typed commands (-1) |
Definition at line 454 of file console_gui.cpp.
References Textbuf::buf, IsInsideMM(), Textbuf::max_bytes, ttd_strlcpy(), and UpdateTextBufferSize().
Referenced by IConsoleWindow::OnKeyPress().
void IConsoleResize | ( | Window * | w | ) |
Change the size of the in-game console window after the screen size changed, or the window state changed.
Definition at line 385 of file console_gui.cpp.
References Window::height, ICONSOLE_FULL, ICONSOLE_OPENED, MarkWholeScreenDirty(), and Window::width.
Referenced by IConsoleWindow::OnKeyPress(), and RelocateAllWindows().
void IConsoleSwitch | ( | ) |
Toggle in-game console between opened and closed.
Definition at line 403 of file console_gui.cpp.
References DeleteWindowById(), ICONSOLE_CLOSED, ICONSOLE_FULL, ICONSOLE_OPENED, and MarkWholeScreenDirty().
Referenced by IConsoleClose(), MenuClickHelp(), MainWindow::OnKeyPress(), and IConsoleWindow::OnKeyPress().
bool IsValidConsoleColour | ( | TextColour | c | ) |
Check whether the given TextColour is valid for console usage.
c | The text colour to compare to. |
Definition at line 500 of file console_gui.cpp.
References _colour_gradient, and TC_IS_PALETTE_COLOUR.
Referenced by IConsolePrint(), IConsolePrintF(), and ClientNetworkGameSocketHandler::Receive_SERVER_RCON().
struct NWidgetPart _nested_console_window_widgets[] [static] |
{ NWidget(WWT_EMPTY, INVALID_COLOUR, CW_BACKGROUND), SetResize(1, 1), }
Definition at line 160 of file console_gui.cpp.