ManaPlus
textdialog.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2004-2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef GUI_WINDOWS_TEXTDIALOG_H
25 #define GUI_WINDOWS_TEXTDIALOG_H
26 
27 #include "gui/widgets/window.h"
28 
30 
31 class Button;
32 class PasswordField;
33 class TextField;
34 
40 class TextDialog final : public Window,
41  public ActionListener
42 {
43  public:
49  TextDialog(const std::string &restrict title,
50  const std::string &restrict msg,
51  Window *const parent,
52  const bool isPassword);
53 
55 
56  ~TextDialog() override final;
57 
58  void postInit() override final;
59 
63  void action(const ActionEvent &event) override final;
64 
68  const std::string &getText() const A_WARN_UNUSED;
69 
70  void setText(const std::string &text);
71 
73  { return instances != 0; }
74 
75  void close() override final;
76 
77  private:
78  static int instances;
79 
84 };
85 
86 #endif // GUI_WINDOWS_TEXTDIALOG_H
Definition: button.h:102
static int instances
Definition: textdialog.h:78
const std::string & getText() const
Definition: textdialog.cpp:124
void postInit()
Definition: textdialog.cpp:92
TextDialog(const std::string &title, const std::string &msg, Window *const parent, const bool isPassword)
Definition: textdialog.cpp:45
void action(const ActionEvent &event)
Definition: textdialog.cpp:115
static bool isActive()
Definition: textdialog.h:72
PasswordField * mPasswordField
Definition: textdialog.h:81
void close()
Definition: textdialog.cpp:141
bool mEnabledKeyboard
Definition: textdialog.h:83
void setText(const std::string &text)
Definition: textdialog.cpp:133
Button * mOkButton
Definition: textdialog.h:82
TextField * mTextField
Definition: textdialog.h:80
Definition: window.h:102
#define restrict
Definition: localconsts.h:165
#define override
Definition: localconsts.h:47
#define A_WARN_UNUSED
Definition: localconsts.h:161
#define noexcept2
Definition: localconsts.h:50
#define final
Definition: localconsts.h:46
#define A_DELETE_COPY(func)
Definition: localconsts.h:53
bool msg(InputEvent &event)
Definition: chat.cpp:39