6#include <QtCore/QtGlobal>
7#include <QtQuickWidgets/QQuickWidget>
8#include <QtWidgets/QVBoxLayout>
11#include <icomp/CComponentBase.h>
12#include <iqtgui/IVisualStatus.h>
13#include <iqtgui/IGuiObject.h>
14#include <iqtgui/TGuiComponentBase.h>
15#include <iqtgui/TMakeIconProviderCompWrap.h>
18#include <imtqml/IQuickObject.h>
29 public iqtgui::TMakeIconProviderCompWrap<icomp::CComponentBase>,
30 virtual public iqtgui::IGuiObject
33 typedef iqtgui::TMakeIconProviderCompWrap<icomp::CComponentBase> BaseClass;
36 I_REGISTER_INTERFACE(iqtgui::IGuiObject);
37 I_REGISTER_SUBELEMENT(VisualStatus);
38 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, iqtgui::IVisualStatus, ExtractVisualStatus);
39 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, istd::IChangeable, ExtractVisualStatus);
40 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, imod::IModel, ExtractVisualStatus);
41 I_ASSIGN(m_quickCompPtr,
"QuickObject",
"Quick",
false,
"QuickObject");
42 I_ASSIGN(m_defaultStatusIconPathAttrPtr,
"DefaultStatusIcon",
"Path of status icon used by default",
false,
"");
43 I_ASSIGN(m_defaultStatusTextAttrPtr,
"DefaultStatusText",
"Status text used by default",
true,
"");
49 virtual bool IsGuiCreated()
const override;
50 virtual bool CreateGui(QWidget* parentPtr)
override;
51 virtual bool DestroyGui()
override;
52 virtual QWidget* GetWidget()
const override;
53 virtual void OnTryClose(
bool* ignoredPtr = NULL)
override;
57 virtual void OnDesignSchemaChanged(
const QByteArray& themeId)
override;
60 virtual void OnComponentCreated()
override;
63 class VisualStatus:
virtual public iqtgui::IVisualStatus
67 virtual QIcon GetStatusIcon()
const;
68 virtual QString GetStatusText()
const;
78 template <
class InterfaceType>
81 return &component.m_visualStatus;
86 I_ATTR(QString, m_defaultStatusIconPathAttrPtr);
87 I_TEXTATTR(m_defaultStatusTextAttrPtr);
89 QQuickWidget* m_quickWidget;
91 imod::TModelWrap<VisualStatus> m_visualStatus;