The Battle for Wesnoth  1.19.5+dev
unit_advance.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2016 - 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 
18 #include "units/ptr.hpp"
19 
20 namespace gui2::dialogs
21 {
22 
23 class unit_advance : public modal_dialog
24 {
25 public:
26  unit_advance(const std::vector<unit_const_ptr>& samples, std::size_t real);
27 
28  int get_selected_index() const
29  {
30  return selected_index_;
31  }
32 
33 private:
34  virtual const std::string& window_id() const override;
35  virtual void pre_show() override;
36  virtual void post_show() override;
37 
38  void list_item_clicked();
39 
40  void show_help();
41 
42  const std::vector<unit_const_ptr>& previews_;
43 
45 };
46 
47 } // namespace dialogs
Abstract base class for all modal dialogs.
const std::vector< unit_const_ptr > & previews_
unit_advance(const std::vector< unit_const_ptr > &samples, std::size_t real)
virtual void pre_show() override
Actions to be taken before showing the window.
virtual const std::string & window_id() const override
The ID of the window to build.
virtual void post_show() override
Actions to be taken after the window has been shown.