6#include <QtCore/QObject>
7#include <QtQuickWidgets/QQuickWidget>
8#include <QtWidgets/QVBoxLayout>
11#include <ibase/TLocalizableWrap.h>
12#include <icomp/CComponentBase.h>
13#include <imod/TModelWrap.h>
14#include <iqtgui/IVisualStatus.h>
15#include <iqtgui/IGuiObject.h>
16#include <iqtgui/TMakeIconProviderCompWrap.h>
19#include <imtqml/CQuickObjectCompBase.h>
31 public ibase::TLocalizableWrap<iqtgui::TMakeIconProviderCompWrap<icomp::CComponentBase>>,
32 virtual public iqtgui::IGuiObject
36 typedef ibase::TLocalizableWrap<iqtgui::TMakeIconProviderCompWrap<icomp::CComponentBase>> BaseClass;
39 I_REGISTER_INTERFACE(iqtgui::IGuiObject);
40 I_REGISTER_SUBELEMENT(VisualStatus);
41 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, iqtgui::IVisualStatus, ExtractVisualStatus);
42 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, istd::IChangeable, ExtractVisualStatus);
43 I_REGISTER_SUBELEMENT_INTERFACE_T(VisualStatus, imod::IModel, ExtractVisualStatus);
44 I_ASSIGN(m_pathToQmlAttrPtr,
"QmlFilePath",
"This path used for load QML file",
true,
"");
45 I_ASSIGN(m_defaultStatusIconPathAttrPtr,
"DefaultStatusIcon",
"Path of status icon used by default",
false,
"");
46 I_ASSIGN(m_defaultStatusTextAttrPtr,
"DefaultStatusText",
"Status text used by default",
true,
"");
51 bool IsGuiShown()
const;
54 virtual bool IsGuiCreated()
const override;
55 virtual bool CreateGui(QWidget* parentPtr)
override;
56 virtual bool DestroyGui()
override;
57 virtual QWidget* GetWidget()
const override;
58 virtual void OnTryClose(
bool* ignoredPtr = NULL)
override;
61 virtual void OnGuiDesignChanged();
62 virtual void OnGuiShown();
63 virtual void OnGuiHidden();
64 virtual void OnRetranslate();
65 virtual void OnGuiRetranslate();
66 virtual void OnGuiCreated();
67 virtual void OnGuiDestroyed();
70 virtual void OnLanguageChanged()
override;
73 virtual void OnDesignSchemaChanged(
const QByteArray& themeId)
override;
76 virtual void OnComponentCreated()
override;
79 virtual bool eventFilter(QObject* senderPtr, QEvent* eventPtr)
override;
82 virtual void OnQuickItemDestroyed();
85 class VisualStatus:
virtual public iqtgui::IVisualStatus
89 virtual QIcon GetStatusIcon()
const override;
90 virtual QString GetStatusText()
const override;
100 template <
class InterfaceType>
103 return &component.m_visualStatus;
107 I_ATTR(QString, m_pathToQmlAttrPtr);
108 I_ATTR(QString, m_defaultStatusIconPathAttrPtr);
109 I_TEXTATTR(m_defaultStatusTextAttrPtr);
111 QQuickWidget* m_quickWidget =
nullptr;
112 imod::TModelWrap<VisualStatus> m_visualStatus;
115 bool m_isGuiShown =
false;
116 bool m_hasPendingDesignChanges =
false;