#ifndef IMAGEVIEWMODEL_H #define IMAGEVIEWMODEL_H #include "viewModel/BaseViewModel.h" #include "viewModel/image/BImageContainer.h" #include "viewModel/image/MImageContainer.h" #include "utils/ColorImageProvider.h" class ImageViewModel : public BaseViewModel { Q_OBJECT US_VIEW_MODEL(ImageViewModel) SINGLETON(ImageViewModel) private: BImageContainer* _activeImageB; //B-Mode Image Size US_PROPERTY_CUSTOM_SETTER(qint16, sonoBImageW, 0) US_PROPERTY_CUSTOM_SETTER(qint16, sonoBImageH, 0) US_PROPERTY_INTERNAL(int, imageNumber, 0) //M-Mode Image Size US_PROPERTY_CUSTOM_SETTER(quint16, sonoMImageW, 0) US_PROPERTY_CUSTOM_SETTER(quint16, sonoMImageH, 0) US_PROPERTY_VIEW_ONLY(QString, imageSriSource, "qrc:/UI/Images/SonoImage/USImageDummy.png") US_PROPERTY_VIEW_ONLY(QString, annotationBSource, "") US_PROPERTY_VIEW_ONLY(QString, annotationMSource, "") US_SWITCH_BUTTON_CUSTOM_SETTER(sriB, "B+SRI", "", true, true, false) US_SPIN_BOX_CUSTOM_SETTER_INTERNAL(scale, "Scale", (QList({""})), "", "", true, true, 0) US_PROPERTY_VIEW_ONLY(BImageContainer*, image1, new BImageContainer) US_PROPERTY_VIEW_ONLY(BImageContainer*, image2, new BImageContainer) US_PROPERTY_VIEW_ONLY(BImageContainer*, image3, new BImageContainer) US_PROPERTY_VIEW_ONLY(BImageContainer*, image4, new BImageContainer) US_PROPERTY_VIEW_ONLY(MImageContainer*, imageM, new MImageContainer) US_SWITCH_BUTTON_INTERNAL(xl, "", "", true, true, false) US_SPIN_BOX_INTERNAL(bMSize, "B/M", (QList({"40/60", "50/50", "60/40"})), "", "", true, true, 1) US_SWITCH_BUTTON(bMDirection, "", "", true, true, true) US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(mirror, "", "qrc:/UI/Images/Icon/FlipHorizontal.svg", true, true, false) US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(flip, "", "qrc:/UI/Images/Icon/FlipVertical.svg", true, true, false) US_JOYSTICK_SIMPLE(framePerSecond, "FPS", "", "Hz", true, true, 0) US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(single, "Single", "", true, true, false) US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(dual, "Dual", "", true, true, false) US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(quad, "Quad", "", true, true, false) US_PROPERTY_VIEW_ONLY(bool, mModeEnable, true) US_PROPERTY_VIEW_ONLY(bool, mModeLineSelected, true) US_PROPERTY_VIEW_ONLY(bool, cModeEnable, true) public: ColorImageProvider* imageProviderB; ColorImageProvider* imageProviderM; ColorImageProvider* imageProviderAnnot; ColorImageProvider* imageProviderPictures; // ##1 we use this for bodyMoark // make new class that has inherited from QQuickImageProvider instead // of imageProvider, send images regard to the name ColorImageProvider* imageProvider; // US_SONO_IMAGE_MONITOR_RESOLUTION(SonoImage) // US_MOUSE (mouse) // US_NOTIF(mousePressed) // US_NOTIF(mouseRealeased) US_PROPERTY (int, widthOfScene, 100) US_PROPERTY (int, heightOfScene, 100) }; #endif //IMAGEVIEWMODEL_H