OpenTTD
Data Structures | Functions | Variables
console_gui.cpp File Reference

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. 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. More...
 
void IConsoleSwitch ()
 Toggle in-game console between opened and closed. More...
 
void IConsoleClose ()
 Close the in-game console. More...
 
void IConsoleGUIPrint (TextColour colour_code, char *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_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 const 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))
 

Detailed Description

Handling the GUI of the in-game console.

Definition in file console_gui.cpp.

Function Documentation

◆ IConsoleClose()

void IConsoleClose ( )

Close the in-game console.

Definition at line 445 of file console_gui.cpp.

Referenced by InitWindowSystem().

◆ IConsoleGUIPrint()

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

Parameters
colour_codethe colour of the command. Red in case of errors, etc.
strthe message entered or output on the console (notice, error, etc.)

Definition at line 503 of file console_gui.cpp.

References IConsoleLine::IConsoleLine(), SetWindowDirty(), and WC_CONSOLE.

◆ IConsoleHistoryAdd()

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

Parameters
cmdText to be entered into the 'history'
Returns
the command to execute

Definition at line 456 of file console_gui.cpp.

References IsWhitespace(), and StrEmpty().

◆ IConsoleHistoryNavigate()

static void IConsoleHistoryNavigate ( int  direction)
static

Navigate Up/Down in the history of typed commands.

Parameters
directionGo further back in history (+1), go to recently typed commands (-1)

Definition at line 480 of file console_gui.cpp.

◆ IConsoleResize()

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.

◆ IConsoleSwitch()

void IConsoleSwitch ( )

Toggle in-game console between opened and closed.

Definition at line 429 of file console_gui.cpp.

◆ IsValidConsoleColour()

bool IsValidConsoleColour ( TextColour  c)

Check whether the given TextColour is valid for console usage.

Parameters
cThe text colour to compare to.
Returns
true iff the TextColour is valid for console usage.

Definition at line 515 of file console_gui.cpp.

References TC_IS_PALETTE_COLOUR.

Referenced by ClientNetworkGameSocketHandler::Receive_SERVER_RCON().

Variable Documentation

◆ _nested_console_window_widgets

const struct NWidgetPart _nested_console_window_widgets[]
static
Initial value:
= {
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_C_BACKGROUND), SetResize(1, 1),
}
Empty widget, place holder to reserve space in widget array.
Definition: widget_type.h:48
static NWidgetPart SetResize(int16 dx, int16 dy)
Widget part function for setting the resize step.
Definition: widget_type.h:930
Background of the console.
static NWidgetPart NWidget(WidgetType tp, Colours col, int16 idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1114

Definition at line 160 of file console_gui.cpp.