MT Showcase SDK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
RootComponent.hpp
1 #pragma once
2 
3 #include "UIComponent.hpp"
4 
5 namespace Showcase
6 {
10  class SHOWCASE_API RootInstance : public UIComponentInstance
11  {
12  public:
13  RootInstance(ComponentPtr component);
14  virtual ~RootInstance();
15 
16  virtual void componentAddedToSlot(const QByteArray &slotName,
17  std::shared_ptr<Component> comp) override;
18 
19  void setShowLoadingOverlay(bool showLoadingOverlay);
20 
21  MultiWidgets::WidgetPtr rootWidget();
22  MultiWidgets::WidgetPtr backgroundWidget();
23  MultiWidgets::WidgetPtr mainWidget();
24  MultiWidgets::WidgetPtr overlayWidget();
25  MultiWidgets::WidgetPtr internalOverlayWidget();
26 
27  MultiWidgets::OperatorPtr inputTracker() const;
28 
29  protected:
30  virtual void removeInstance() override;
31 
32  private:
33  MultiWidgets::WidgetPtr slotToLayer(const QByteArray& slotName) const;
34  void limitResize();
35 
36  MultiWidgets::WidgetPtr m_rootWidget;
37 
39  MultiWidgets::WidgetPtr m_backgroundWidget;
40  MultiWidgets::WidgetPtr m_mainWidget;
41  MultiWidgets::WidgetPtr m_overlayWidget;
42  MultiWidgets::WidgetPtr m_internalOverlayWidget;
43 
44  MultiWidgets::OperatorPtr m_inputTracker;
45 
46  MultiWidgets::WidgetWeakPtr m_loadingOverlay;
47 
48  long m_sizeListenerId = -1;
49  };
50 
51  //------------------------------------------------------------------------
52 
53  class SHOWCASE_API RootComponent : public UIComponent
54  {
55  public:
56  RootComponent(CachedGraphPtr uiGraph);
57 
58  protected:
59  virtual ComponentInstancePtr instanceImpl() override;
60  };
61 
62 }