ImagingTools Core SDK
CQmlLineShape.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// Qt includes
6#include <QtCore/QObject>
7
8// ACF includes
9#include <i2d/CLine2d.h>
10#include <imod/TSingleModelObserverBase.h>
11
13#include "dummy.h"
14
15
16namespace imtqml2d
17{
18
19
20class CQmlLineShape: public sdl::imtsdl2d::imt2d::CLine2d, public imod::TSingleModelObserverBase<i2d::CLine2d>
21{
22 Q_OBJECT
23
24public:
25 typedef imod::CSingleModelObserverBase BaseClass;
26 typedef CLine2d BaseClass2;
27
28 [[nodiscard]] bool IsValid() const;
29
30 // reimplemented (imod::IObserver)
31 virtual bool OnModelAttached(imod::IModel* modelPtr, istd::IChangeable::ChangeSet& changeMask) override;
32 virtual bool OnModelDetached(imod::IModel* modelPtr) override;
33 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
34
35 // reimplemented CLine2d
36 virtual void SetPoint1(sdl::imtsdl2d::imt2d::CPoint2d newPoint1) override;
37 virtual void SetPoint2(sdl::imtsdl2d::imt2d::CPoint2d newPoint2) override;
38};
39
40
41} // namespace imtqml2d