The Battle for Wesnoth  1.19.6+dev
faction_select.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 - 2024
3  Part of the Battle for Wesnoth Project https://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 #pragma once
16 
19 #include "gui/widgets/group.hpp"
20 
21 #include <string>
22 
23 namespace gui2::dialogs
24 {
25 
27 {
28 public:
29  faction_select(ng::flg_manager& flg_manager, const std::string& color, const int side);
30 
32 
33  int get_side_num() const { return side_; }
34 private:
36 
37  const std::string tc_color_;
38 
39  const int side_;
40 
42 
44 
45  virtual const std::string& window_id() const override;
46 
47  virtual void pre_show() override;
48 
49  virtual void post_show() override;
50 
51  /** Callbacks */
52  void on_faction_select();
53 
54  void on_leader_select();
55 
57 
58  void on_gender_select(const std::string& val);
59 
60  void update_leader_image();
61 };
62 
63 } // namespace dialogs
virtual void post_show() override
Actions to be taken after the window has been shown.
faction_select(ng::flg_manager &flg_manager, const std::string &color, const int side)
virtual void pre_show() override
Actions to be taken before showing the window.
group< std::string > gender_toggle_
void on_gender_select(const std::string &val)
virtual const std::string & window_id() const override
The ID of the window to build.
Abstract base class for all modal dialogs.
FLG stands for faction, leader and gender.
Definition: flg_manager.hpp:30
#define DEFINE_SIMPLE_EXECUTE_WRAPPER(dialog)
Adds a bare-bonesstatic execute function to a dialog class that immediately invokes and return the re...