TDME2  1.9.200
GUIScrollAreaController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include <tdme/tdme.h>
11 
12 using std::unique_ptr;
13 
20 
21 /**
22  * GUI scroll area controller
23  * @author Andreas Drewke
24  */
26 {
27  friend class GUIScrollArea;
28 
29 private:
31  unique_ptr<GUIActionListener> actionListener;
32  bool scrollToBottomIssued { false };
33 
34  // forbid class copy
36 
37  /**
38  * Private constructor
39  * @param node node
40  */
42 
43  /**
44  * Scroll to bottom internal
45  */
47 
48 public:
49  bool isAtBottom();
50  void scrollToBottom();
51 
52  // overridden methods
53  bool isDisabled() override;
54  void setDisabled(bool disabled) override;
55  void initialize() override;
56  void dispose() override;
57  void postLayout() override;
58  void handleMouseEvent(GUINode* node, GUIMouseEvent* event) override;
59  void handleKeyboardEvent(GUIKeyboardEvent* event) override;
60  void tick() override;
61  void onFocusGained() override;
62  void onFocusLost() override;
63  bool hasValue() override;
64  const MutableString& getValue() override;
65  void setValue(const MutableString& value) override;
66  void onSubTreeChange() override;
67 
68 };
void initialize() override
Initialize controller after element has been created.
void handleKeyboardEvent(GUIKeyboardEvent *event) override
Handle keyboard event.
void setValue(const MutableString &value) override
Set value.
void handleMouseEvent(GUINode *node, GUIMouseEvent *event) override
Handle mouse event.
void scrollToBottomInternal()
Scroll to bottom internal.
GUIScrollAreaController(GUINode *node)
Private constructor.
void tick() override
Tick method will be executed once per frame.
void setDisabled(bool disabled) override
Set disabled.
void onSubTreeChange() override
On sub tree change.
GUI scroll area element.
Definition: GUIScrollArea.h:27
GUI node controller base class.
GUI node base class.
Definition: GUINode.h:64
Mutable utf8 aware string class.
Definition: MutableString.h:23
GUI action listener interface.
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6