Index: sources/storage/RxProfiles.cpp =================================================================== diff -u -r8f4dcc80fadbccfc152b28ea09466a2ab2ee7333 -r4ac90c09e5697ef0239364a888191b7aacf19448 --- sources/storage/RxProfiles.cpp (.../RxProfiles.cpp) (revision 8f4dcc80fadbccfc152b28ea09466a2ab2ee7333) +++ sources/storage/RxProfiles.cpp (.../RxProfiles.cpp) (revision 4ac90c09e5697ef0239364a888191b7aacf19448) @@ -62,12 +62,12 @@ connect(&_importWatcher , SIGNAL(finished()), this , SLOT(onImport())); -// connect(&_DeviceController , SIGNAL(didReadFilesList(const QFileInfoList &)), -// this , SIGNAL(didRxProfileList(const QFileInfoList &))); - connect(&_DeviceController, &Device::DeviceController::didReadFilesList, [=] (const QFileInfoList & vFileList) { - qDebug()<< "1++MEOW++" << vFileList; - emit didRxProfileList(vFileList); - }); + connect(&_DeviceController , SIGNAL(didReadFilesList(const QFileInfoList &)), + this , SIGNAL(didRxProfileList(const QFileInfoList &))); +// connect(&_DeviceController, &Device::DeviceController::didReadFilesList, [=] (const QFileInfoList & vFileList) { +// qDebug()<< "1++MEOW++" << vFileList; +// emit didRxProfileList(vFileList); +// }); } @@ -81,7 +81,8 @@ if(_rxProfilesPath.trimmed().isEmpty()){ _rxProfilesPath = QString("%1%2") .arg(Storage::Rx_Folder_Base ) // TODO: Adjust to be real base path for RX - .arg(Storage::Rx_Folder_Profiles );} + .arg(Storage::Rx_Folder_Profiles ); + } LOG_DEBUG(QString("Rx Profile folder has been set to %1" ).arg(_rxProfilesPath )); Index: sources/view/VRxProfiles.cpp =================================================================== diff -u -r046fda9079b58d933faf0d4942c87c18bfdaa471 -r4ac90c09e5697ef0239364a888191b7aacf19448 --- sources/view/VRxProfiles.cpp (.../VRxProfiles.cpp) (revision 046fda9079b58d933faf0d4942c87c18bfdaa471) +++ sources/view/VRxProfiles.cpp (.../VRxProfiles.cpp) (revision 4ac90c09e5697ef0239364a888191b7aacf19448) @@ -30,75 +30,18 @@ VRxProfiles::VRxProfiles(QObject *parent) : QObject(parent) { - ADJUST_VIEW_CONNECTION(AdjustParametersValidationRequestData ) - ACTION_VIEW_CONNECTION(AdjustParametersValidationResponseData ) - ADJUST_VIEW_CONNECTION(AdjustParametersConfirmRequestData ) connect (this, SIGNAL(didRxProfileList()), &_RxProfilesController, SLOT(doInitRxProfiles())); + ACTION_METHOD_BRIDGE_CONNECTION(RxProfileList, _RxProfilesController, QFileInfoList) -// ACTION_METHOD_BRIDGE_CONNECTION(RxProfileList, _RxProfilesController, QFileInfoList) - connect(&_RxProfilesController, SIGNAL(didRxProfileList(QFileInfoList)), this, SLOT(onRxProfileList(QFileInfoList))); - } -/** - * \brief VCreateTreatment::doValidation - * Validates the treatment profile locally, then requests validation of it with FW - */ -void VRxProfiles::doValidation() { - AdjustParametersValidationRequestData data; - - data.mBloodFlowRate = _bloodFlowRate ; - data.mDialysateFlowRate = _dialysateFlowRate ; - data.mTreatmentDuration = _treatmentDuration ; - data.mSalineBolusVolume = _salineBolusVolume ; - data.mHeparinStopTime = _heparinStopTime ; - data.mHeparinType = _heparinType ; - data.mAcidConcentrate = _acidConcentrate ; - data.mBicarbonateConcentrate = _bicarbonateConcentrate ; - data.mDialyzerType = _dialyzerType ; - data.mBloodPressureMeasureInterval = _bloodPressureMeasureInterval ; - data.mRinsebackFlowRate = _rinsebackFlowRate ; - data.mRinsebackVolume = _rinsebackVolume ; - data.mArterialPressureLimitWindow = _arterialPressureLimitWindow ; - data.mVenousPressureLimitWindow = _venousPressureLimitWindow ; - data.mVenousPressureLimitAsymtrc = _venousPressureLimitAsymtrc ; - data.mTrancembrncPressureLimitWindow = _trancembrncPressureLimitWindow ; - data.mDialysateTemp = _dialysateTemp ; - data.mHeparinDispensingRate = _heparinDispensingRate ; - data.mHeparinBolusVolume = _heparinBolusVolume ; - - emit didAdjustment(data); - parametersConfirmed(false); - parametersValidated(false); -} - -void VRxProfiles::doConfirm() { - AdjustParametersConfirmRequestData confirmTreatmentRequest; - confirmTreatmentRequest.requestedState = AdjustParametersConfirmRequestData::eConfirm; - emit didAdjustment(confirmTreatmentRequest); - parametersConfirmed(true); - -} - -void VRxProfiles::doCancel() -{ - AdjustParametersConfirmRequestData confirmTreatmentRequest; - confirmTreatmentRequest.requestedState = AdjustParametersConfirmRequestData::eCancel; - emit didAdjustment(confirmTreatmentRequest); - parametersValidated(false); -} - void VRxProfiles::doInitRxProfilesList() { emit didRxProfileList(); } -QString VRxProfiles::enumToString(GuiRequestReasons vEnum) -{ - return Gui::enumString(vEnum, "[%1] Unknown Rejection Reason"); -} void VRxProfiles::onRxProfileList(const QFileInfoList &vRxProfiles) { @@ -110,105 +53,3 @@ rxProfilesList(fileNames); qDebug() << _rxProfilesList; } - -/** - * \brief VCreateTreatment::onFWValidationResponse - * Slot to handle a validation response from FW - * \param actionType The action type must be a create treatment response - * \param messageData The message data must contain the reject reason codes for all parameters - * \returns True if FW OK's treatment parameters, false otherwise - */ -void VRxProfiles::onActionReceive(const AdjustParametersValidationResponseData &data) { - if (! data.mAccepted) { - bloodFlowRateRejectReason (data.mBloodFlowRateRejectReason ); - dialysateFlowRateRejectReason (data.mDialysateFlowRateRejectReason ); - treatmentDurationRejectReason (data.mTreatmentDurationRejectReason ); - heparinDispensingRateRejectReason (data.mHeparinDispensingRateRejectReason ); - heparinBolusVolumeRejectReason (data.mHeparinBolusVolumeRejectReason ); - heparinStopTimeRejectReason (data.mHeparinStopTimeRejectReason ); - salineBolusVolumeRejectReason (data.mSalineBolusVolumeRejectReason ); - heparinTypeRejectReason (data.mHeparinTypeRejectReason ); - acidConcentrateRejectReason (data.mAcidConcentrateRejectReason ); - bicarbonateConcentrateRejectReason (data.mBicarbonateConcentrateRejectReason ); - dialyzerTypeRejectReason (data.mDialyzerTypeRejectReason ); - dialysateTempRejectReason (data.mDialysateTempRejectReason ); - arterialPressureLimitWindowRejectReason (data.mArterialPressureLimitWindowRejectReason ); - venousPressureLimitWindowRejectReason (data.mVenousPressureLimitWindowRejectReason ); - venousPressureLimitAsymtrcRejectReason (data.mVenousPressureLimitAsymtrcRejectReason ); - bloodPressureMeasureIntervalRejectReason (data.mBloodPressureMeasureIntervalRejectReason ); - rinsebackFlowRateRejectReason (data.mRinsebackFlowRateRejectReason ); - rinsebackVolumeRejectReason (data.mRinsebackVolumeRejectReason ); - trancembrncPressureLimitWindowRejectReason (data.mTrancembrncPressureLimitWindowRejectReason ); - - emit didValidationFail(); - parametersValidated(false); - } - else { - emit didValidationPass(); - parametersValidated(true); - } -} - -/*! - * \brief VCreateTreatment::doGetPrescriptionParameterValues - * \details Gets a list of the prescription parameter values - * \return (QStringList) The list of parameter values with units - */ -QStringList VRxProfiles::doGetPrescriptionParameterValues() { - return QStringList() << QString("%1 mL/min" ).arg(_bloodFlowRate ) - << QString("%1 mL/min" ).arg(_dialysateFlowRate ) - << QString("%1 min" ).arg(_treatmentDuration ) - << ( _heparinDispensingRate ? QString("%1 mL/hr" ).arg(_heparinDispensingRate) : tr("OFF") ) - << ( _heparinBolusVolume ? QString("%1 mL" ).arg(_heparinBolusVolume ) : tr("OFF") ) - << ( _heparinDispensingRate ? QString("%1 min" ).arg(_heparinStopTime ) : tr("OFF") ) - << QString("%1 mL" ).arg(_salineBolusVolume ) ; -} - -/*! - * \brief VCreateTreatment::doGetOperatingParameterValues - * \details Gets the operating parameter values - * \return (QStringList) The list of operating parameter values with units where applicable - */ -QStringList VRxProfiles::doGetOperatingParameterValues() -{ - QString mHeparinType ; - QString mAcidConcentrate ; - QString mBicarbonateConcentrate ; - QString mDialyzerType ; - - QStringList mHeparinTypeOptions ; - QStringList mAcidConcentrateOptions ; - QStringList mBicarbonateConcentrateOptions ; - QStringList mDialyzerTypeOptions ; - - QString mCategory = Storage::Settings_Category_DataList; - - if ( heparinTypeSet () ) { // this is managed on UI with heparinTypeSet() // && ( _heparinDispensingRate || _heparinBolusVolume ) - mHeparinTypeOptions = _Settings.keys(mCategory, "Heparin Type Options" ); - if ((int) _heparinType < mHeparinTypeOptions .length()) mHeparinType = mHeparinTypeOptions .at( _heparinType ); - } else { mHeparinType = tr("NONE"); } - - if ( acidConcentrateSet () ) { - mAcidConcentrateOptions = _Settings.keys(mCategory, "Acid Concentrate Options" ); - if ((int) _acidConcentrate < mAcidConcentrateOptions .length()) mAcidConcentrate = mAcidConcentrateOptions .at( _acidConcentrate ); - } else { mAcidConcentrate = tr("NONE"); } - - if ( bicarbonateConcentrateSet () ) { - mBicarbonateConcentrateOptions = _Settings.keys(mCategory, "Bicarbonate Concentrate Options" ); - if ((int) _bicarbonateConcentrate < mBicarbonateConcentrateOptions .length()) mBicarbonateConcentrate = mBicarbonateConcentrateOptions .at( _bicarbonateConcentrate ); - } else { mBicarbonateConcentrate = tr("NONE"); } - - if ( dialyzerTypeSet () ) { - mDialyzerTypeOptions = _Settings.keys(mCategory, "Dialyzer Type Options" ); - if ((int) _dialyzerType < mDialyzerTypeOptions .length()) mDialyzerType = mDialyzerTypeOptions .at( _dialyzerType ); - } else { mDialyzerType = tr("NONE"); } - - - return QStringList() << mHeparinType - << mAcidConcentrate - << mBicarbonateConcentrate - << mDialyzerType - << QString("%0 °C" ).arg(_dialysateTemp ) - << ( _bloodPressureMeasureInterval ? QString("%0 min").arg(_bloodPressureMeasureInterval) : tr("OFF") ) - ; -} Index: sources/view/VRxProfiles.h =================================================================== diff -u -r046fda9079b58d933faf0d4942c87c18bfdaa471 -r4ac90c09e5697ef0239364a888191b7aacf19448 --- sources/view/VRxProfiles.h (.../VRxProfiles.h) (revision 046fda9079b58d933faf0d4942c87c18bfdaa471) +++ sources/view/VRxProfiles.h (.../VRxProfiles.h) (revision 4ac90c09e5697ef0239364a888191b7aacf19448) @@ -17,9 +17,6 @@ // Qt #include #include -#include -#include -#include #include // Project @@ -28,6 +25,7 @@ #include "GuiController.h" #include "StorageGlobals.h" #include "VView.h" +#include "MListModel.h" // forward declaration class tst_views; @@ -38,6 +36,7 @@ namespace View { + class VRxProfiles : public QObject { Q_OBJECT @@ -47,82 +46,24 @@ PROPERTY(QStringList , rxProfilesList , {}) - PROPERTY(bool , heparinDispensingRateOff , true) - PROPERTY(bool , heparinBolusVolumeOff , true) - VALUESET(quint32 , bloodFlowRate , 0) - VALUESET(quint32 , dialysateFlowRate , 0) - VALUESET(quint32 , treatmentDuration , 0) - VALUESET(quint32 , salineBolusVolume , 0) - VALUESET(quint32 , heparinStopTime , 0) - VALUESET(quint32 , heparinType , 0) - VALUESET(quint32 , acidConcentrate , 0) - VALUESET(quint32 , bicarbonateConcentrate , 0) - VALUESET(quint32 , dialyzerType , 0) - VALUESET(quint32 , bloodPressureMeasureInterval , 0) - VALUESET(quint32 , rinsebackFlowRate , 0) - VALUESET(quint32 , rinsebackVolume , 0) - VALUESET(qint32 , arterialPressureLimitWindow , 0) - VALUESET(qint32 , venousPressureLimitWindow , 0) - VALUESET(qint32 , venousPressureLimitAsymtrc , 0) - VALUESET(qint32 , trancembrncPressureLimitWindow , 0) - VALUESET(float , dialysateTemp , 0) - VALUESET(float , heparinDispensingRate , 0) - VALUESET(float , heparinBolusVolume , 0) + Q_PROPERTY(MListModel* rxProfiles READ rxProfiles NOTIFY alarm_AlarmIDChanged) - VALUESET(bool , parametersValidated , 0) - VALUESET(bool , parametersConfirmed , 0) - - - TRIGGER(quint32 , bloodFlowRateRejectReason , 0) - TRIGGER(quint32 , dialysateFlowRateRejectReason , 0) - TRIGGER(quint32 , treatmentDurationRejectReason , 0) - TRIGGER(quint32 , heparinDispensingRateRejectReason , 0) - TRIGGER(quint32 , heparinBolusVolumeRejectReason , 0) - TRIGGER(quint32 , heparinStopTimeRejectReason , 0) - TRIGGER(quint32 , salineBolusVolumeRejectReason , 0) - TRIGGER(quint32 , heparinTypeRejectReason , 0) - TRIGGER(quint32 , acidConcentrateRejectReason , 0) - TRIGGER(quint32 , bicarbonateConcentrateRejectReason , 0) - TRIGGER(quint32 , dialyzerTypeRejectReason , 0) - TRIGGER(quint32 , dialysateTempRejectReason , 0) - TRIGGER(quint32 , arterialPressureLimitWindowRejectReason , 0) - TRIGGER(quint32 , venousPressureLimitWindowRejectReason , 0) - TRIGGER(quint32 , venousPressureLimitAsymtrcRejectReason , 0) - TRIGGER(quint32 , bloodPressureMeasureIntervalRejectReason , 0) - TRIGGER(quint32 , rinsebackFlowRateRejectReason , 0) - TRIGGER(quint32 , rinsebackVolumeRejectReason , 0) - TRIGGER(quint32 , trancembrncPressureLimitWindowRejectReason , 0) - - VIEW_DEC_CLASS(VRxProfiles) - VIEW_DEC_SLOT(AdjustParametersValidationResponseData) - private: - QString enumToString(GuiRequestReasons vEnum); + MListModel* rxProfiles () { return &_rxProfilesModel; } ; + MListModel _rxProfilesModel; - signals: - void didAdjustment(const AdjustParametersValidationRequestData &data); - void didAdjustment(const AdjustParametersConfirmRequestData &data); - void didValidationFail(); - void didValidationPass(); - void didRxProfileList(); private slots: void onRxProfileList(const QFileInfoList &vRxProfiles); public slots: - void doValidation (); - void doConfirm (); - void doCancel (); void doInitRxProfilesList (); - - QStringList doGetPrescriptionParameterValues(); - QStringList doGetOperatingParameterValues(); }; }