6 #include "UIComponent.hpp"
11 typedef ShowcaseFactoryPtr<UIComponent> UIComponentFactoryPtr;
23 void init(GraphPtr graph,
const GraphNode& node);
26 void setShowLoadingOverlay(
bool showLoadingOverlay);
30 FactoryKey<UIComponent>
31 registerFactory(
const QString &name, UIComponentFactoryPtr factory);
33 UIComponentPtr createComponent(
const QString &componentName,
Slot::SlotType type);
35 bool unregisterFactory(FactoryKey<UIComponent> key);
37 MultiWidgets::WidgetPtr rootWidget();
38 MultiWidgets::WidgetPtr backgroundWidget();
39 MultiWidgets::WidgetPtr mainWidget();
40 MultiWidgets::WidgetPtr overlayWidget();
41 MultiWidgets::WidgetPtr internalOverlayWidget();
43 MultiWidgets::OperatorPtr inputTracker()
const;
48 std::shared_ptr<UIComponent> stockUIComponent(
const QString & componentName);
50 UIComponentInstancePtr createStockInstance(
const QString & componentName,
51 const QByteArray & role =
"");
52 MultiWidgets::WidgetPtr createStockWidget(
const QString & componentName,
53 const QByteArray & role =
"");
54 MultiWidgets::OperatorPtr createStockOperator(
const QString & componentName,
55 MultiWidgets::Widget & targetWidget,
56 const QByteArray & role =
"");
59 std::shared_ptr<UIComponent> m_root;
60 FactoryMap<UIComponent> m_componentFactories;
62 std::mutex m_stockComponentsMutex;
63 std::map<QString, std::shared_ptr<UIComponent> > m_stockComponents;
65 bool m_showLoadingOverlay =
true;
67 typedef std::shared_ptr<UserInterface> UserInterfacePtr;