TDME2  1.9.200
EmptyEditorTabController.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <string>
5 
6 #include <tdme/tdme.h>
19 
20 using std::string;
21 using std::unique_ptr;
22 
40 
41 /**
42  * Empty editor tab controller
43  * @author Andreas Drewke
44  */
46  : public TabController
47 {
48 
49 private:
50  unique_ptr<BasePropertiesSubController> basePropertiesSubController;
51  unique_ptr<PrototypeScriptSubController> prototypeScriptSubController;
52  EmptyEditorTabView* view { nullptr };
53  GUIScreenNode* screenNode { nullptr };
54  PopUps* popUps { nullptr };
55 
56 public:
57  // forbid class copy
59 
60  /**
61  * Public constructor
62  * @param view view
63  */
65 
66  /**
67  * Destructor
68  */
69  virtual ~EmptyEditorTabController();
70 
71  /**
72  * Get view
73  * @return view
74  */
76  return view;
77  }
78 
79  // overridden method
80  inline GUIScreenNode* getScreenNode() override {
81  return screenNode;
82  }
83 
84  // overridden methods
85  void initialize(GUIScreenNode* screenNode) override;
86  void dispose() override;
87  void onChange(GUIElementNode* node) override;
88  void onAction(GUIActionListenerType type, GUIElementNode* node) override;
89  void onFocus(GUIElementNode* node) override;
90  void onUnfocus(GUIElementNode* node) override;
91  void onContextMenuRequest(GUIElementNode* node, int mouseX, int mouseY) override;
92  void onTooltipShowRequest(GUINode* node, int mouseX, int mouseY) override;
93  void onTooltipCloseRequest() override;
94  void onCommand(TabControllerCommand command) override;
95  void onDrop(const string& payload, int mouseX, int mouseY) override;
96 
97  /**
98  * Set outliner content
99  */
100  void setOutlinerContent();
101 
102  /**
103  * Set outliner add drop down content
104  */
106 
107  /**
108  * Update details panel
109  * @param outlinerNode outliner node
110  */
111  void updateDetails(const string& outlinerNode);
112 
113  /**
114  * Update info text line
115  * @param text text
116  */
117  void updateInfoText(const MutableString& text);
118 
119  /**
120  * Show the information pop up / modal
121  * @param caption caption
122  * @param message message
123  */
124  void showInfoPopUp(const string& caption, const string& message);
125 
126 };
GUI node base class.
Definition: GUINode.h:64
GUI parent node base class thats supporting child nodes.
Definition: GUIParentNode.h:42
GUI screen node that represents a screen that can be rendered via GUI system.
Definition: GUIScreenNode.h:72
Pop ups controller accessor class.
Definition: PopUps.h:29
void onContextMenuRequest(GUIElementNode *node, int mouseX, int mouseY) override
On context menu request.
void onDrop(const string &payload, int mouseX, int mouseY) override
On drop.
void updateInfoText(const MutableString &text)
Update info text line.
void setOutlinerAddDropDownContent()
Set outliner add drop down content.
void onCommand(TabControllerCommand command) override
On command.
EmptyEditorTabController(EmptyEditorTabView *view)
Public constructor.
void updateDetails(const string &outlinerNode)
Update details panel.
unique_ptr< PrototypeScriptSubController > prototypeScriptSubController
void showInfoPopUp(const string &caption, const string &message)
Show the information pop up / modal.
void onAction(GUIActionListenerType type, GUIElementNode *node) override
unique_ptr< BasePropertiesSubController > basePropertiesSubController
void onTooltipShowRequest(GUINode *node, int mouseX, int mouseY) override
On tooltip show request.
Mutable utf8 aware string class.
Definition: MutableString.h:23
GUI action listener interface.
GUI change listener interface.
GUI focus listener interface.
Tab controller, which connects UI with logic.
Definition: TabController.h:34
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6