The Battle for Wesnoth  1.19.7+dev
Macros | Functions | Variables
wml_exception.cpp File Reference

Implementation for wml_exception.hpp. More...

#include "wml_exception.hpp"
#include "gettext.hpp"
#include "gui/dialogs/message.hpp"
#include "formula/string_utils.hpp"
#include "log.hpp"
Include dependency graph for wml_exception.cpp:

Go to the source code of this file.

Macros

#define GETTEXT_DOMAIN   "wesnoth-lib"
 
#define WRN_NG   LOG_STREAM(warn, log_engine)
 
#define ERR_WML   LOG_STREAM(err, log_wml)
 

Functions

void throw_wml_exception (const char *cond, const char *file, const int line, const char *function, const std::string &message, const std::string &dev_message)
 Helper function, don't call this directly. More...
 
std::string missing_mandatory_wml_key (const std::string &section, const std::string &key, const std::string &primary_key, const std::string &primary_value)
 Returns a standard message for a missing wml key (attribute). More...
 
std::string missing_mandatory_wml_tag (const std::string &section, const std::string &tag)
 Returns a standard message for a missing wml child (tag). More...
 

Variables

static lg::log_domain log_engine ("engine")
 
static lg::log_domain log_wml ("wml")
 

Detailed Description

Implementation for wml_exception.hpp.

Definition in file wml_exception.cpp.

Macro Definition Documentation

◆ ERR_WML

#define ERR_WML   LOG_STREAM(err, log_wml)

Definition at line 34 of file wml_exception.cpp.

◆ GETTEXT_DOMAIN

#define GETTEXT_DOMAIN   "wesnoth-lib"

Definition at line 21 of file wml_exception.cpp.

◆ WRN_NG

#define WRN_NG   LOG_STREAM(warn, log_engine)

Definition at line 31 of file wml_exception.cpp.

Function Documentation

◆ missing_mandatory_wml_key()

std::string missing_mandatory_wml_key ( const std::string &  section,
const std::string &  key,
const std::string &  primary_key = "",
const std::string &  primary_value = "" 
)

Returns a standard message for a missing wml key (attribute).

Parameters
sectionThe section in which the key should appear. Shouldn't include leading or trailing brackets, as they're already in the translatable string; but if it has to include brackets in the middle, for example "parent][child][section", then it seems reasonable include the outer ones too.
keyThe omitted key.
primary_keyThe primary key of the section.
primary_valueThe value of the primary key (mandatory if primary key isn't empty).
Returns
The error message.

Definition at line 74 of file wml_exception.cpp.

References VGETTEXT.

Referenced by expand_partialresolution(), gui2::gui_definition::gui_definition(), gui2::parse_linked_group_definitions(), gui2::implementation::parse_list_data(), gui2::builder_window::read(), gui2::horizontal_scrollbar_definition::resolution::resolution(), gui2::slider_definition::resolution::resolution(), gui2::vertical_scrollbar_definition::resolution::resolution(), gui2::styled_widget_definition::styled_widget_definition(), pathfind::teleport_group::teleport_group(), terrain_type::terrain_type(), gui2::builder_window::window_resolution::tooltip_info::tooltip_info(), gui2::implementation::tree_node::tree_node(), and gui2::builder_window::window_resolution::window_resolution().

◆ missing_mandatory_wml_tag()

std::string missing_mandatory_wml_tag ( const std::string &  section,
const std::string &  tag 
)

Returns a standard message for a missing wml child (tag).

Parameters
sectionThe section in which the child should appear. Same meaning as for missing_mandatory_wml_key().
tagThe omitted tag.
Returns
The error message.

Definition at line 97 of file wml_exception.cpp.

References markup::tag(), and VGETTEXT.

Referenced by gui2::button_definition::resolution::resolution(), gui2::chatbox_definition::resolution::resolution(), gui2::combobox_definition::resolution::resolution(), gui2::horizontal_scrollbar_definition::resolution::resolution(), gui2::image_definition::resolution::resolution(), gui2::label_definition::resolution::resolution(), gui2::listbox_definition::resolution::resolution(), gui2::matrix_definition::resolution::resolution(), gui2::menu_button_definition::resolution::resolution(), gui2::minimap_definition::resolution::resolution(), gui2::multiline_text_definition::resolution::resolution(), gui2::multimenu_button_definition::resolution::resolution(), gui2::panel_definition::resolution::resolution(), gui2::progress_bar_definition::resolution::resolution(), gui2::repeating_button_definition::resolution::resolution(), gui2::rich_label_definition::resolution::resolution(), gui2::scroll_label_definition::resolution::resolution(), gui2::scroll_text_definition::resolution::resolution(), gui2::scrollbar_panel_definition::resolution::resolution(), gui2::slider_definition::resolution::resolution(), gui2::spinner_definition::resolution::resolution(), gui2::tab_container_definition::resolution::resolution(), gui2::text_box_definition::resolution::resolution(), gui2::toggle_button_definition::resolution::resolution(), gui2::toggle_panel_definition::resolution::resolution(), gui2::tree_view_definition::resolution::resolution(), gui2::unit_preview_pane_definition::resolution::resolution(), gui2::vertical_scrollbar_definition::resolution::resolution(), and gui2::implementation::tree_node::tree_node().

◆ throw_wml_exception()

void throw_wml_exception ( const char *  cond,
const char *  file,
int  line,
const char *  function,
const std::string &  message,
const std::string &  dev_message = "" 
)

Helper function, don't call this directly.

Parameters
condThe textual presentation of the test that failed.
fileThe file in which the test failed.
lineThe line at which the test failed.
functionThe function in which the test failed.
messageThe translated message to show the user.
dev_messageAny additional information that might be useful to a developer.

Definition at line 36 of file wml_exception.cpp.

References draw::line().

Variable Documentation

◆ log_engine

lg::log_domain log_engine("engine") ( "engine"  )
static

◆ log_wml

lg::log_domain log_wml("wml") ( "wml"  )
static