The Battle for Wesnoth  1.17.0-dev
faction_select.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2009 - 2018 by the Battle for Wesnoth Project https://www.wesnoth.org/
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8  This program is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY.
10 
11  See the COPYING file for more details.
12 */
13 
14 #pragma once
15 
18 #include "gui/widgets/group.hpp"
19 
20 #include <string>
21 #include <vector>
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(window& window) override;
48 
49  virtual void post_show(window& window) override;
50 
51  /** Callbacks */
52  void on_faction_select();
53 
54  void on_leader_select();
55 
57 
58  void on_gender_select();
59 
60  void update_leader_image();
61 };
62 
63 } // 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:28
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:64