The Battle for Wesnoth  1.15.12+dev
uninstall_list.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011 - 2018 by Iris Morelle <shadowm2006@gmail.com>
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 
19 #include <map>
20 
21 namespace gui2::dialogs
22 {
23 
24 /**
25  * @ingroup GUIWindowDefinitionWML
26  *
27  * Dialog with a checkbox list for choosing installed add-ons to remove.
28  * Key |Type |Mandatory|Description
29  * ------------------|---------------|---------|-----------
30  * addons_list | @ref listbox |yes |A listbox containing add-on selection entries.
31  * checkbox | toggle_button |yes |A toggle button allowing the user to mark/unmark the add-on.
32  * name | control |no |The name of the add-on.
33  */
35 {
36 public:
37  /**
38  * Constructor.
39  *
40  * @param addon_titles_map
41  * Internal id <-> user-visible title mappings for
42  * the add-ons to display.
43  */
45  const std::map<std::string, std::string>& addon_titles_map)
46  : titles_map_(addon_titles_map), ids_(), selections_()
47  {
48  }
49 
50  std::vector<std::string> selected_addons() const;
51 
52 private:
53  std::map<std::string, std::string> titles_map_;
54  std::vector<std::string> ids_;
55  std::map<std::string, bool> selections_;
56 
57  virtual const std::string& window_id() const override;
58 
59  virtual void pre_show(window& window) override;
60 
61  virtual void post_show(window& window) override;
62 };
63 
64 } // namespace dialogs
addon_uninstall_list(const std::map< std::string, std::string > &addon_titles_map)
Constructor.
std::vector< std::string > selected_addons() const
virtual const std::string & window_id() const override
The id of the window to build.
std::vector< std::string > ids_
std::map< std::string, std::string > titles_map_
virtual void pre_show(window &window) override
Actions to be taken before showing the window.
Dialog with a checkbox list for choosing installed add-ons to remove.
std::map< std::string, bool > selections_
Abstract base class for all modal dialogs.
base class of top level items, the only item which needs to store the final canvases to draw on...
Definition: window.hpp:64
virtual void post_show(window &window) override
Actions to be taken after the window has been shown.