#include "WimaPlanData.h" WimaPlanData::WimaPlanData(QObject *parent) : QObject (parent) { } WimaPlanData::WimaPlanData(const WimaPlanData &other, QObject *parent) : QObject (parent) { *this = other; } /*! * \fn WimaPlanData &WimaPlanData::operator=(const WimaPlanData &other) * * Copies the data area list of \a other to the calling \c WimaPlanData object. * Returns a reference to the calling \c WimaPlanData object. */ WimaPlanData &WimaPlanData::operator=(const WimaPlanData &other) { QList areaList = other.areaList(); _areaList.clear(); for (const WimaAreaData* areaData: areaList) { if (areaData->type() == WimaAreaData::typeString) { this->append(*areaData); }else if (areaData->type() == WimaServiceAreaData::typeString) { this->append(*qobject_cast(areaData)); }else if (areaData->type() == WimaMeasurementAreaData::typeString) { this->append(*qobject_cast(areaData)); }else if (areaData->type() == WimaCorridorData::typeString) { this->append(*qobject_cast(areaData)); } } return *this; } /*! * \fn void WimaPlanData::append(const WimaAreaData &areaData) * * Adds a WimaAreaData item. */ void WimaPlanData::append(const WimaAreaData &areaData) { _joinedArea = areaData; if( !_areaList.contains(&_joinedArea) ) { _areaList.append(&_joinedArea); } } /*! * \fn void WimaPlanData::append(const WimaServiceAreaData &areaData) * * Adds a WimaServiceAreaData item. */ void WimaPlanData::append(const WimaServiceAreaData &areaData) { _serviceArea = areaData; if( !_areaList.contains(&_serviceArea) ) { _areaList.append(&_serviceArea); } } /*! * \fn void WimaPlanData::append(const WimaServiceAreaData &areaData) * * Adds a WimaCorridorData item. */ void WimaPlanData::append(const WimaCorridorData &areaData) { _corridor = areaData; if( !_areaList.contains(&_corridor) ) { _areaList.append(&_corridor); } } /*! * \fn void WimaPlanData::append(const WimaServiceAreaData &areaData) * * Adds a WimaMeasurementAreaData item. */ void WimaPlanData::append(const WimaMeasurementAreaData &areaData) { _measurementArea = areaData; if( !_areaList.contains(&_measurementArea) ) { _areaList.append(&_measurementArea); } } /*! * \fn void WimaPlanData::append(const WimaServiceAreaData &areaData) * * Clears all stored objects */ void WimaPlanData::clear() { _areaList.clear(); } QList WimaPlanData::areaList() const { return _areaList; } /*! * \class WimaPlanData * \brief Class storing data generated by the \c WimaPlaner class. * * This class is designed to store data generated by the \c WimaPlaner class and * meant for data exchange between the \c WimaController and the \c WimaPlanner. * It stores a QList of \c WimaAreaData objects, called area data list, containing the data of serveral \c WimaAreas * generated by the \c WimaPlaner. * * \sa QList */