You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

109 lines
3.1 KiB

#ifndef MAINVIEWMODEL_H
#define MAINVIEWMODEL_H
#include <QtMvvmCore/ViewModel>
#include <QTimer>
#include <QPixmap>
#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<BaseViewModel*> _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