ImagingTools Core SDK
CProductionSpeedItem.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 <QtWidgets/QGraphicsRectItem>
7
8// ACF includes
9#include <istd/TSmartPtr.h>
10
11// ImtCore includes
12#include <imtloggui/IEventScenePositionProvider.h>
13//#include <imtloggui/CRepresentationProductionModel.h>
14#include <istd/IChangeable.h>
15
16
17namespace imtloggui
18{
19
20
21class CProductionSpeedItem: public QGraphicsRectItem
22{
23public:
24 typedef QGraphicsRectItem BaseClass;
25
26 CProductionSpeedItem(QGraphicsItem* parent = nullptr);
27 istd::TSmartPtr<istd::IChangeable> GetModel();
28 void SetModel(istd::TSmartPtr<istd::IChangeable> modelPtr);
29 void SetScenePositionProvider(IEventScenePositionProvider* providerPtr);
30
31 // reimplemented (QGraphicsItem)
32 virtual QRectF boundingRect() const override;
33 virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
34 virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override;
35
36private:
37 istd::TSmartPtr<istd::IChangeable> m_modelPtr;
38 IEventScenePositionProvider* m_positionProviderPtr;
39};
40
41
42} // namespace imtloggui
43
44