#ifndef MAINVIEWMODEL_H #define MAINVIEWMODEL_H #include #include "utils/Property.h" #include "model/Console.h" #define LedOFF 0x00 #define LedColorWhite 0x01 #define LedColorGreen 0x02 #define LedColorYellow 0x03 class MainViewModel : public QtMvvm::ViewModel { Q_OBJECT Console * panel; //Top Left BUTTON_LED_PROPERTY(patient, Patient, false, LedOFF) BUTTON_LED_PROPERTY(utils, Utils, false, LedColorWhite) BUTTON_LED_PROPERTY(dvd, Dvd, false, LedColorGreen) BUTTON_LED_PROPERTY(report, Report, false, LedColorYellow) BUTTON_LED_PROPERTY(probe, Probe, false, LedColorWhite) BUTTON_LED_PROPERTY(archive, Archive, false, LedColorGreen) BUTTON_LED_PROPERTY(end, End, false, LedColorYellow) //TopRight BUTTON_LED_PROPERTY(xtd, Xtd, false, LedColorWhite) BUTTON_LED_PROPERTY(bf, Bf, false, LedColorWhite) BUTTON_LED_PROPERTY(p5, P5, false, LedColorWhite) BUTTON_LED_PROPERTY(p6, P6, false, LedColorWhite) //BottomRight BUTTON_LED_PROPERTY(dual, Dual, false, LedColorWhite) BUTTON_LED_PROPERTY(quad, Quad, false, LedColorWhite) BUTTON_LED_PROPERTY(single, Single, false, LedColorWhite) BUTTON_LED_PROPERTY(p1, P1, false, LedColorWhite) BUTTON_LED_PROPERTY(p2, P2, false, LedColorWhite) BUTTON_LED_PROPERTY(p3, P3, false, LedColorWhite) BUTTON_LED_PROPERTY(p4, P4, false, LedColorWhite) //CurveButtons BUTTON_LED_PROPERTY(exit, Exit, false, LedColorWhite) BUTTON_LED_PROPERTY(freeze, Freeze, false, LedColorWhite) BUTTON_LED_PROPERTY(pointer, Pointer, false, LedColorWhite) BUTTON_LED_PROPERTY(autoSet, AutoSet, false, LedColorWhite) BUTTON_LED_PROPERTY(abc, Abc, false, LedColorWhite) BUTTON_LED_PROPERTY(fourD, FourD, false, LedColorWhite) BUTTON_LED_PROPERTY(clear, Clear, false, LedColorWhite) BUTTON_LED_PROPERTY(threeD, ThreeD, false, LedColorWhite) BUTTON_LED_PROPERTY(measure, Measure, false, LedColorWhite) BUTTON_LED_PROPERTY(bodyMark, BodyMark, false, LedColorWhite) //TrackballGroup BUTTON_LED_PROPERTY(trackballLeft, TrackballLeft, false, LedOFF) BUTTON_LED_PROPERTY(trackballRight, TrackballRight, false, LedOFF) BUTTON_LED_PROPERTY(trackballTop, TrackballTop, false, LedOFF) BUTTON_LED_PROPERTY(trackballBottom, TrackballBottom, false, LedOFF) BUTTON_LED_PROPERTY(trackballTopLeft, TrackballTopLeft, false, LedOFF) BUTTON_LED_PROPERTY(trackballTopRight, TrackballTopRight, false, LedOFF) BUTTON_LED_PROPERTY(trackballBottomLeft, TrackballBottomLeft, false, LedOFF) BUTTON_LED_PROPERTY(trackballBottomRight, TrackballBottomRight, false, LedOFF) //Encoders LED_PROPERTY(modeM, LedOFF) //quadrat -> modeMLed LED_PROPERTY(modePd, LedOFF) //z -> modePdLed LED_PROPERTY(modeC, LedOFF) //y -> modeCLed LED_PROPERTY(modeB, LedOFF) //x -> modeBLed LED_PROPERTY(modePwCenter, LedOFF) //modePw -> modePwCenterLed LED_PROPERTY(modeMCenter, LedOFF) //modeM -> modeMCenterLed LED_PROPERTY(modePdCenter, LedOFF) //modePd -> modePdCenterLed LED_PROPERTY(modeCCenter, LedOFF) //modeC -> modeCCenterLed LED_PROPERTY(modeBCenter, LedOFF) //modeB -> modeBCenterLed //JoystickCouple LED_PROPERTY(depthCenter, LedOFF) //zoom -> depthCenterLed LED_PROPERTY(depthBottom, LedOFF) //depth -> depthBottomLed LED_PROPERTY(focus, LedOFF) //angle -> focusLed LED_PROPERTY(focusCenter, LedOFF) //focus zone -> focusCenterLed LED_PROPERTY(focusBottom, LedOFF) //focus-depth -> focusBottomLed //Joysticks BUTTON_PROPERTY(js1Top, Js1Top, false) BUTTON_PROPERTY(js2Top, Js2Top, false) BUTTON_PROPERTY(js3Top, Js3Top, false) BUTTON_PROPERTY(js4Top, Js4Top, false) BUTTON_PROPERTY(js5Top, Js5Top, false) BUTTON_PROPERTY(js1Center, Js1Center, false) BUTTON_PROPERTY(js2Center, Js2Center, false) BUTTON_PROPERTY(js3Center, Js3Center, false) BUTTON_PROPERTY(js4Center, Js4Center, false) BUTTON_PROPERTY(js5Center, Js5Center, false) BUTTON_PROPERTY(js1Bottom, Js1Bottom, false) BUTTON_PROPERTY(js2Bottom, Js2Bottom, false) BUTTON_PROPERTY(js3Bottom, Js3Bottom, false) BUTTON_PROPERTY(js4Bottom, Js4Bottom, false) BUTTON_PROPERTY(js5Bottom, Js5Bottom, false) //TODO public: Q_INVOKABLE explicit MainViewModel(QObject* parent = nullptr); private: signals: void ledChanged(char value); //uncrustify off public slots: //Top Left LED_SLOT(patient) LED_SLOT(utils) LED_SLOT(dvd) LED_SLOT(report) LED_SLOT(probe) LED_SLOT(archive) LED_SLOT(end) // TopRight LED_SLOT(xtd) LED_SLOT(bf) LED_SLOT(p5) LED_SLOT(p6) // BottomRight LED_SLOT(dual) LED_SLOT(quad) LED_SLOT(single) LED_SLOT(p1) LED_SLOT(p2) LED_SLOT(p3) LED_SLOT(p4) // CurveButtons LED_SLOT(exit) LED_SLOT(freeze) LED_SLOT(pointer) LED_SLOT(autoSet) LED_SLOT(abc) LED_SLOT(fourD) LED_SLOT(clear) LED_SLOT(threeD) LED_SLOT(measure) LED_SLOT(bodyMark) //TrackballGroup LED_SLOT(trackballLeft) LED_SLOT(trackballRight) LED_SLOT(trackballTop) LED_SLOT(trackballBottom) LED_SLOT(trackballTopLeft) LED_SLOT(trackballTopRight) LED_SLOT(trackballBottomLeft) LED_SLOT(trackballBottomRight) //Encoders LED_SLOT(modeM) LED_SLOT(modePd) LED_SLOT(modeC) LED_SLOT(modeB) LED_SLOT(modePwCenter) LED_SLOT(modeMCenter) LED_SLOT(modePdCenter) LED_SLOT(modeCCenter) LED_SLOT(modeBCenter) //JoystickCouple LED_SLOT(focus) LED_SLOT(depthCenter) LED_SLOT(focusCenter) LED_SLOT(depthBottom) LED_SLOT(focusBottom) //uncrustify on }; #endif //MAINVIEWMODEL_H