Index: sources/view/VRxProfiles.cpp =================================================================== diff -u -ra3eef4554f2619b7b89822e776032ce8a2b4ca1e -r1f927e37764a81fb6538b5cf7a74d8beacf56aac --- sources/view/VRxProfiles.cpp (.../VRxProfiles.cpp) (revision a3eef4554f2619b7b89822e776032ce8a2b4ca1e) +++ sources/view/VRxProfiles.cpp (.../VRxProfiles.cpp) (revision 1f927e37764a81fb6538b5cf7a74d8beacf56aac) @@ -16,6 +16,8 @@ #include "VRxProfiles.h" // Qt +#include +#include // Project #include "ApplicationController.h" @@ -24,32 +26,85 @@ #include "MsgDefs.h" #include "TreatmentLog.h" +#include "MRxProfilesData.h" + using namespace Gui; using namespace View; using namespace Storage; -VRxProfiles::VRxProfiles(QObject *parent) : QObject(parent) +VRxProfiles::VRxProfiles(QObject *parent) : QObject(parent), +_rxProfilesModels(this) { connect (this, SIGNAL(didRxProfileList()), &_RxProfilesController, SLOT(doInitRxProfiles())); - ACTION_METHOD_BRIDGE_CONNECTION(RxProfileList, _RxProfilesController, QFileInfoList) - + ACTION_METHOD_BRIDGE_CONNECTION(RxProfileList, _RxProfilesController, QList) + QQmlEngine::setObjectOwnership(&_rxProfilesModels, QQmlEngine::CppOwnership); + _rxProfilesModels.setRoleNames({ + { eDataRole_BloodFlow , "bloodFlow" }, + { eDataRole_DialysateFlow , "dialysateFlow" }, + { eDataRole_TreatmentDuration , "treatmentDuration" }, + { eDataRole_AcidConcentrateType , "acidConcentrate" }, + { eDataRole_BicarbonateConcentrateType , "bicarbConcentrate" }, + { eDataRole_DialysateTemperature , "dialysateTemperature" }, + { eDataRole_DialyzerType , "dialyzertype" }, + { eDataRole_HeparinConcentration , "heparinConcentrate" }, + { eDataRole_HeparinBolusVolume , "heparinVolume" }, + { eDataRole_HeparinDispenseRate , "heparinDispenseRate" }, + { eDataRole_HeparinStop , "heparinStop" }, + { eDataRole_VitalSigns , "vitalSigns" }, + { eDataRole_ProfileName , "profileName" }, + { eDataRole_Favorite , "favorites" }, + { eDataRole_LastModifiedDate , "lastModifiedDate" }, + { eDataRole_RecentlyUsedDate , "recentlyUsedDate" }, + }); } - void VRxProfiles::doInitRxProfilesList() { emit didRxProfileList(); } - -void VRxProfiles::onRxProfileList(const QFileInfoList &vRxProfiles) +/** + * Converts To MListModel the List of Models + */ +void VRxProfiles::onRxProfileList(const QList &vRxProfileDataList) { - qDebug() << "-meow-" << vRxProfiles; - QStringList fileNames; - for (const QFileInfo fileInfo:vRxProfiles){ - fileNames << fileInfo.baseName().replace("_", " "); + QList> RxProfilesList; + for (const RxProfilesData &rxData : vRxProfileDataList) { + QHash hash; + + for (int i = 0; i < rxData.rxProfileContent.size(); ++i) { + hash.insert(i+Qt::UserRole, QVariant(rxData.rxProfileContent.at(i))); + } +// hash[eDataRole_BloodFlow ] = QVariant(rxData.rxProfileContent.at(eDataRole_BloodFlow )); +// hash[eDataRole_DialysateFlow ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialysateFlow )); +// hash[eDataRole_TreatmentDuration ] = QVariant(rxData.rxProfileContent.at(eDataRole_TreatmentDuration )); +// hash[eDataRole_AcidConcentrateType ] = QVariant(rxData.rxProfileContent.at(eDataRole_AcidConcentrateType )); +// hash[eDataRole_BicarbonateConcentrateType ] = QVariant(rxData.rxProfileContent.at(eDataRole_BicarbonateConcentrateType )); +// hash[eDataRole_DialysateTemperature ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialysateTemperature )); +// hash[eDataRole_DialyzerType ] = QVariant(rxData.rxProfileContent.at(eDataRole_DialyzerType )); +// hash[eDataRole_HeparinConcentration ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinConcentration )); +// hash[eDataRole_HeparinBolusVolume ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinBolusVolume )); +// hash[eDataRole_HeparinDispenseRate ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinDispenseRate )); +// hash[eDataRole_HeparinStop ] = QVariant(rxData.rxProfileContent.at(eDataRole_HeparinStop )); +// hash[eDataRole_VitalSigns ] = QVariant(rxData.rxProfileContent.at(eDataRole_VitalSigns )); +// hash[eDataRole_ProfileName ] = QVariant(rxData.rxProfileContent.at(eDataRole_ProfileName )); +// hash[eDataRole_Favorite ] = QVariant(rxData.rxProfileContent.at(eDataRole_Favorite )); +// hash[eDataRole_LastModifiedDate ] = QVariant(rxData.rxProfileContent.at(eDataRole_LastModifiedDate )); +// hash[eDataRole_RecentlyUsedDate ] = QVariant(rxData.rxProfileContent.at(eDataRole_RecentlyUsedDate )); + + RxProfilesList.append(hash); } - rxProfilesList(fileNames); - qDebug() << _rxProfilesList; + _rxProfilesModels = RxProfilesList; } + +//void VRxProfiles::onRxProfileList(const QFileInfoList &vRxProfiles) +//{ +// qDebug() << "-meow-" << vRxProfiles; +// QStringList fileNames; +// for (const QFileInfo fileInfo:vRxProfiles){ +// fileNames << fileInfo.baseName().replace("_", " "); +// } +// rxProfilesList(fileNames); +// qDebug() << _rxProfilesList; +//}