|
OpenTTD Source
14.0-beta3
|
#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 "timer/timer.h"#include "timer/timer_window.h"#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 bool | TruncateBuffer () |
| Remove old lines from the backlog buffer. More... | |
| 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. More... | |
| static void | IConsoleHistoryNavigate (int direction) |
| Navigate Up/Down in the history of typed commands. More... | |
| 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, const std::string &str) |
| Handle the printing of text entered into the console or redirected there by any other means. More... | |
| bool | IsValidConsoleColour (TextColour c) |
| Check whether the given TextColour is valid for console usage. More... | |
Variables | |
| static const uint | ICON_HISTORY_SIZE = 20 |
| static const uint | ICON_RIGHT_BORDERWIDTH = 10 |
| static const uint | ICON_BOTTOM_BORDERWIDTH = 12 |
| static std::deque< IConsoleLine > | _iconsole_buffer |
| The console backlog buffer. More... | |
| static Textbuf | _iconsole_cmdline (ICON_CMDLN_SIZE) |
| static std::deque< std::string > | _iconsole_history |
| static ptrdiff_t | _iconsole_historypos |
| IConsoleModes | _iconsole_mode |
| static constexpr NWidgetPart | _nested_console_window_widgets [] |
| static WindowDesc | _console_window_desc (__FILE__, __LINE__, WDP_MANUAL, nullptr, 0, 0, WC_CONSOLE, WC_NONE, 0, std::begin(_nested_console_window_widgets), std::end(_nested_console_window_widgets)) |
Handling the GUI of the in-game console.
Definition in file console_gui.cpp.
| void IConsoleGUIPrint | ( | TextColour | colour_code, |
| const std::string & | 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 448 of file console_gui.cpp.
References _iconsole_buffer, SetWindowDirty(), and WC_CONSOLE.
|
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 404 of file console_gui.cpp.
References IsWhitespace(), and StrEmpty().
|
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 427 of file console_gui.cpp.
| bool IsValidConsoleColour | ( | TextColour | c | ) |
Check whether the given TextColour is valid for console usage.
| c | The text colour to compare to. |
Definition at line 488 of file console_gui.cpp.
References TC_IS_PALETTE_COLOUR.
Referenced by IConsolePrint(), ClientNetworkGameSocketHandler::Receive_SERVER_EXTERNAL_CHAT(), and ClientNetworkGameSocketHandler::Receive_SERVER_RCON().
|
static |
Remove old lines from the backlog buffer.
The buffer is limited by a maximum size and a minimum age. Every time truncation runs, all lines in the buffer are aged by one. When a line exceeds both the maximum position and also the maximum age, it gets removed.
Definition at line 461 of file console_gui.cpp.
References _iconsole_buffer, _settings_client, GUISettings::console_backlog_length, GUISettings::console_backlog_timeout, and ClientSettings::gui.
|
static |
The console backlog buffer.
Item index 0 is the newest line.
Definition at line 67 of file console_gui.cpp.
Referenced by IConsoleGUIPrint(), IConsoleWindow::OnPaint(), IConsoleWindow::Scroll(), and TruncateBuffer().
|
staticconstexpr |
Definition at line 101 of file console_gui.cpp.