#pragma once #include #include "QmlObjectListModel.h" #include "WimaArea.h" #include "WimaMeasurementArea.h" #include "WimaServiceArea.h" #include "WimaCorridor.h" class WimaDataContainer : public QObject { Q_OBJECT public: explicit WimaDataContainer(QObject *parent = nullptr); WimaDataContainer(WimaDataContainer &other, QObject *parent = nullptr) = delete; WimaDataContainer(WimaDataContainer &other) = delete; const WimaArea * joinedArea (void) { return _joinedArea; } const WimaMeasurementArea * opArea (void) { return _opArea; } const WimaServiceArea * serArea (void) { return _serArea; } const WimaCorridor * corridor (void) { return _corridor; } const QmlObjectListModel * visualItems (void) { return _visualItems; } signals: void joinedAreaChanged (const WimaArea *area); void opAreaChanged (const WimaMeasurementArea *area); void serAreaChanged (const WimaServiceArea *area); void corridorChanged (const WimaCorridor *area); void visualItemsChanged (const QmlObjectListModel *area); public slots: void setJoinedArea (const WimaArea *joinedArea); void setOpArea (const WimaMeasurementArea *opArea); void setSerArea (const WimaServiceArea *serArea); void setCorridor (const WimaCorridor *corridor); void setVisualItems (const QmlObjectListModel *visualItems); private: const WimaArea *_joinedArea; const WimaMeasurementArea *_opArea; const WimaServiceArea *_serArea; const WimaCorridor *_corridor; const QmlObjectListModel *_visualItems; };