OpenTTD: src/error_gui.cpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Typedefs | Functions | Variables
error_gui.cpp File Reference

GUI related to errors. More...

`#include "stdafx.h"`
`#include "landscape.h"`
`#include "newgrf_text.h"`
`#include "error.h"`
`#include "viewport_func.h"`
`#include "gfx_func.h"`
`#include "string_func.h"`
`#include "company_base.h"`
`#include "company_manager_face.h"`
`#include "strings_func.h"`
`#include "zoom_func.h"`
`#include "window_func.h"`
`#include "console_func.h"`
`#include "window_gui.h"`
`#include "widgets/error_widget.h"`
`#include "table/strings.h"`
`#include <list>`
`#include "safeguards.h"`

Go to the source code of this file.

## Data Structures
struct | ErrmsgWindow
| Window class for displaying an error message window. More...

## Typedefs
typedef std::list < ErrorMessageData > | ErrorList
| Define a queue with errors.

## Functions
void | ClearErrorMessages ()
| Clear all errors from the queue.
void | ShowFirstError ()
| Show the first error of the queue.
void | UnshowCriticalError ()
| Unshow the critical error.
void | ShowErrorMessage (StringID summary_msg, StringID detailed_msg, WarningLevel wl, int x, int y, const GRFFile *textref_stack_grffile, uint textref_stack_size, const uint32 *textref_stack)
| Display an error message in a window.
void | ScheduleErrorMessage (ErrorList &datas)
| Schedule a list of errors.
void | ScheduleErrorMessage (const ErrorMessageData &data)
| Schedule an error.

## Variables
static const NWidgetPart | _nested_errmsg_widgets []
static WindowDesc | _errmsg_desc (WDP_MANUAL,"error", 0, 0, WC_ERRMSG, WC_NONE, 0, _nested_errmsg_widgets, lengthof(_nested_errmsg_widgets))
static const NWidgetPart | _nested_errmsg_face_widgets []
static WindowDesc | _errmsg_face_desc (WDP_MANUAL,"error_face", 0, 0, WC_ERRMSG, WC_NONE, 0, _nested_errmsg_face_widgets, lengthof(_nested_errmsg_face_widgets))
ErrorList | _error_list
| The actual queue with errors.
bool | _window_system_initialized = false
| Whether the window system is initialized or not.

## Detailed Description

GUI related to errors.

Definition in file error_gui.cpp.

## Typedef Documentation

typedef std::list<ErrorMessageData> ErrorList

Define a queue with errors.

Definition at line 165 of file error_gui.cpp.

## Function Documentation

void ScheduleErrorMessage | ( | ErrorList & | datas | ) |

Schedule a list of errors.

Note: This does not try to display the error now. This is useful if the window system is not yet running.

Parameters

  data | Error message datas; cleared afterwards

Definition at line 430 of file error_gui.cpp.

void ScheduleErrorMessage | ( | const ErrorMessageData & | data | ) |

Schedule an error.

Note: This does not try to display the error now. This is useful if the window system is not yet running.

Parameters

  data | Error message data; cleared afterwards

Definition at line 440 of file error_gui.cpp.

Referenced by LoadFromConfig(), and openttd_main().

void ShowErrorMessage | ( | StringID | summary_msg,
|  | StringID | detailed_msg,
|  | WarningLevel | wl,
|  | int | x,
|  | int | y,
|  | const GRFFile * | textref_stack_grffile,
|  | uint | textref_stack_size,
|  | const uint32 * | textref_stack
| ) |  |

Display an error message in a window.

Parameters

  summary_msg | General error message showed in first line. Must be valid.
  detailed_msg | Detailed error message showed in second line. Can be INVALID_STRING_ID.
  wl | Message severity.
  x | World X position (TileVirtX) of the error location. Set both x and y to 0 to just center the message when there is no related error tile.
  y | World Y position (TileVirtY) of the error location. Set both x and y to 0 to just center the message when there is no related error tile.
  textref_stack_grffile | NewGRF providing the TextRefStack for the error message.
  textref_stack_size | Number of uint32 values to put on the TextRefStack for the error message; 0 if the TextRefStack shall not be used.
  textref_stack | Values to put on the TextRefStack.

Definition at line 378 of file error_gui.cpp.

