TDME2  1.9.200
GUIRadioButtonController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <unordered_map>
5 #include <vector>
6 
7 #include <tdme/tdme.h>
13 
14 using std::string;
15 using std::unordered_map;
16 using std::vector;
17 
24 
25 /**
26  * GUI radio button controller
27  * @author Andreas Drewke
28  */
30  : public GUIElementController
31 {
32  friend class GUIRadioButton;
33 
34 private:
39  bool selected;
40  bool disabled;
41  STATIC_DLL_IMPEXT static unordered_map<string, vector<string>> radioButtonGroupNodesByName;
43 
44  // forbid class copy
46 
47  /**
48  * Private constructor
49  * @param node node
50  */
52 
53  /**
54  * @return is checked
55  */
56  bool isSelected();
57 
58  /**
59  * Select
60  */
61  void select();
62 
63 public:
64  // overridden methods
65  bool isDisabled() override;
66  void setDisabled(bool disabled) override;
67  void initialize() override;
68  void dispose() override;
69  void postLayout() override;
70  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
71  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
72  void tick() override;
73  void onFocusGained() override;
74  void onFocusLost() override;
75  bool hasValue() override;
76  const MutableString& getValue() override;
77  void setValue(const MutableString& value) override;
78 
79 };
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
GUIRadioButtonController(GUINode *node)
Private constructor.
void setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
void tick() override
Tick method will be executed once per frame.
static STATIC_DLL_IMPEXT string CONDITION_UNSELECTED
void setDisabled(bool disabled) override
Set disabled.
static STATIC_DLL_IMPEXT unordered_map< string, vector< string > > radioButtonGroupNodesByName
GUI radio button element.
GUI node base class.
Definition: GUINode.h:64
Mutable utf8 aware string class.
Definition: MutableString.h:23
#define STATIC_DLL_IMPEXT
Definition: tdme.h:15
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6