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

#include <custom_tod.hpp>

Inheritance diagram for gui2::dialogs::custom_tod:
Inheritance graph

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
 
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
 Inherited from modal_dialog, implemented by REGISTER_DIALOG. More...
 
virtual void pre_show (window &window) override
 Inherited from modal_dialog. More...
 
virtual void post_show (window &window) override
 Inherited from modal_dialog. More...
 
void do_next_tod (window &window)
 Callback for the next tod button. More...
 
void do_prev_tod (window &window)
 
void do_new_tod (window &window)
 
void do_delete_tod (window &window)
 
template<custom_tod::string_pair(*)(const time_of_day &) fptr>
void select_file (window &window, const std::string &default_dir)
 
void color_slider_callback (window &window)
 
void update_tod_display (window &window)
 
void update_lawful_bonus (window &window)
 
void set_selected_tod (time_of_day tod)
 
const time_of_dayget_selected_tod () const
 
void update_selected_tod_info (window &window)
 
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

Definition at line 29 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 37 of file custom_tod.hpp.

◆ tod_attribute_getter

Definition at line 38 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 106 of file custom_tod.cpp.

Member Function Documentation

◆ color_slider_callback()

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

◆ copy_to_clipboard_callback()

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

Definition at line 338 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 ( window window)
private

Definition at line 239 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 ( window window)
private

Definition at line 233 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 ( window window)
private

Callback for the next tod button.

Definition at line 221 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 ( window window)
private

Definition at line 227 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

Inherited from modal_dialog.

Reimplemented from gui2::dialogs::modal_dialog.

Definition at line 343 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 ( window window,
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 ( window window)
private

Definition at line 307 of file custom_tod.cpp.

References current_tod_, and times_.

Referenced by pre_show().

◆ update_selected_tod_info()

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

◆ update_tod_display()

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

◆ window_id()

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

Inherited from modal_dialog, implemented by REGISTER_DIALOG.

Implements gui2::dialogs::modal_dialog.

Member Data Documentation

◆ color_field_b_

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

Definition at line 81 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 80 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 79 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: