The Battle for Wesnoth  1.17.0-dev
faction_select.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 - 2021
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 #include <vector>
23 
24 namespace gui2::dialogs
25 {
26 
28 {
29 public:
30  faction_select(ng::flg_manager& flg_manager, const std::string& color, const int side);
31 
33 
34  int get_side_num() const { return side_; }
35 private:
37 
38  const std::string tc_color_;
39 
40  const int side_;
41 
43 
45 
46  virtual const std::string& window_id() const override;
47 
48  virtual void pre_show(window& window) override;
49 
50  virtual void post_show(window& window) override;
51 
52  /** Callbacks */
53  void on_faction_select();
54 
55  void on_leader_select();
56 
58 
59  void on_gender_select();
60 
61  void update_leader_image();
62 };
63 
64 } // namespace dialogs
virtual void post_show(window &window) override
Actions to be taken after the window has been shown.
void on_faction_select()
Callbacks.
FLG stands for faction, leader and gender.
Definition: flg_manager.hpp:29
virtual const std::string & window_id() const override
The id of the window to build.
Abstract base class for all modal dialogs.
group< std::string > gender_toggle_
faction_select(ng::flg_manager &flg_manager, const std::string &color, const int side)
virtual void pre_show(window &window) override
Actions to be taken before showing the window.
base class of top level items, the only item which needs to store the final canvases to draw on...
Definition: window.hpp:65