References _settings_client, CC_WARNING, ErrorMessageData::CopyOutDParams(), DRAW_STRING_BUFFER, GUISettings::errmsg_duration, FindWindowById(), ClientSettings::gui, IConsoleError(), IConsolePrint(), INVALID_STRING_ID, ErrmsgWindow::IsCritical(), lastof, seprintf(), StartTextRefStackUsage(), StopTextRefStackUsage(), WC_ERRMSG, WL_CRITICAL, WL_INFO, and WL_WARNING.

Referenced by NewGRFWindow::AddGRFToActive(), ClientNetworkContentSocketHandler::AfterDownload(), AfterLoadGame(), ClientNetworkContentSocketHandler::BeforeDownload(), CcBuildIndustry(), ChangeDynamicEngines(), ClientNetworkGameSocketHandler::CheckConnection(), CheckEngines(), CheckForMissingGlyphs(), CheckForMissingSprites(), CheckIndustries(), CheckTrainsLengths(), ClickChangeMaxHlCheat(), NetworkGameSocketHandler::CloseConnection(), DoAutosave(), DoCommandP(), ErrorUnknownCallbackResult(), GenerateTowns(), GetSavegameFormat(), GRFLoadConfig(), IndustryProductionCallback(), MakeScreenshot(), SelectGameWindow::OnClick(), TownViewWindow::OnClick(), GameOptionsWindow::OnClick(), BuildIndustryWindow::OnClick(), SaveLoadWindow::OnClick(), AIConfigWindow::OnClick(), NewGRFWindow::OnClick(), FoundTownWindow::OnClick(), SelectCompanyManagerFaceWindow::OnClick(), BuildIndustryWindow::OnPlaceObject(), SelectCompanyManagerFaceWindow::OnQueryTextFinished(), SaveLoadWindow::OnTimeout(), ReadHeightmapBMP(), ReadHeightmapPNG(), ClientNetworkGameSocketHandler::Receive_SERVER_BANNED(), ClientNetworkGameSocketHandler::Receive_SERVER_CHECK_NEWGRFS(), ClientNetworkGameSocketHandler::Receive_SERVER_ERROR(), ClientNetworkGameSocketHandler::Receive_SERVER_FULL(), ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(), ClientNetworkGameSocketHandler::Receive_SERVER_NEWGAME(), ClientNetworkGameSocketHandler::Receive_SERVER_SHUTDOWN(), SaveFileError(), SaveOrLoad(), ShowAIDebugWindow(), ShowBuildBridgeWindow(), ShowEstimatedCostOrIncome(), ShowNetworkContentListWindow(), ShowNewGRFError(), ShowNewGrfVehicleError(), and WarnCorruptSprite().

void ShowFirstError | ( |  | ) |

Show the first error of the queue.

Definition at line 343 of file error_gui.cpp.

Referenced by CleanupGeneration(), InitWindowSystem(), and LoadFromConfig().

void UnshowCriticalError | ( |  | ) |

Unshow the critical error.

This has to happen when a critical error is shown and we uninitialise the window system, i.e. remove all the windows.

Definition at line 357 of file error_gui.cpp.

References FindWindowById(), ErrmsgWindow::IsCritical(), and WC_ERRMSG.

Referenced by ClearErrorMessages(), GenerateWorld(), and UnInitWindowSystem().

## Variable Documentation

ErrorList _error_list

The actual queue with errors.

Definition at line 167 of file error_gui.cpp.

const NWidgetPart _nested_errmsg_face_widgets[]
| static

Initial value:
{
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_RED),
NWidget(WWT_CAPTION, COLOUR_RED, WID_EM_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION_OTHER_COMPANY, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(NWID_HORIZONTAL), SetPIP(2, 1, 2),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_FACE), SetMinimalSize(92, 119), SetFill(0, 1), SetPadding(2, 0, 1, 0),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetFill(0, 1), SetMinimalSize(238, 123),
EndContainer(),
EndContainer(),
}

Definition at line 51 of file error_gui.cpp.

const NWidgetPart _nested_errmsg_widgets[]
| static

Initial value:
{
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_RED),
NWidget(WWT_CAPTION, COLOUR_RED, WID_EM_CAPTION), SetDataTip(STR_ERROR_MESSAGE_CAPTION, STR_NULL),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_RED),
NWidget(WWT_EMPTY, COLOUR_RED, WID_EM_MESSAGE), SetPadding(0, 2, 0, 2), SetMinimalSize(236, 32),
EndContainer(),
}

Definition at line 34 of file error_gui.cpp.

bool _window_system_initialized = false

Whether the window system is initialized or not.

Definition at line 169 of file error_gui.cpp.