The Battle for Wesnoth  1.15.12+dev
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gui2::dialogs::custom_tod Class Reference

This shows the dialog to modify tod schedules. More...

#include <custom_tod.hpp>

Inheritance diagram for gui2::dialogs::custom_tod:

Public Types

using string_pair = std::pair< std::string, std::string >
 The execute function. More...
 
using tod_attribute_getter = std::function< string_pair(const time_of_day &)>
 

Public Member Functions

 custom_tod (const std::vector< time_of_day > &times, int current_time)
 
- 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)
 

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...
 
virtual void post_show (window &window) override
 Actions to be taken after the window has been shown. More...
 
void do_next_tod ()
 Callback for the next tod button. More...
 
void do_prev_tod ()
 
void do_new_tod ()
 
void do_delete_tod ()
 
template<custom_tod::string_pair(*)(const time_of_day &) fptr>
void select_file (const std::string &default_dir)
 
void color_slider_callback ()
 
void update_tod_display ()
 
void update_lawful_bonus ()
 
void set_selected_tod (time_of_day tod)
 
const time_of_dayget_selected_tod () const
 
void update_selected_tod_info ()
 
void copy_to_clipboard_callback (tod_attribute_getter getter)
 

Private Attributes

std::vector< time_of_daytimes_
 Available time_of_days. More...
 
int current_tod_
 Current ToD index. More...
 
field_integercolor_field_r_
 
field_integercolor_field_g_
 
field_integercolor_field_b_
 

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

This shows the dialog to modify tod schedules.

Key Type MandatoryDescription
current_tod_name text_box yes The name of the time of day(ToD).
current_tod_id text_box yes The id of the time of day(ToD).
current_tod_image image yes The image for the time of day(ToD).
current_tod_mask image yes The image mask for the time of day(ToD).
current_tod_sound label yes The sound for the time of day(ToD).
next_tod button yes Selects the next ToD.
prev_tod button yes Selects the previous ToD.
lawful_bonus slider yes Sets the Lawful Bonus for the current ToD.
tod_red slider yes Sets the red component of the current ToD.
tod_green slider yes Sets the green component of the current ToD.
tod_blue slider yes Sets the blue component of the current ToD.

Definition at line 47 of file custom_tod.hpp.

Member Typedef Documentation

◆ string_pair

using gui2::dialogs::custom_tod::string_pair = std::pair<std::string, std::string>

The execute function.

See modal_dialog for more information.

Definition at line 55 of file custom_tod.hpp.

◆ tod_attribute_getter

Definition at line 56 of file custom_tod.hpp.

Constructor & Destructor Documentation

◆ custom_tod()

gui2::dialogs::custom_tod::custom_tod ( const std::vector< time_of_day > &  times,
int  current_time 
)

Definition at line 58 of file custom_tod.cpp.

Member Function Documentation

◆ color_slider_callback()

void gui2::dialogs::custom_tod::color_slider_callback ( )
private

◆ copy_to_clipboard_callback()

void gui2::dialogs::custom_tod::copy_to_clipboard_callback ( tod_attribute_getter  getter)
private

Definition at line 293 of file custom_tod.cpp.

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

Referenced by pre_show().

◆ do_delete_tod()

void gui2::dialogs::custom_tod::do_delete_tod ( )
private

Definition at line 194 of file custom_tod.cpp.

References current_tod_, times_, and update_selected_tod_info().

Referenced by pre_show().

◆ do_new_tod()

void gui2::dialogs::custom_tod::do_new_tod ( )
private

Definition at line 188 of file custom_tod.cpp.

References current_tod_, times_, and update_selected_tod_info().

Referenced by pre_show().

◆ do_next_tod()

void gui2::dialogs::custom_tod::do_next_tod ( )
private

Callback for the next tod button.

Definition at line 176 of file custom_tod.cpp.

References current_tod_, times_, and update_selected_tod_info().

Referenced by pre_show().

◆ do_prev_tod()

void gui2::dialogs::custom_tod::do_prev_tod ( )
private

Definition at line 182 of file custom_tod.cpp.

References current_tod_, times_, and update_selected_tod_info().

Referenced by pre_show().

◆ get_selected_tod()

const time_of_day & gui2::dialogs::custom_tod::get_selected_tod ( ) const
private

◆ post_show()

void gui2::dialogs::custom_tod::post_show ( window window)
overrideprivatevirtual

Actions to be taken after the window has been shown.

At this point the registered fields already stored their values (if the OK has been pressed).

Parameters
windowThe window which has been shown.

Reimplemented from gui2::dialogs::modal_dialog.

Definition at line 298 of file custom_tod.cpp.

References gui2::dialogs::modal_dialog::get_retval(), gui2::OK, and update_tod_display().

◆ pre_show()

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

◆ select_file()

template<custom_tod::string_pair(*)(const time_of_day &) fptr>
void gui2::dialogs::custom_tod::select_file ( const std::string &  default_dir)
private

◆ set_selected_tod()

void gui2::dialogs::custom_tod::set_selected_tod ( time_of_day  tod)
private

◆ update_lawful_bonus()

void gui2::dialogs::custom_tod::update_lawful_bonus ( )
private

Definition at line 262 of file custom_tod.cpp.

References current_tod_, gui2::dialogs::modal_dialog::get_window(), and times_.

Referenced by pre_show().

◆ update_selected_tod_info()

void gui2::dialogs::custom_tod::update_selected_tod_info ( )
private

◆ update_tod_display()

void gui2::dialogs::custom_tod::update_tod_display ( )
private

◆ window_id()

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

The id of the window to build.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ color_field_b_

field_integer* gui2::dialogs::custom_tod::color_field_b_
private

Definition at line 96 of file custom_tod.hpp.

Referenced by color_slider_callback(), pre_show(), and update_selected_tod_info().

◆ color_field_g_

field_integer* gui2::dialogs::custom_tod::color_field_g_
private

Definition at line 95 of file custom_tod.hpp.

Referenced by color_slider_callback(), pre_show(), and update_selected_tod_info().

◆ color_field_r_

field_integer* gui2::dialogs::custom_tod::color_field_r_
private

Definition at line 94 of file custom_tod.hpp.

Referenced by color_slider_callback(), pre_show(), and update_selected_tod_info().

◆ current_tod_

int gui2::dialogs::custom_tod::current_tod_
private

◆ times_

std::vector<time_of_day> gui2::dialogs::custom_tod::times_
private

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