The Battle for Wesnoth  1.15.2+dev
edit_label.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 - 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 #include "color.hpp"
19 
20 namespace gui2
21 {
22 namespace dialogs
23 {
24 
26 {
27 public:
28  /**
29  * Constructor.
30  *
31  * @param[in, out] text The parameter's usage is:
32  * - Input: The initial value of the label.
33  * - Output: The label text the user entered if
34  * the dialog returns @ref retval::OK
35  * undefined otherwise.
36  */
37  editor_edit_label(std::string& text,
38  bool& immutable,
39  bool& visible_fog,
40  bool& visible_shroud,
41  color_t& color,
42  std::string& category);
43 
44  /** The execute function. See @ref modal_dialog for more information. */
46 
47 private:
49  int load_color_component(uint8_t color_t::* component);
50  void save_color_component(uint8_t color_t::* component, const int value);
51  void register_color_component(std::string widget_id, uint8_t color_t::* component);
52  /** Inherited from modal_dialog, implemented by REGISTER_DIALOG. */
53  virtual const std::string& window_id() const override;
54  /** Inherited from modal_dialog. */
55  virtual void pre_show(window& window) override;
56 };
57 } // namespace dialogs
58 } // namespace gui2
int load_color_component(uint8_t color_t::*component)
Definition: edit_label.cpp:99
editor_edit_label(std::string &text, bool &immutable, bool &visible_fog, bool &visible_shroud, color_t &color, std::string &category)
Constructor.
Definition: edit_label.cpp:56
void register_color_component(std::string widget_id, uint8_t color_t::*component)
Definition: edit_label.cpp:93
virtual const std::string & window_id() const override
Inherited from modal_dialog, implemented by REGISTER_DIALOG.
Generic file dialog.
Definition: field-fwd.hpp:22
Various uncategorised dialogs.
virtual void pre_show(window &window) override
Inherited from modal_dialog.
Definition: edit_label.cpp:87
color_t & color_store
The execute function.
Definition: edit_label.hpp:48
Abstract base class for all modal dialogs.
void save_color_component(uint8_t color_t::*component, const int value)
Definition: edit_label.cpp:103
base class of top level items, the only item which needs to store the final canvases to draw on ...
Definition: window.hpp:62