You.i Engine
YiDevWidgetWithText.h
Go to the documentation of this file.
1 #ifndef _YI_DEV_WIDGET_WITH_TEXT_H_
2 #define _YI_DEV_WIDGET_WITH_TEXT_H_
3 
7 
8 class CYIGeoButton;
9 class CYIGeoLabel;
10 class CYIGeoList;
11 class CYIGeoScene;
12 class CYIGeoView;
13 class CYISceneView;
14 
32 {
33 public:
34  CYIDevWidgetWithText(const CYIString &title = "Untitled Text Widget", const CYIString &subtitle = "");
35 
41  virtual void SetText(const CYIString &text, const CYIGeometryBatch::TextSettings &settings = CYIGeometryBatch::TextSettings());
42 
47 
51  void SetFloatingMode(bool bFloating);
52 
53 protected:
54  virtual void OnDraw() override;
55  virtual bool OnUpdate(bool *pbSkipUpdate = nullptr) override;
56  virtual void OnPanelItemClicked() override;
57  virtual void OnShow();
58  virtual void OnHide();
59  virtual bool OnHandleActionInputs(int32_t nX, int32_t nY, int32_t nWheelDelta, uint8_t uButton, YI_EVENT_TYPE eEventType, uint8_t uPointerID, bool bHover) override;
60  virtual bool OnHandleKeyInputs(const CYIKeyEvent &keyEvent) override;
61  virtual bool OnBackButtonPressed() override;
62  void UpdateText();
63 
67  void OnClicked();
68 
69 private:
70  bool m_bFloating;
71  std::vector<std::shared_ptr<CYIGeoLabel>> m_lines;
72  int32_t m_nAlignment;
73 
74  std::shared_ptr<CYIGeoScene> m_pView;
75  std::shared_ptr<CYIGeoButton> m_pContainer;
76  std::shared_ptr<CYIGeoLabel> m_pTitle;
77  std::shared_ptr<CYIGeoList> m_pList;
78  std::shared_ptr<CYIGeoButton> m_pCloseButton;
79 
81 };
82 
85 #endif
Class for key events.
Definition: YiKeyEvent.h:15
The base class for all view types. Views are containers of renderable elements that often define inte...
Definition: YiSceneView.h:47
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
YI_EVENT_TYPE
The event type of the CYIEvent class instance.
Definition: YiEvent.h:23
CYIDevWidgetWithText(const CYIString &title="Untitled Text Widget", const CYIString &subtitle="")
virtual void OnHide()
Implement this interface to provide custom behaviour when the system back button is pressed...
Definition: YiBackButtonHandler.h:32
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
Definition: YiGeometryBatch.h:91
virtual void OnPanelItemClicked() override
virtual bool OnHandleActionInputs(int32_t nX, int32_t nY, int32_t nWheelDelta, uint8_t uButton, YI_EVENT_TYPE eEventType, uint8_t uPointerID, bool bHover) override
virtual bool OnHandleKeyInputs(const CYIKeyEvent &keyEvent) override
virtual void SetText(const CYIString &text, const CYIGeometryBatch::TextSettings &settings=CYIGeometryBatch::TextSettings())
void SetFloatingMode(bool bFloating)
virtual void OnDraw() override
A dev widget used to display text to the user.
Definition: YiDevWidgetWithText.h:31
virtual bool OnUpdate(bool *pbSkipUpdate=nullptr) override
The base class for all dev widgets.
Definition: YiDevWidget.h:37
virtual bool OnBackButtonPressed() override
virtual void OnShow()
void AddLine(const CYIString &text, const CYIGeometryBatch::TextSettings &settings=CYIGeometryBatch::TextSettings())