ImagingTools Core SDK
CObserverQmlComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <ilog/TLoggerCompWrap.h>
7#include <iprm/IParamsSet.h>
8
9// ImtCore includes
10#include <imtserverapp/IJsonRepresentationController.h>
11#include <imtqml/IQuickObject.h>
12
13
14namespace imtqml
15{
16
17
18class CObserverQmlComp: public QObject, public ilog::CLoggerComponentBase
19{
20 Q_OBJECT
21public:
22 typedef ilog::CLoggerComponentBase BaseClass;
23
24 I_BEGIN_COMPONENT(CObserverQmlComp);
25 I_ASSIGN(m_settingsRepresentationControllerCompPtr, "SettingsRepresentationController", "Controller for representation settings", true, "");
26 I_ASSIGN(m_settingsCompPtr, "Settings", "Settings", false, "Settings");
27 I_ASSIGN(m_quickObjectCompPtr, "QuickObject", "Main QML Component", true, "QuickObject");
28 I_END_COMPONENT;
29
30protected:
31 // reimplemented (icomp::CComponentBase)
32 virtual void OnComponentCreated() override;
33
34private Q_SLOTS:
35 void OnSettingsChanged(QString jsonData);
36
37private:
38 I_REF(iprm::IParamsSet, m_settingsCompPtr);
39 I_REF(imtserverapp::IJsonRepresentationController, m_settingsRepresentationControllerCompPtr);
40 I_REF(imtqml::IQuickObject, m_quickObjectCompPtr);
41};
42
43
44} // namespace imtqml
45
46