The Battle for Wesnoth  1.17.0-dev
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
gui2::dialogs::wml_error Class Reference

WML preprocessor/parser error report dialog. More...

#include <wml_error.hpp>

Inheritance diagram for gui2::dialogs::wml_error:

Public Member Functions

 wml_error (const std::string &summary, const std::string &post_summary, const std::vector< std::string > &files, const std::string &details)
 Constructor. More...
 
- Public Member Functions inherited from gui2::dialogs::modal_dialog
 modal_dialog ()
 
virtual ~modal_dialog ()
 
bool show (const unsigned auto_close_time=0)
 Shows the window. More...
 
windowget_window () const
 Returns a pointer to the dialog's window. More...
 
int get_retval () const
 Returns the cached window exit code. More...
 
void set_retval (int retval)
 Convenience wrapper to set the window's exit code. More...
 
void set_always_save_fields (const bool always_save_fields)
 
void set_restore (const bool restore)
 
void set_allow_plugin_skip (const bool allow_plugin_skip)
 
void set_show_even_without_video (const bool show_even_without_video)
 

Static Public Member Functions

static void display (const std::string &summary, const std::string &post_summary, const std::vector< std::string > &files, const std::string &details)
 The display function; see modal_dialog for more information. More...
 
static void display (const std::string &summary, const std::string &details)
 The display function; see modal_dialog for more information. More...
 

Private Member Functions

virtual const std::string & window_id () const override
 The id of the window to build. More...
 
virtual void pre_show (window &window) override
 Actions to be taken before showing the window. More...
 
void copy_report_callback ()
 

Private Attributes

bool have_files_
 
bool have_post_summary_
 
std::string report_
 

Additional Inherited Members

- Protected Member Functions inherited from gui2::dialogs::modal_dialog
field_boolregister_bool (const std::string &id, const bool mandatory, const std::function< bool()> callback_load_value=nullptr, const std::function< void(bool)> callback_save_value=nullptr, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false)
 Creates a new boolean field. More...
 
field_boolregister_bool (const std::string &id, const bool mandatory, bool &linked_variable, const std::function< void(widget &)> callback_change=nullptr, const bool initial_fire=false)
 Creates a new boolean field. More...
 
field_integerregister_integer (const std::string &id, const bool mandatory, const std::function< int()> callback_load_value=nullptr, const std::function< void(int)> callback_save_value=nullptr)
 Creates a new integer field. More...
 
field_integerregister_integer (const std::string &id, const bool mandatory, int &linked_variable)
 Creates a new integer field. More...
 
field_textregister_text (const std::string &id, const bool mandatory, const std::function< std::string()> callback_load_value=nullptr, const std::function< void(const std::string &)> callback_save_value=nullptr, const bool capture_focus=false)
 Creates a new text field. More...
 
field_textregister_text (const std::string &id, const bool mandatory, std::string &linked_variable, const bool capture_focus=false)
 Creates a new text field. More...
 
field_labelregister_label (const std::string &id, const bool mandatory, const std::string &text, const bool use_markup=false)
 Registers a new styled_widget as a label. More...
 
field_labelregister_image (const std::string &id, const bool mandatory, const std::string &filename)
 Registers a new styled_widget as image. More...
 
- Protected Attributes inherited from gui2::dialogs::modal_dialog
std::unique_ptr< windowwindow_
 The window object build for this dialog. More...
 

Detailed Description

WML preprocessor/parser error report dialog.

Key Type MandatoryDescription
summary control yes Label used for displaying a brief summary of the error(s).
files control yes Label used to display the list of affected add-ons or files, if applicable. It is hidden otherwise. It is recommended to place it after the summary label.
post_summary control yes Label used for displaying instructions for reporting the error. It is recommended to place it after the file list label. It may be hidden if empty.
details control yes Full report of the parser or preprocessor error(s) found.
copy button yes Button that the user can click on to copy the error report to the system clipboard.

Definition at line 35 of file wml_error.hpp.

Constructor & Destructor Documentation

◆ wml_error()

gui2::dialogs::wml_error::wml_error ( const std::string &  summary,
const std::string &  post_summary,
const std::vector< std::string > &  files,
const std::string &  details 
)

Constructor.

Parameters
summaryLeading summary line for the report.
post_summaryAdditional line with instructions for the user, may be empty.
filesList of WML files on which errors were detected.
detailsDetailed WML preprocessor/parser error report.

Definition at line 138 of file wml_error.cpp.

References _(), and utils::indent().

Referenced by display().

Member Function Documentation

◆ copy_report_callback()

void gui2::dialogs::wml_error::copy_report_callback ( )
private

Definition at line 197 of file wml_error.cpp.

References desktop::clipboard::copy_to_clipboard(), and report_.

Referenced by pre_show().

◆ display() [1/2]

static void gui2::dialogs::wml_error::display ( const std::string &  summary,
const std::string &  post_summary,
const std::vector< std::string > &  files,
const std::string &  details 
)
inlinestatic

The display function; see modal_dialog for more information.

Definition at line 53 of file wml_error.hpp.

References wml_error().

Referenced by display(), game_config_manager::load_addons_cfg(), and game_config_manager::load_game_config().

◆ display() [2/2]

static void gui2::dialogs::wml_error::display ( const std::string &  summary,
const std::string &  details 
)
inlinestatic

The display function; see modal_dialog for more information.

Definition at line 62 of file wml_error.hpp.

References display().

◆ pre_show()

void gui2::dialogs::wml_error::pre_show ( window window)
overrideprivatevirtual

Actions to be taken before showing the window.

At this point the registered fields are registered and initialized with their initial values.

Parameters
windowThe window to be shown.

Reimplemented from gui2::dialogs::modal_dialog.

Definition at line 173 of file wml_error.cpp.

References _(), desktop::clipboard::available(), gui2::event::connect_signal_mouse_left_click(), copy_report_callback(), have_files_, have_post_summary_, gui2::widget::invisible, gui2::button::set_active(), gui2::styled_widget::set_tooltip(), and gui2::widget::set_visible().

◆ window_id()

virtual const std::string& gui2::dialogs::wml_error::window_id ( ) const
overrideprivatevirtual

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ have_files_

bool gui2::dialogs::wml_error::have_files_
private

Definition at line 69 of file wml_error.hpp.

Referenced by pre_show().

◆ have_post_summary_

bool gui2::dialogs::wml_error::have_post_summary_
private

Definition at line 70 of file wml_error.hpp.

Referenced by pre_show().

◆ report_

std::string gui2::dialogs::wml_error::report_
private

Definition at line 71 of file wml_error.hpp.

Referenced by copy_report_callback().


The documentation for this class was generated from the following files: