OpenTTD
|
Handling the GUI of the in-game console. More...
#include "stdafx.h"
#include "textbuf_type.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 "video/video_driver.hpp"
#include "widgets/console_widget.h"
#include "table/strings.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
struct | IConsoleLine |
Container for a single line of console output. More... | |
struct | IConsoleWindow |
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 (ICON_CMDLN_SIZE) |
static char * | _iconsole_history [ICON_HISTORY_SIZE] |
static int | _iconsole_historypos |
IConsoleModes | _iconsole_mode |
static struct NWidgetPart | _nested_console_window_widgets [] |
static WindowDesc | _console_window_desc (WDP_MANUAL, NULL, 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.
void IConsoleClose | ( | ) |
Close the in-game console.
Definition at line 445 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 503 of file console_gui.cpp.
References SetWindowDirty(), and WC_CONSOLE.
Referenced by IConsolePrint().
|
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 456 of file console_gui.cpp.
References free(), IsWhitespace(), stredup(), and StrEmpty().
Referenced by IConsoleWindow::OnKeyPress().
|
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 480 of file console_gui.cpp.
References Textbuf::Assign(), Clamp(), and Textbuf::DeleteAll().
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 411 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 429 of file console_gui.cpp.
References DeleteWindowById(), ICONSOLE_CLOSED, ICONSOLE_FULL, ICONSOLE_OPENED, MarkWholeScreenDirty(), and WC_CONSOLE.
Referenced by IConsoleClose(), MenuClickHelp(), MainWindow::OnHotkey(), 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 515 of file console_gui.cpp.
References _colour_gradient, and TC_IS_PALETTE_COLOUR.
Referenced by IConsolePrint(), IConsolePrintF(), and ClientNetworkGameSocketHandler::Receive_SERVER_RCON().
|
static |
Definition at line 160 of file console_gui.cpp.