#ifndef MAINVIEWMODEL_H #define MAINVIEWMODEL_H #include #include #include #include "utils/ColorImageProvider.h" #include "viewModel/utils/AutoProperty.h" #include "viewModel/probe/ProbeViewModel.h" #include "viewModel/bMode/display/BModeDisplayViewModel.h" #include "viewModel/bMode/setting/BModeSettingViewModel.h" #include "viewModel/mMode/display/MModeDisplayViewModel.h" #include "viewModel/mMode/setting/MModeSettingViewModel.h" #include "viewModel/cine/display/CineDisplayViewModel.h" #include "viewModel/cine/setting/CineSettingViewModel.h" #include "viewModel/tgc/TgcViewModel.h" #include "viewModel/simulation/SimulationViewModel.h" #include "viewModel/trackball/TrackballViewModel.h" #include "viewModel/image/ImageViewModel.h" #include "viewModel/user/UserViewModel.h" #include "viewModel/user/DialogViewModel.h" #include "viewModel/measurement/MeasureViewModel.h" class MainViewModel : public QtMvvm::ViewModel { Q_OBJECT private: static MainViewModel* _instance; void init(); void start(); QList _vms; /**************************************************************************/ //ViewModel US_PROPERTY_VIEW_ONLY(bool, showSplash, true) US_PROPERTY_VIEW_ONLY(QString, splashMessage, "Loading sono application") US_PROPERTY_VIEW_ONLY(ProbeViewModel*, probeViewModel, ProbeViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(BModeDisplayViewModel*, bModeDisplayViewModel, BModeDisplayViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(BModeSettingViewModel*, bModeSettingViewModel, BModeSettingViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(CineDisplayViewModel*, cineDisplayViewModel, CineDisplayViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(CineSettingViewModel*, cineSettingViewModel, CineSettingViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(TgcViewModel*, tgcViewModel, TgcViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(SimulationViewModel*, simulationViewModel, SimulationViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(TrackballViewModel*, trackballViewModel, TrackballViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(ImageViewModel*, imageViewModel, ImageViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(MModeDisplayViewModel*, mModeDisplayViewModel, MModeDisplayViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(MModeSettingViewModel*, mModeSettingViewModel, MModeSettingViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(UserViewModel*, userViewModel, UserViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(DialogViewModel*, dialogViewModel, DialogViewModel::getInstance()) US_PROPERTY_VIEW_ONLY(MeasureViewModel*, measureViewModel, MeasureViewModel::getInstance()) public: Q_INVOKABLE explicit MainViewModel(QObject* parent = nullptr); Q_INVOKABLE void close(); Q_INVOKABLE void onConfirmButton(); static MainViewModel* getInstance(); signals: void showMessageBox(); }; #endif //MAINVIEWMODEL_H