commit
2c8c6c7abc
94 changed files with 7891 additions and 0 deletions
File diff suppressed because it is too large
@ -0,0 +1,21 @@ |
|||
QMAKE_CXX.QT_COMPILER_STDCXX = 201402L |
|||
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 7 |
|||
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 3 |
|||
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 |
|||
QMAKE_CXX.COMPILER_MACROS = \ |
|||
QT_COMPILER_STDCXX \ |
|||
QMAKE_GCC_MAJOR_VERSION \ |
|||
QMAKE_GCC_MINOR_VERSION \ |
|||
QMAKE_GCC_PATCH_VERSION |
|||
QMAKE_CXX.INCDIRS = \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++ \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/x86_64-w64-mingw32 \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/backward \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed \ |
|||
C:/Qt/Tools/mingw730_64/x86_64-w64-mingw32/include |
|||
QMAKE_CXX.LIBDIRS = \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc/x86_64-w64-mingw32/7.3.0 \ |
|||
C:/Qt/Tools/mingw730_64/lib/gcc \ |
|||
C:/Qt/Tools/mingw730_64/x86_64-w64-mingw32/lib \ |
|||
C:/Qt/Tools/mingw730_64/lib |
@ -0,0 +1 @@ |
|||
created |
@ -0,0 +1 @@ |
|||
created |
@ -0,0 +1,2 @@ |
|||
BUILD_SOURCES += .tr-dummies/trcond.cpp qrc_logic.cpp moc_MvvmApp.cpp moc_MainViewModel.cpp moc_Bip.cpp moc_BipTester.cpp moc_ConfigurationManager.cpp moc_Csm.cpp moc_DatabaseManager.cpp moc_Evocator.cpp moc_Hardware.cpp moc_Player.cpp moc_ScenarioGenerator.cpp moc_Ssm.cpp moc_UsEventReceiver.cpp moc_UsEventSender.cpp moc_UsModule.cpp moc_UserInputRelay.cpp moc_ApplicationStarter.cpp moc_FolderViewModel.cpp moc_ImageViewModel.cpp moc_PresetViewModel.cpp moc_ProbeViewModel.cpp moc_SimulationViewModel.cpp moc_TgcViewModel.cpp moc_TrackballViewModel.cpp moc_BaseStrategy.cpp moc_BipCore.cpp moc_EImageMode.cpp moc_KernelInputFetcher.cpp moc_OpenClHelper.cpp moc_BipTesterCore.cpp moc_CsmCore.cpp moc_EMenuTab.cpp moc_Hid.cpp moc_EConsole.cpp moc_DatabaseManagerCore.cpp moc_EDatabaseRequest.cpp moc_XmlReader.cpp moc_EvocatorCore.cpp moc_HardwareCore.cpp moc_HardwarePacketEngine.cpp moc_PlayerCore.cpp moc_QueueReader.cpp moc_QueueWriter.cpp moc_ECommandResult.cpp moc_ECommandType.cpp moc_UserInputRelayCore.cpp moc_BModeDisplayViewModel.cpp moc_BModeInfoViewModel.cpp moc_BModeLayoutViewModel.cpp moc_BModeSettingViewModel.cpp moc_CineDisplayViewModel.cpp moc_CineLayoutViewModel.cpp moc_CineSettingViewModel.cpp moc_ProcessQueue.cpp moc_ConsoleButton.cpp moc_IControl.cpp moc_DynamicContrastB.cpp moc_EnhanceB.cpp moc_FrameFilter.cpp moc_GrayMapB.cpp moc_Persist.cpp moc_RejectionB.cpp moc_ScanConversionB.cpp moc_TintMap.cpp moc_PreProcess.cpp moc_Sri.cpp moc_TwoDProcessQueue.cpp |
|||
for(src, BUILD_SOURCES): SOURCES += $$PWD/$$src |
@ -0,0 +1,21 @@ |
|||
#ifndef MVVMAPP_H |
|||
#define MVVMAPP_H |
|||
|
|||
#include <QtMvvmCore/CoreApp> |
|||
|
|||
class MvvmApp : public QtMvvm::CoreApp |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
public: |
|||
explicit MvvmApp(QObject *parent = nullptr); |
|||
|
|||
protected: |
|||
void performRegistrations() override; |
|||
int startApp(const QStringList &arguments) override; |
|||
}; |
|||
|
|||
#undef coreApp |
|||
#define coreApp static_cast<mvvmApp*>(CoreApp::instance()) |
|||
|
|||
#endif // MVVMAPP_H
|
@ -0,0 +1,20 @@ |
|||
#ifndef COLORIMAGEPROVIDER_H |
|||
#define COLORIMAGEPROVIDER_H |
|||
|
|||
#include <QImage> |
|||
#include <QQuickImageProvider> |
|||
#include <QDebug> |
|||
|
|||
class ColorImageProvider : public QQuickImageProvider |
|||
{ |
|||
public: |
|||
ColorImageProvider(); |
|||
|
|||
QPixmap requestPixmap(const QString& id, QSize* size, const QSize& requestedSize) override; |
|||
void setPic(QPixmap pixmap, quint32 width, quint32 height); |
|||
|
|||
private: |
|||
QPixmap _pixmap; |
|||
}; |
|||
|
|||
#endif |
@ -0,0 +1,111 @@ |
|||
#ifndef BASEVIEWMODEL_H |
|||
#define BASEVIEWMODEL_H |
|||
|
|||
#include <QObject> |
|||
#include <QMutex> |
|||
#include <QtMvvmCore/ViewModel> |
|||
|
|||
#include "viewModel/utils/AutoProperty.h" |
|||
#include "viewModel/utils/UsMultiButton.h" |
|||
#include "viewModel/utils/UsSpinBox.h" |
|||
#include "viewModel/utils/UsSwitchButton.h" |
|||
#include "viewModel/utils/UsJoystick.h" |
|||
#include "viewModel/utils/UsRadioButton.h" |
|||
#include "viewModel/utils/UsInfoBox.h" |
|||
#include "viewModel/utils/UsTrackball.h" |
|||
#include "viewModel/utils/UsList.h" |
|||
#include "viewModel/utils/UsImage.h" |
|||
#include "viewModel/utils/UsButtonDoubleText.h" |
|||
|
|||
|
|||
#define SINGLETON(NAME) \ |
|||
private: \ |
|||
static NAME* _instance; \ |
|||
static QMutex _mutex; \ |
|||
public: \ |
|||
static NAME* getInstance() \ |
|||
{ \ |
|||
if(!_instance) \ |
|||
{ \ |
|||
_mutex.lock(); \ |
|||
if(!_instance) \ |
|||
{ \ |
|||
_instance = new NAME(); \ |
|||
} \ |
|||
_mutex.unlock(); \ |
|||
} \ |
|||
return _instance; \ |
|||
} |
|||
|
|||
#define SINGLETON_DEF(NAME) \ |
|||
NAME* NAME::_instance; \ |
|||
QMutex NAME::_mutex; |
|||
|
|||
//macro defenition
|
|||
//Place this in each and every class that inherits from BaseViewModel
|
|||
//so that you dont have to type all this again
|
|||
//uncrustify off
|
|||
#define US_VIEW_MODEL(VIEW_MODEL_NAME) \ |
|||
private: \ |
|||
void prepareData() override; \ |
|||
void sendData(bool sync = false) override; \ |
|||
void setInitialValue() override; \ |
|||
void turnOnMinimalMode() override; \ |
|||
void turnOffMinimalMode() override; \ |
|||
explicit VIEW_MODEL_NAME(); \ |
|||
public: \ |
|||
virtual void init() override; \ |
|||
|
|||
|
|||
#define APPLY_DIFF_COMMAND(PROPERTY) \ |
|||
auto diffValue = GET_VALUE(request, 0, qint16); \ |
|||
auto nextValue = getNextValue(PROPERTY() + diffValue, 0, PROPERTY ## Values().length() - 1); \ |
|||
PROPERTY(nextValue); \ |
|||
|
|||
//uncrustify on
|
|||
|
|||
/*************************************************************************************************/ |
|||
class BaseViewModel : public QtMvvm::ViewModel |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
private: |
|||
int _awaitingSend; |
|||
bool isSendingAllowed(); |
|||
|
|||
virtual void setInitialValue() = 0; |
|||
virtual void prepareData() = 0; |
|||
virtual void sendData(bool sync = false) = 0; |
|||
|
|||
virtual void turnOnMinimalMode() = 0; |
|||
virtual void turnOffMinimalMode() = 0; |
|||
|
|||
protected: |
|||
bool _isMinimal; |
|||
|
|||
void allowSending(); |
|||
void blockSending(); |
|||
|
|||
virtual void send(bool sync = false) final; |
|||
|
|||
virtual QList<QString> arithmeticSeries(int start, int end, int step) final; |
|||
|
|||
virtual QList<QString> arithmeticSeries(float start, |
|||
float end, |
|||
float step, |
|||
int precision) final; |
|||
|
|||
|
|||
public: |
|||
explicit BaseViewModel(); |
|||
|
|||
void start(); |
|||
virtual void init() = 0; |
|||
|
|||
void changeMode(bool minimal); |
|||
|
|||
virtual int getNextValue(const int estimatedValue, const int lowerBound, |
|||
const int upperBound) final; |
|||
}; |
|||
|
|||
#endif //BASEVIEWMODEL_H
|
@ -0,0 +1,39 @@ |
|||
#ifndef EMEASURETAB_H |
|||
#define EMEASURETAB_H |
|||
|
|||
#include <QtCore> |
|||
#include <QMetaType> |
|||
|
|||
class EMeasureTab : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
private: |
|||
//Private constructor prevent the enumeration class from being instantiated
|
|||
explicit EMeasureTab(QObject* parent = nullptr); |
|||
|
|||
public: |
|||
enum eMeasureTab : quint8 |
|||
{ |
|||
EMPTY_TAB, |
|||
B_TAB, |
|||
M_TAB, |
|||
PW_TAB, |
|||
}; |
|||
|
|||
Q_ENUM(eMeasureTab) |
|||
|
|||
static int qtEnumToInt(const eMeasureTab qtEnum) |
|||
{ |
|||
return QMetaEnum::fromType<eMeasureTab>().value(qtEnum); |
|||
} |
|||
|
|||
static QString qtEnumToString(const eMeasureTab qtEnum) |
|||
{ |
|||
return QString(QMetaEnum::fromType<eMeasureTab>().valueToKey(qtEnum)); |
|||
} |
|||
}; |
|||
|
|||
Q_DECLARE_METATYPE(EMeasureTab::eMeasureTab); |
|||
|
|||
#endif //EMEASURETAB_H
|
@ -0,0 +1,56 @@ |
|||
#ifndef EMENUTAB_H |
|||
#define EMENUTAB_H |
|||
|
|||
#include <QtCore> |
|||
#include <QMetaType> |
|||
|
|||
class EMenuTab : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
private: |
|||
//Private constructor prevent the enumeration class from being instantiated
|
|||
explicit EMenuTab(QObject* parent = nullptr); |
|||
|
|||
public: |
|||
enum eMenuTab : quint8 |
|||
{ |
|||
EMPTY_TAB, |
|||
B_TAB, |
|||
M_TAB, |
|||
C_TAB, |
|||
PW_TAB, |
|||
PD_TAB, |
|||
CINE_TAB, |
|||
TGC_TAB |
|||
}; |
|||
|
|||
Q_ENUM(eMenuTab) |
|||
|
|||
static int qtEnumToInt(const eMenuTab qtEnum) |
|||
{ |
|||
return QMetaEnum::fromType<eMenuTab>().value(qtEnum); |
|||
} |
|||
|
|||
static QString qtEnumToString(const eMenuTab qtEnum) |
|||
{ |
|||
return QString(QMetaEnum::fromType<eMenuTab>().valueToKey(qtEnum)); |
|||
} |
|||
|
|||
static eMenuTab qtStringToEnum(const QString stringEnum) |
|||
{ |
|||
auto e = QMetaEnum::fromType<eMenuTab>(); |
|||
for(int i = 0; i < e.keyCount(); i++) |
|||
{ |
|||
const char* name = e.key(i); |
|||
if(QString(name) == stringEnum) |
|||
{ |
|||
return static_cast<EMenuTab::eMenuTab>(e.value(i)); |
|||
} |
|||
} |
|||
} |
|||
}; |
|||
|
|||
Q_DECLARE_METATYPE(EMenuTab::eMenuTab); |
|||
|
|||
#endif //EMENUTAB_H
|
@ -0,0 +1,109 @@ |
|||
#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
|
@ -0,0 +1,34 @@ |
|||
#ifndef USMMIMIC_H |
|||
#define USMMIMIC_H |
|||
|
|||
#define INSTANCE(OBJ) OBJ::getInstance() |
|||
|
|||
#define CONNECT_COMMAND_LINE(SENDER, RECEIVER) \ |
|||
do { \ |
|||
connect(EVENT_SENDER(SENDER), &UsEventSender::commandRequest, \ |
|||
EVENT_RECEIVER(RECEIVER), &UsEventReceiver::newCommandRequest); \ |
|||
connect(EVENT_RECEIVER(RECEIVER), &UsEventReceiver::commandResponse, \ |
|||
EVENT_SENDER(SENDER), &UsEventSender::newCommandResponse, Qt::DirectConnection); \ |
|||
} while(0) |
|||
|
|||
#define SEND_FORGET_ASYNC(COMMAND, RECEIVER, ARGS) \ |
|||
_eventSender->sendAsyncRequest(ECommandType::COMMAND, RECEIVER, ARGS) |
|||
|
|||
#define SEND_FORGET_ASYNC_NO_ARG(COMMAND, RECEIVER) \ |
|||
_eventSender->sendAsyncRequest(ECommandType::COMMAND, RECEIVER, {}) |
|||
|
|||
#define SEND_ASYNC(COMMAND, RECEIVER, ARGS, SUCCESS, FAILURE) \ |
|||
_eventSender->sendAsyncRequest(ECommandType::COMMAND, RECEIVER, ARGS, SUCCESS, FAILURE) |
|||
|
|||
#define SEND_ASYNC_NO_ARG(COMMAND, RECEIVER, SUCCESS, FAILURE) \ |
|||
_eventSender->sendAsyncRequest(ECommandType::COMMAND, RECEIVER, {}, SUCCESS, FAILURE) |
|||
|
|||
#define SEND_SYNC(COMMAND, RECEIVER, ARGS) \ |
|||
_eventSender->sendSyncRequest(ECommandType::COMMAND, RECEIVER, ARGS) |
|||
|
|||
#define SEND_SYNC_NO_ARG(COMMAND, RECEIVER) \ |
|||
_eventSender->sendSyncRequest(ECommandType::COMMAND, RECEIVER, {}) |
|||
|
|||
#define GET_VALUE(REQUEST, INDEX, TYPE) REQUEST.getValueList()[INDEX].value<TYPE>() |
|||
|
|||
#endif //USMMIMIC_H
|
@ -0,0 +1,27 @@ |
|||
#ifndef BMODEDISPLAYVIEWMODEL_H |
|||
#define BMODEDISPLAYVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
#include "viewModel/bMode/display/tint/TintMapManager.h" |
|||
#include "viewModel/bMode/display/gray/GrayMapManager.h" |
|||
|
|||
|
|||
class BModeDisplayViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(BModeDisplayViewModel) |
|||
SINGLETON(BModeDisplayViewModel) |
|||
|
|||
private: |
|||
US_PROPERTY_VIEW_ONLY(TintMapManager*, tintManager, new TintMapManager) |
|||
US_PROPERTY_VIEW_ONLY(GrayMapManager*, grayMapManager, new GrayMapManager) |
|||
|
|||
//uncrustify off
|
|||
public slots: |
|||
//uncrustify on
|
|||
void newTintMap(); |
|||
void newGrayMap(); |
|||
}; |
|||
|
|||
#endif //BMODEDISPLAYVIEWMODEL_H
|
@ -0,0 +1,27 @@ |
|||
#ifndef GRAYMAP_H |
|||
#define GRAYMAP_H |
|||
|
|||
#include "viewModel/utils/UsViewControl.h" |
|||
|
|||
class GrayMap : public UsViewControl |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, name, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, icon, "") |
|||
|
|||
private: |
|||
QList<quint8> _grayMap; |
|||
QList<quint8> _knobData; |
|||
|
|||
public: |
|||
GrayMap(); |
|||
|
|||
void init(QList<qint32> grayMap, quint32 number); |
|||
void init(QList<qint32> grayMap, QList<qint32> knobData, quint32 number); |
|||
|
|||
QList<quint8> value(); |
|||
QList<quint8> knobData(); |
|||
}; |
|||
|
|||
#endif //GRAYMAP_H
|
@ -0,0 +1,89 @@ |
|||
#ifndef GRAYMAPMANAGER_H |
|||
#define GRAYMAPMANAGER_H |
|||
|
|||
#include <QMetaType> |
|||
|
|||
#include "viewModel/utils/UsSimpleButton.h" |
|||
#include "viewModel/utils/UsList.h" |
|||
#include "viewModel/bMode/display/gray/GrayMap.h" |
|||
#include "viewModel/bMode/display/gray/KnobManager.h" |
|||
#include "viewModel/exception/VmError.h" |
|||
|
|||
class GrayMapManager : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, grayMapTitle, "Gray Map") |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(qint32, grayMap, 0) |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, grayMapReset, 0) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap0, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap1, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap2, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap3, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap4, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap5, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap6, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap7, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap8, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap9, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap10, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap11, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap12, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap13, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap14, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap15, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap16, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMap17, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMapUser1, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMapUser2, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(GrayMap*, grayMapUser3, Q_NULLPTR) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(KnobManager*, knobManager, new KnobManager) |
|||
|
|||
US_LIST(int, currentGrayMapData) |
|||
|
|||
US_SIMPLE_BUTTON(grayMapSaveAs, "Save As", "", true, true) |
|||
|
|||
private: |
|||
QString _userName; |
|||
|
|||
|
|||
GrayMap* getGrayMap(qint32 index); |
|||
|
|||
void setKnobs(GrayMap* grayMap); |
|||
|
|||
QList<quint8> intListToU8List(QList<int> list); |
|||
QList<int> u8ListToIntList(QList<quint8> list); |
|||
|
|||
quint32 getUserId(); |
|||
|
|||
bool isCustomGrayMapSelected(); |
|||
|
|||
void initDefaultGrayMaps(); |
|||
void initUserGrayMaps(bool throwExp); |
|||
|
|||
public: |
|||
GrayMapManager(); |
|||
|
|||
void setUserName(const QString& userName); |
|||
|
|||
void init(); |
|||
|
|||
QList<quint8> getGrayMapData(); |
|||
|
|||
void setIndex(qint32 index); |
|||
|
|||
signals: |
|||
void grayMapReady(); |
|||
|
|||
//uncrustify off
|
|||
public slots: |
|||
void newCustomGrayMap(const QList<quint8>& grayMap); |
|||
void saveGrayMap(int slotNumber); |
|||
//uncrustify on
|
|||
}; |
|||
|
|||
Q_DECLARE_METATYPE(GrayMapManager*) |
|||
|
|||
#endif //GRAYMAPMANAGER_H
|
@ -0,0 +1,24 @@ |
|||
#ifndef KNOB_H |
|||
#define KNOB_H |
|||
|
|||
#include <QObject> |
|||
|
|||
#include "viewModel/utils/AutoProperty.h" |
|||
|
|||
class Knob : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(int, posX, 0) |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(int, posY, 0) |
|||
|
|||
public: |
|||
Knob(); |
|||
|
|||
QPoint getPos(); |
|||
|
|||
signals: |
|||
void knobDataReady(); |
|||
}; |
|||
|
|||
#endif //KNOB_H
|
@ -0,0 +1,48 @@ |
|||
#ifndef KNOBMANAGER_H |
|||
#define KNOBMANAGER_H |
|||
|
|||
#include "viewModel/bMode/display/gray/Knob.h" |
|||
|
|||
class KnobManager : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob1, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob2, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob3, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob4, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob5, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob6, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob7, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(Knob*, knob8, Q_NULLPTR) |
|||
|
|||
private: |
|||
Knob* getKnob(qint32 index); |
|||
|
|||
void connectKnobs(); |
|||
void disconnectKnobs(); |
|||
|
|||
public: |
|||
KnobManager(); |
|||
|
|||
void setKnobData(const QPoint& p1, |
|||
const QPoint& p2, |
|||
const QPoint& p3, |
|||
const QPoint& p4, |
|||
const QPoint& p5, |
|||
const QPoint& p6, |
|||
const QPoint& p7, |
|||
const QPoint& p8); |
|||
|
|||
QList<qint32> getKnobData(); |
|||
|
|||
signals: |
|||
void grayCurveReady(const QList<quint8>& grayMap); |
|||
|
|||
//uncrustify off
|
|||
public slots: |
|||
void newKnobData(); |
|||
//uncrustify on
|
|||
}; |
|||
|
|||
#endif //KNOBMANAGER_H
|
@ -0,0 +1,21 @@ |
|||
#ifndef BASETINTMAP_H |
|||
#define BASETINTMAP_H |
|||
|
|||
#include <QtCore> |
|||
|
|||
class BaseTintMap |
|||
{ |
|||
private: |
|||
quint8 _r; |
|||
quint8 _g; |
|||
quint8 _b; |
|||
|
|||
public: |
|||
BaseTintMap(); |
|||
|
|||
void setTintColor(quint8 r, quint8 g, quint8 b); |
|||
QString toString(); |
|||
QList<quint8> value(); |
|||
}; |
|||
|
|||
#endif //BASETINTMAP_H
|
@ -0,0 +1,27 @@ |
|||
#ifndef TINTMAP_H |
|||
#define TINTMAP_H |
|||
|
|||
#include "viewModel/utils/UsViewControl.h" |
|||
#include "viewModel/bMode/display/tint/BaseTintMap.h" |
|||
|
|||
class TintMap : public UsViewControl |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, name, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, displayColor, "") |
|||
|
|||
private: |
|||
QList<BaseTintMap> _tintMap; |
|||
|
|||
public: |
|||
TintMap(); |
|||
~TintMap() override; |
|||
|
|||
void init(QList<QList<qint32> > tint); |
|||
|
|||
QString toString(qint32 index); |
|||
QList<QList<quint8> > value(); |
|||
}; |
|||
|
|||
#endif //TINTMAP_H
|
@ -0,0 +1,54 @@ |
|||
#ifndef TINTMAPMANAGER_H |
|||
#define TINTMAPMANAGER_H |
|||
|
|||
#include "viewModel/utils/AutoProperty.h" |
|||
#include "viewModel/bMode/display/tint/TintMap.h" |
|||
|
|||
|
|||
class TintMapManager : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, tintMapTitle, "Tint Map") |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(qint32, tintMap, 0) |
|||
US_PROPERTY_VIEW_ONLY(QStringList, tintMapColor, {}) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap0, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap1, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap2, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap3, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap4, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap5, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap6, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap7, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap8, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap9, Q_NULLPTR) |
|||
US_PROPERTY_VIEW_ONLY(TintMap*, tintMap10, Q_NULLPTR) |
|||
|
|||
private: |
|||
TintMap* getTintMap(qint32 index); |
|||
|
|||
QList<quint8> _grayMapData; |
|||
|
|||
void calcTintBar(); |
|||
|
|||
|
|||
public: |
|||
TintMapManager(); |
|||
|
|||
|
|||
|
|||
QList<QList<quint8> > getTintMapData(); |
|||
|
|||
void setIndex(qint32 index); |
|||
|
|||
//uncrustify off
|
|||
public slots: |
|||
void grayMapChanged(QList<quint8> grayMap); |
|||
//uncrustify on
|
|||
|
|||
signals: |
|||
void tintMapReady(); |
|||
}; |
|||
|
|||
#endif //TINTMAPMANAGER_H
|
@ -0,0 +1,88 @@ |
|||
#ifndef BMODESETTINGVIEWMODEL_H |
|||
#define BMODESETTINGVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class BModeSettingViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(BModeSettingViewModel) |
|||
SINGLETON(BModeSettingViewModel) |
|||
|
|||
private: |
|||
|
|||
/**************************************************************************************************/ |
|||
|
|||
US_MULTI_BUTTON(sri, "SRI", (QList<QString>({""})), "", "", true, true, 0, false) |
|||
|
|||
US_SPIN_BOX(persist, "Persist", (QList<QString>({""})), "", "", true, false, 1) |
|||
|
|||
US_MULTI_BUTTON(frameFilter, "Frame Filter", (QList<QString>({""})), "", "", |
|||
true, true, 0, false) |
|||
|
|||
US_SPIN_BOX(oti, "OTI", (QList<QString>({"Solid", "Normal", "Adipose", "Cystic"})), |
|||
"", "", true, true, 0) |
|||
|
|||
US_MULTI_BUTTON(criFilter, "CRI Filter", (QList<QString>({"Low", "Mid", "High"})), |
|||
"", "", true, true, 0, false) |
|||
|
|||
US_MULTI_BUTTON_CUSTOM_SETTER(lineFilter, "Line Filter", (QList<QString>({"Low", "High"})), |
|||
"", "", true, true, 0, false) |
|||
|
|||
US_MULTI_BUTTON_CUSTOM_SETTER_BYPASS_ONLY(cri, "CRI", QList<QString>({""}), |
|||
"", "", true, true, 0, false) |
|||
|
|||
US_SPIN_BOX(lineDensity, "Line Dens.", (QList<QString>({"Low", "Norm", "High"})), |
|||
"", "", true, true, 0) |
|||
|
|||
US_SWITCH_BUTTON_CUSTOM_SETTER(ffc, "FFC", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON_CUSTOM_SETTER(hi, "HI", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON(virtualConvex, "Virtual Convex", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON_CUSTOM_SETTER(maxAngle, "Max Angle", "", true, true, false) |
|||
|
|||
US_SPIN_BOX_CUSTOM_SETTER(frequency, "Frequency", {""}, "", "", true, true, 0) |
|||
|
|||
US_SPIN_BOX(ao, "AO", (QList<QString>({""})), "", "%", true, true, 0) |
|||
|
|||
US_SPIN_BOX_CUSTOM_SETTER(enhance, |
|||
"Enhance", |
|||
(QList<QString>({"Off", "1", "2", "3", "4", "5"})), |
|||
"", |
|||
"", |
|||
true, |
|||
true, |
|||
0) |
|||
|
|||
US_SWITCH_BUTTON_INTERNAL(enhanceOff, "Enhance off", "", true, true, false) |
|||
|
|||
US_SPIN_BOX(reject, "Reject", (QList<QString>({""})), "", "", true, true, 0) |
|||
|
|||
US_SPIN_BOX(dynamicContrast, "Dy.Cnt.", (QList<QString>({""})), "", "", true, true, 0) |
|||
|
|||
US_JOYSTICK_NUMBER(angle, "Angle", "", "°", true, true, 0) |
|||
|
|||
US_PROPERTY(bool, pi, true) |
|||
|
|||
US_INFO_BOX(depth, "Depth", (QList<QString>({""})), "", "cm", true, true, 0) |
|||
|
|||
US_INFO_BOX(focusPoints, "Foc.Pnt.", (QList<QString>({"0"})), |
|||
"", "", true, true, 0) |
|||
|
|||
US_INFO_BOX_CUSTOM_SETTER(focusNumber, "Foc.Num.", (QList<QString>({"0"})), |
|||
"", "", true, true, 0) |
|||
|
|||
US_INFO_BOX(gain, "Gain", (QList<QString>({""})), "", "dB", true, true, 0) |
|||
|
|||
US_INFO_BOX_BOOL(hdZoom, "HD.Zoom", true, true, false) |
|||
|
|||
quint8 _mla; |
|||
quint8 _stb; |
|||
|
|||
public: |
|||
void freezeChanged(bool freeze); |
|||
}; |
|||
|
|||
#endif //BMODESETTINGVIEWMODEL_H
|
@ -0,0 +1,22 @@ |
|||
#ifndef CINEDISPLAYVIEWMODEL_H |
|||
#define CINEDISPLAYVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class CineDisplayViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(CineDisplayViewModel) |
|||
SINGLETON(CineDisplayViewModel) |
|||
|
|||
private: |
|||
US_RADIO_BUTTON(cineDirection, 0) |
|||
|
|||
US_SIMPLE_BUTTON(cineForward, "", "qrc:/UI/Images/Icon/Forward.svg", true, true) |
|||
|
|||
US_SIMPLE_BUTTON(cineBackward, "", "qrc:/UI/Images/Icon/Backward.svg", true, true) |
|||
|
|||
US_SIMPLE_BUTTON(cineForwardBackward, "", "qrc:/UI/Images/Icon/ForwardBackward.svg", true, true) |
|||
}; |
|||
|
|||
#endif //CINEDISPLAYVIEWMODEL_H
|
@ -0,0 +1,40 @@ |
|||
#ifndef CINESETTINGVIEWMODEL_H |
|||
#define CINESETTINGVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class CineSettingViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(CineSettingViewModel) |
|||
SINGLETON(CineSettingViewModel) |
|||
|
|||
private: |
|||
|
|||
US_SWITCH_BUTTON(cineRepeat, "", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON(cinePlay, "", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON(cineOriginalClip, "Maximize", "", true, true, false) |
|||
|
|||
US_JOYSTICK_NUMBER(cineStart, "Start", "", "", true, true, 20) |
|||
|
|||
US_JOYSTICK_NUMBER(cineEnd, "End", "", "", true, true, 80) |
|||
|
|||
US_SPIN_BOX(cineSpeed, "Speed", (QList<QString>({"0.5", "1", "1.5", "2"})), |
|||
"", "x", true, true, 1) |
|||
|
|||
US_JOYSTICK_NUMBER(cineNumber, "Cine#", "", "", true, true, 50) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(bool, freezed, false) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(float, cineElapsedTime, 1) |
|||
US_PROPERTY_VIEW_ONLY(float, cineTotalTime, 101) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(quint32, cineSavedFrame, 100) |
|||
US_PROPERTY_VIEW_ONLY(quint32, cineTotalFrame, 201) |
|||
|
|||
US_SIMPLE_BUTTON(cine, "", "", false, true) |
|||
}; |
|||
|
|||
#endif //CINESETTINGVIEWMODEL_H
|
@ -0,0 +1,16 @@ |
|||
#ifndef VMERROR_H |
|||
#define VMERROR_H |
|||
|
|||
|
|||
class VmError |
|||
{ |
|||
public: |
|||
enum eVmErrorCode |
|||
{ |
|||
corruptedData, |
|||
databaseReadFailed, |
|||
databaseWriteFailed, |
|||
}; |
|||
}; |
|||
|
|||
#endif //VMERROR_H
|
@ -0,0 +1,47 @@ |
|||
#ifndef BIMAGECONTAINER_H |
|||
#define BIMAGECONTAINER_H |
|||
|
|||
#include <QObject> |
|||
#include <QPoint> |
|||
|
|||
#include "viewModel/utils/UsImage.h" |
|||
|
|||
class BImageContainer : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_IMAGE_B(image, |
|||
"", |
|||
0, |
|||
0, |
|||
0, |
|||
(QList<QString>({"1"})), |
|||
false, |
|||
false, |
|||
true, |
|||
true, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
false, |
|||
false, |
|||
false, |
|||
false, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
false) |
|||
|
|||
public: |
|||
BImageContainer(); |
|||
|
|||
|
|||
}; |
|||
|
|||
#endif //BIMAGECONTAINER_H
|
@ -0,0 +1,85 @@ |
|||
#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<QString>({""})), "", "", 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<QString>({"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, false) |
|||
US_PROPERTY_VIEW_ONLY(bool, mModeLineSelected, false) |
|||
|
|||
public: |
|||
ColorImageProvider* imageProviderB; |
|||
ColorImageProvider* imageProviderM; |
|||
ColorImageProvider* imageProviderAnnot; |
|||
|
|||
}; |
|||
|
|||
#endif //IMAGEVIEWMODEL_H
|
@ -0,0 +1,31 @@ |
|||
#ifndef MIMAGECONTAINER_H |
|||
#define MIMAGECONTAINER_H |
|||
|
|||
#include <QObject> |
|||
|
|||
#include "viewModel/utils/UsImage.h" |
|||
|
|||
class MImageContainer : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_IMAGE_M(image, |
|||
"", |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
false, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
false) |
|||
|
|||
public: |
|||
MImageContainer(); |
|||
}; |
|||
|
|||
#endif //MIMAGECONTAINER_H
|
@ -0,0 +1,27 @@ |
|||
#ifndef MMODEDISPLAYVIEWMODEL_H |
|||
#define MMODEDISPLAYVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
#include "viewModel/bMode/display/tint/TintMapManager.h" |
|||
#include "viewModel/bMode/display/gray/GrayMapManager.h" |
|||
|
|||
class MModeDisplayViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(MModeDisplayViewModel) |
|||
SINGLETON(MModeDisplayViewModel) |
|||
|
|||
private: |
|||
US_PROPERTY_VIEW_ONLY(TintMapManager*, tintManager, new TintMapManager) |
|||
US_PROPERTY_VIEW_ONLY(GrayMapManager*, grayMapManager, new GrayMapManager) |
|||
|
|||
|
|||
//uncrustify off
|
|||
public slots: |
|||
//uncrustify on
|
|||
void newTintMap(); |
|||
void newGrayMap(); |
|||
|
|||
}; |
|||
|
|||
#endif //MMODEDISPLAYVIEWMODEL_H
|
@ -0,0 +1,20 @@ |
|||
#ifndef MMODEDISPLAYPRESETVALUES_H |
|||
#define MMODEDISPLAYPRESETVALUES_H |
|||
|
|||
#include <QObject> |
|||
#include <QMetaType> |
|||
|
|||
#include "model/ssm/dtoInternal/SsmPresetValues.h" |
|||
|
|||
struct MModeDisplayPresetValues_t { |
|||
int grayMap; |
|||
int tintMap; |
|||
|
|||
void init(SsmPresetValues_t temp) |
|||
{ |
|||
grayMap = temp.grayMapM; |
|||
tintMap = temp.tintMapM; |
|||
} |
|||
}; |
|||
|
|||
#endif //MMODEDISPLAYPRESETVALUES_H
|
@ -0,0 +1,19 @@ |
|||
#ifndef DATAMMODESETTING_H |
|||
#define DATAMMODESETTING_H |
|||
|
|||
#include <QMetaType> |
|||
|
|||
struct DataMModeSetting_t |
|||
{ |
|||
qint32 gain; |
|||
quint32 enhance; |
|||
quint32 reject; |
|||
quint32 dynamicContrast; |
|||
float lineAzimuth; |
|||
bool quality; |
|||
quint32 speed; |
|||
}; |
|||
|
|||
Q_DECLARE_METATYPE(DataMModeSetting_t) |
|||
|
|||
#endif //DATAMMODESETTING_H
|
@ -0,0 +1,40 @@ |
|||
#ifndef MMODESETTINGVIEWMODEL_H |
|||
#define MMODESETTINGVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
#include "viewModel/mMode/setting/DataMModeSetting.h" |
|||
|
|||
|
|||
class MModeSettingViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(MModeSettingViewModel) |
|||
SINGLETON(MModeSettingViewModel) |
|||
|
|||
private: |
|||
int _lastEnhance; |
|||
|
|||
US_SWITCH_BUTTON(mModeEnable, "M Mode", "", true, true, false) |
|||
|
|||
US_PROPERTY(float, azimuthIntercept, 0) |
|||
|
|||
US_SPIN_BOX(speed, "Speed", (QList<QString>({"1", "2", "3", "4", "5", "6"})), |
|||
"", "", true, true, 1) |
|||
|
|||
US_SWITCH_BUTTON(bMQuality, "B|M Quality", "", true, true, false) |
|||
|
|||
US_SPIN_BOX(enhance, "Enhance", (QList<QString>({""})), "", "", true, true, 0) |
|||
|
|||
US_SWITCH_BUTTON_INTERNAL(enhanceOff, "Enhance off", "", true, true, false) |
|||
|
|||
US_SPIN_BOX(reject, "Reject", (QList<QString>({""})), "", "", true, true, 0) |
|||
|
|||
US_SPIN_BOX(dynamicContrast, "Dy.Cnt.", (QList<QString>({""})), "", "", true, true, 0) |
|||
|
|||
US_INFO_BOX(gain, "Gain", (QList<QString>({""})), "", "dB", true, true, 0) |
|||
|
|||
void applyPreset(); |
|||
}; |
|||
|
|||
#endif //MMODESETTINGVIEWMODEL_H
|
@ -0,0 +1,167 @@ |
|||
#ifndef MEASUREVIEWMODEL_H |
|||
#define MEASUREVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
#include "viewModel/EMeasureTab.h" |
|||
|
|||
class MeasureViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(MeasureViewModel) |
|||
SINGLETON(MeasureViewModel) |
|||
|
|||
private: |
|||
|
|||
US_RADIO_BUTTON(currentPreset, 0) |
|||
US_SIMPLE_BUTTON(preset0, "Factory", "", true, true) |
|||
US_SIMPLE_BUTTON(preset1, "Custom 1", "", true, false) |
|||
US_SIMPLE_BUTTON(preset2, "Custom 2", "", true, false) |
|||
US_SIMPLE_BUTTON(preset3, "Custom 3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentApplication, 0) |
|||
US_SIMPLE_BUTTON(application0, "Application 0", "", true, true) |
|||
US_SIMPLE_BUTTON(application1, "Application 1", "", true, false) |
|||
US_SIMPLE_BUTTON(application2, "Application 2", "", true, false) |
|||
US_SIMPLE_BUTTON(application3, "Application 3", "", true, false) |
|||
US_SIMPLE_BUTTON(application4, "Application 4", "", true, false) |
|||
US_SIMPLE_BUTTON(application5, "Application 5", "", true, false) |
|||
US_SIMPLE_BUTTON(application6, "Application 6", "", true, false) |
|||
US_SIMPLE_BUTTON(application7, "Application 7", "", true, false) |
|||
US_SIMPLE_BUTTON(application8, "Application 8", "", true, false) |
|||
US_SIMPLE_BUTTON(application9, "Application 9", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentSubCategory, 0) |
|||
US_SIMPLE_BUTTON(subCategory0, "Generic", "", true, true) |
|||
US_SIMPLE_BUTTON(subCategory1, "sub cat 1", "", true, false) |
|||
US_SIMPLE_BUTTON(subCategory2, "sub cat 2", "", true, false) |
|||
US_SIMPLE_BUTTON(subCategory3, "sub cat 3", "", false, false) |
|||
US_SIMPLE_BUTTON(subCategory4, "sub cat 4", "", false, false) |
|||
US_SIMPLE_BUTTON(subCategory5, "sub cat 5", "", false, false) |
|||
US_SIMPLE_BUTTON(subCategory6, "sub cat 6", "", false, false) |
|||
US_SIMPLE_BUTTON(subCategory7, "sub cat 7", "", false, false) |
|||
|
|||
US_PROPERTY(EMeasureTab::eMeasureTab, activeTabMeasure, EMeasureTab::B_TAB) |
|||
US_PROPERTY_VIEW_ONLY(bool, bModeEnable, true) |
|||
US_PROPERTY_VIEW_ONLY(bool, mModeEnable, true) |
|||
US_PROPERTY_VIEW_ONLY(bool, pwModeEnable, true) |
|||
|
|||
US_RADIO_BUTTON(currentPage, 0) |
|||
|
|||
US_RADIO_BUTTON_CUSTOM_SETTER(currentStudyPage0, 0) |
|||
US_SIMPLE_BUTTON(page0Study0, "Generic Dist.", "", true, true) |
|||
US_SIMPLE_BUTTON(page0Study1, "Generic Area", "", true, true) |
|||
US_SIMPLE_BUTTON(page0Study2, "Study 0-2", "", true, false) |
|||
US_SIMPLE_BUTTON(page0Study3, "Study 0-3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentStudyPage1, 1) |
|||
US_SIMPLE_BUTTON(page1Study0, "Study 1-0", "", true, false) |
|||
US_SIMPLE_BUTTON(page1Study1, "Study 1-1", "", true, false) |
|||
US_SIMPLE_BUTTON(page1Study2, "Study 1-2", "", true, false) |
|||
US_SIMPLE_BUTTON(page1Study3, "Study 1-3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentStudyPage2, 2) |
|||
US_SIMPLE_BUTTON(page2Study0, "Study 2-0", "", true, false) |
|||
US_SIMPLE_BUTTON(page2Study1, "Study 2-1", "", true, false) |
|||
US_SIMPLE_BUTTON(page2Study2, "Study 2-2", "", true, false) |
|||
US_SIMPLE_BUTTON(page2Study3, "Study 2-3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentStudyPage3, 0) |
|||
US_SIMPLE_BUTTON(page3Study0, "Study 3-0", "", true, false) |
|||
US_SIMPLE_BUTTON(page3Study1, "Study 3-1", "", true, false) |
|||
US_SIMPLE_BUTTON(page3Study2, "Study 3-2", "", true, false) |
|||
US_SIMPLE_BUTTON(page3Study3, "Study 3-3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentStudyPage4, 0) |
|||
US_SIMPLE_BUTTON(page4Study0, "Study 4-0", "", true, false) |
|||
US_SIMPLE_BUTTON(page4Study1, "Study 4-1", "", true, false) |
|||
US_SIMPLE_BUTTON(page4Study2, "Study 4-2", "", true, false) |
|||
US_SIMPLE_BUTTON(page4Study3, "Study 4-3", "", true, false) |
|||
|
|||
US_RADIO_BUTTON(currentParameter, 0) |
|||
|
|||
US_DOUBLE_TEXT_BUTTON(parameter0, "Parameter 0", true, true, "0") |
|||
US_DOUBLE_TEXT_BUTTON(parameter1, "Parameter 1", true, true, "2") |
|||
US_DOUBLE_TEXT_BUTTON(parameter2, "Parameter 2", true, true, "8") |
|||
US_DOUBLE_TEXT_BUTTON(parameter3, "Parameter 3", true, true, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter4, "Parameter 4", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter5, "Parameter 5", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter6, "Parameter 6", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter7, "Parameter 7", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter8, "Parameter 8", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter9, "Parameter 9", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter10, "Parameter 10", false, false, "") |
|||
US_DOUBLE_TEXT_BUTTON(parameter11, "Parameter 11", false, false, "") |
|||
|
|||
US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(clearAll, "Clear All", "", true, true, true) |
|||
US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(deleteLast, "Delete Last", "", true, true, true) |
|||
US_SWITCH_BUTTON(worksheet, "Worksheet", "", true, true, true) |
|||
|
|||
US_SPIN_BOX(resultSize, "Result Size", (QList<QString>({"1", "2", "3"})), "", "", true, true, 0) |
|||
US_SWITCH_BUTTON(resultPos, "Result Pos.", "", true, true, false) |
|||
|
|||
US_JOYSTICK_NUMBER(resultOpacity, "Opacity", "", "", true, true, 0) |
|||
US_SWITCH_BUTTON(resultOff, "Off", "", true, true, false) |
|||
|
|||
US_SPIN_BOX(type, "Type", (QList<QString>({"Sys", "Def", "---"})), "", "", true, true, 0) |
|||
US_SPIN_BOX(side, "Side", (QList<QString>({"Right", "Left"})), "", "", true, true, 0) |
|||
|
|||
US_QUAD_TEXT_BUTTON(calc0, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc1, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc2, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc3, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc4, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc5, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc6, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc7, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc8, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc9, "", "", "", "", false, true) |
|||
|
|||
US_QUAD_TEXT_BUTTON(calc10, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc11, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc12, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc13, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc14, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc15, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc16, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc17, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc18, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc19, "", "", "", "", false, true) |
|||
|
|||
US_QUAD_TEXT_BUTTON(calc20, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc21, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc22, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc23, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc24, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc25, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc26, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc27, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc28, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc29, "", "", "", "", false, true) |
|||
|
|||
US_QUAD_TEXT_BUTTON(calc30, "", "", "", "", false, true) |
|||
US_QUAD_TEXT_BUTTON(calc31, "", "", "", "", false, true) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(quint32, measureInfoHorizontalPosition, 20) |
|||
US_PROPERTY_VIEW_ONLY(quint32, measureInfoVerticalPosition, 100) |
|||
|
|||
US_SPIN_BOX_INTERNAL(measureInfoFontSize, |
|||
"Font Size", |
|||
(QList<QString>({"8", "10", "12", "14", "16", "18", "20", "22", "24", |
|||
"26"})), |
|||
"", |
|||
"", |
|||
true, |
|||
true, |
|||
3) |
|||
|
|||
US_SPIN_BOX_INTERNAL(measureInfoTransparency, |
|||
"Trancparency", |
|||
(QList<QString>({})), |
|||
"", |
|||
"", |
|||
true, |
|||
true, |
|||
2) |
|||
}; |
|||
|
|||
#endif //MEASUREVIEWMODEL_H
|
@ -0,0 +1,57 @@ |
|||
#ifndef PROBEVIEWMODEL_H |
|||
#define PROBEVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
|
|||
#define NOT_SELECTED -1 |
|||
|
|||
class ProbeViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(ProbeViewModel) |
|||
SINGLETON(ProbeViewModel) |
|||
|
|||
private: |
|||
|
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, isProbePageShown, false) |
|||
US_PROPERTY_VIEW_ONLY(bool, allowProbeView, true) |
|||
US_PROPERTY_CUSTOM_SETTER(bool, saveAndExit, false) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(int, savedProbeIndex, -1) |
|||
US_PROPERTY_VIEW_ONLY(int, savedFolderIndex, -1) |
|||
US_PROPERTY_VIEW_ONLY(int, savedPresetIndex, -1) |
|||
|
|||
US_RADIO_BUTTON_CUSTOM_SETTER_INTERNAL(currentProbe, -1) |
|||
US_SIMPLE_BUTTON(probe0, "", "", true, true) |
|||
US_SIMPLE_BUTTON(probe1, "", "", true, true) |
|||
US_SIMPLE_BUTTON(probe2, "", "", true, true) |
|||
US_SIMPLE_BUTTON(probe3, "", "", true, true) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, probe0Error, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, probe1Error, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, probe2Error, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, probe3Error, "") |
|||
|
|||
US_RADIO_BUTTON_CUSTOM_SETTER_INTERNAL(currentFolder, -1) |
|||
US_SIMPLE_BUTTON(folder0, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder1, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder2, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder3, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder4, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder5, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder6, "", "", true, true) |
|||
US_SIMPLE_BUTTON(folder7, "", "", true, true) |
|||
|
|||
US_RADIO_BUTTON_CUSTOM_SETTER_INTERNAL(currentPreset, -1) |
|||
US_SIMPLE_BUTTON(preset0, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset1, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset2, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset3, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset4, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset5, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset6, "", "", true, true) |
|||
US_SIMPLE_BUTTON(preset7, "", "", true, true) |
|||
}; |
|||
|
|||
#endif //PROBEVIEWMODEL_H
|
@ -0,0 +1,32 @@ |
|||
#ifndef SIMULATIONVIEWMODEL_H |
|||
#define SIMULATIONVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class SimulationViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(SimulationViewModel) |
|||
SINGLETON(SimulationViewModel) |
|||
|
|||
private: |
|||
|
|||
US_SWITCH_BUTTON(rxTesterMode, "Run Test", "", true, true, false) |
|||
US_SWITCH_BUTTON(simulationTest, "Test Mode", "", true, true, false) |
|||
US_SWITCH_BUTTON(oneshot, "Compare", "", true, true, true) |
|||
US_SWITCH_BUTTON(autoIncrement, "Auto Increment", "", true, true, true) |
|||
US_SWITCH_BUTTON(upload, "Upload", "", true, true, false) |
|||
|
|||
US_SWITCH_BUTTON(freeTest1, "Meas. h5", "", true, true, false) |
|||
US_SWITCH_BUTTON(freeTest2, "Test 2", "", true, true, false) |
|||
US_SWITCH_BUTTON(freeTest3, "Test 3", "", true, true, false) |
|||
US_SWITCH_BUTTON(freeTest4, "Test 4", "", true, true, false) |
|||
US_SWITCH_BUTTON(freeTest5, "Test 5", "", true, true, false) |
|||
|
|||
US_PROPERTY(QString, simulationFolder, "") |
|||
US_SIMPLE_BUTTON(workingDirOpen, "Open", "", true, true) |
|||
|
|||
US_PROPERTY_INTERNAL(bool, openDialog, false) |
|||
}; |
|||
|
|||
#endif //SIMULATIONVIEWMODEL_H
|
@ -0,0 +1,56 @@ |
|||
#ifndef TGCVIEWMODEL_H |
|||
#define TGCVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class TgcViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(TgcViewModel) |
|||
SINGLETON(TgcViewModel) |
|||
|
|||
private: |
|||
|
|||
//Default Buttons
|
|||
US_PROPERTY_VIEW_ONLY(QString, tgcResetStr, "2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault0, "819, 819, 819, 819, 819, 819, 819, 819") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault1, "2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault2, "3277, 3277, 3277, 3277, 3277, 3277, 3277, 3277") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault3, "1229, 1433, 1638, 1843, 2048, 2253, 2458, 2662") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault4, "901, 1187, 1475, 1761, 2048, 2335, 2621, 2908") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault5, "410, 819, 1229, 1638, 2048, 2458, 2867, 3277") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault6, "2662, 2458, 2253, 2048, 1843, 1638, 1433, 1229") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault7, "2908, 2621, 2335, 2048, 1761, 1475, 1187, 901") |
|||
US_PROPERTY_VIEW_ONLY(QString, tgcDefault8, "3277, 2867, 2458, 2048, 1638, 1229, 819, 410") |
|||
|
|||
//User Buttons
|
|||
US_PROPERTY(QString, tgcUser1, "819, 819, 819, 819, 819, 819, 819, 819") |
|||
US_PROPERTY(QString, tgcUser2, "2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048") |
|||
US_PROPERTY(QString, tgcUser3, "3277, 3277, 3277, 3277, 3277, 3277, 3277, 3277") |
|||
|
|||
//Slider
|
|||
US_PROPERTY(float, tgc0, 2048) |
|||
US_PROPERTY(float, tgc1, 2048) |
|||
US_PROPERTY(float, tgc2, 2048) |
|||
US_PROPERTY(float, tgc3, 2048) |
|||
US_PROPERTY(float, tgc4, 2048) |
|||
US_PROPERTY(float, tgc5, 2048) |
|||
US_PROPERTY(float, tgc6, 2048) |
|||
US_PROPERTY(float, tgc7, 2048) |
|||
|
|||
//Save As
|
|||
US_SIMPLE_BUTTON(tgcSaveAs, "Save As", "", true, true) |
|||
US_SIMPLE_BUTTON(tgcUserButton1, "User 1", "", true, true) |
|||
US_SIMPLE_BUTTON(tgcUserButton2, "User 2", "", true, true) |
|||
US_SIMPLE_BUTTON(tgcUserButton3, "User 3", "", true, true) |
|||
|
|||
//Reset
|
|||
US_SIMPLE_BUTTON(tgcReset, "Reset", "qrc:/UI/Images/Icon/Reset.svg", true, true) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(bool, enabled, true) |
|||
|
|||
//Joysticks
|
|||
|
|||
}; |
|||
|
|||
#endif //TGCVIEWMODEL_H
|
@ -0,0 +1,34 @@ |
|||
#ifndef TRACKBALLVIEWMODEL_H |
|||
#define TRACKBALLVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
class TrackballViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(TrackballViewModel) |
|||
SINGLETON(TrackballViewModel) |
|||
|
|||
private: |
|||
US_TRACKBALL(centerTrackball1, "pos", true, true) |
|||
US_TRACKBALL(centerTrackball2, "center", true, false) |
|||
|
|||
US_TRACKBALL(upTrackball1, "Up 1", true, true) |
|||
US_TRACKBALL(upTrackball2, "Up 2", true, false) |
|||
|
|||
US_TRACKBALL(downTrackball1, "Down 1", true, true) |
|||
US_TRACKBALL(downTrackball2, "Down 2", true, false) |
|||
|
|||
US_TRACKBALL(rightTrackball1, "Right 1", false, false) |
|||
US_TRACKBALL(rightTrackball2, "Right 2", false, true) |
|||
|
|||
US_TRACKBALL(leftTrackball1, "Left 1", true, true) |
|||
US_TRACKBALL(leftTrackball2, "Left 2", true, false) |
|||
|
|||
US_TRACKBALL(upRightTrackball, "", true, true) |
|||
US_TRACKBALL(downRightTrackball, "", true, true) |
|||
US_TRACKBALL(upLeftTrackball, "", true, true) |
|||
US_TRACKBALL(downLeftTrackball, "", true, true) |
|||
}; |
|||
|
|||
#endif //TRACKBALLVIEWMODEL_H
|
@ -0,0 +1,30 @@ |
|||
#ifndef DIALOGVIEWMODEL_H |
|||
#define DIALOGVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
|
|||
class DialogViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(DialogViewModel) |
|||
SINGLETON(DialogViewModel) |
|||
|
|||
private: |
|||
US_PROPERTY_VIEW_ONLY(QString, title, "title") |
|||
US_PROPERTY_VIEW_ONLY(bool, showDialog, false) |
|||
US_PROPERTY_VIEW_ONLY(bool, modal, false) |
|||
US_PROPERTY_VIEW_ONLY(QString, text, "text") |
|||
US_PROPERTY_VIEW_ONLY(QString, detail, "detail") |
|||
US_PROPERTY_VIEW_ONLY(bool, detailEn, false) |
|||
US_PROPERTY_VIEW_ONLY(QString, btn1Text, "btn1") |
|||
US_PROPERTY_VIEW_ONLY(QString, btn2Text, "btn2") |
|||
US_PROPERTY_VIEW_ONLY(QString, btn3Text, "btn3") |
|||
|
|||
public: |
|||
Q_INVOKABLE void btn1Clicked(); |
|||
Q_INVOKABLE void btn2Clicked(); |
|||
Q_INVOKABLE void btn3Clicked(); |
|||
}; |
|||
|
|||
#endif //DIALOGVIEWMODEL_H
|
@ -0,0 +1,25 @@ |
|||
#ifndef USERVIEWMODEL_H |
|||
#define USERVIEWMODEL_H |
|||
|
|||
#include "viewModel/BaseViewModel.h" |
|||
|
|||
#include "viewModel/EMenuTab.h" |
|||
|
|||
class UserViewModel : public BaseViewModel |
|||
{ |
|||
Q_OBJECT |
|||
US_VIEW_MODEL(UserViewModel) |
|||
SINGLETON(UserViewModel) |
|||
|
|||
private: |
|||
US_PROPERTY(EMenuTab::eMenuTab, activeTab, EMenuTab::B_TAB) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(bool, viewTGC, false) |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, viewMeasurement, false) |
|||
US_PROPERTY_VIEW_ONLY(bool, viewMeasurementMonitor, false) |
|||
US_PROPERTY_VIEW_ONLY(bool, viewMeasurementCalculation, false) |
|||
|
|||
US_PROPERTY_VIEW_ONLY(bool, viewMeasurementTopBar, false) |
|||
}; |
|||
|
|||
#endif //USERVIEWMODEL_H
|
@ -0,0 +1,94 @@ |
|||
#ifndef AUTOPROPERTY_H |
|||
#define AUTOPROPERTY_H |
|||
|
|||
#include <QObject> |
|||
|
|||
//See Gist Comment for description, usage, warnings and license information
|
|||
|
|||
#define US_PROPERTY(TYPE, NAME, DEFAULT_VALUE) \ |
|||
Q_PROPERTY(TYPE NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
TYPE NAME() const { return _ ## NAME; } \ |
|||
void NAME ## Internal(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
emit NAME ## Changed(value); \ |
|||
} \ |
|||
void NAME(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
emit NAME ## Changed(value); \ |
|||
send(); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(TYPE value); \ |
|||
private: \ |
|||
TYPE _ ## NAME = DEFAULT_VALUE; \ |
|||
|
|||
/*************************************************************************************************/ |
|||
#define US_PROPERTY_CUSTOM_SETTER(TYPE, NAME, DEFAULT_VALUE) \ |
|||
Q_PROPERTY(TYPE NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
TYPE NAME() const { return _ ## NAME; } \ |
|||
void NAME ## Internal(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
emit NAME ## Changed(value); \ |
|||
} \ |
|||
void NAME(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
NAME ## Handle(); \ |
|||
emit NAME ## Changed(value); \ |
|||
send(); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(TYPE value); \ |
|||
private: \ |
|||
TYPE _ ## NAME = DEFAULT_VALUE; \ |
|||
void NAME ## Handle(); |
|||
|
|||
/*************************************************************************************************/ |
|||
#define US_PROPERTY_VIEW_ONLY(TYPE, NAME, DEFAULT_VALUE) \ |
|||
Q_PROPERTY(TYPE NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
TYPE NAME() const { return _ ## NAME; } \ |
|||
void NAME(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
emit NAME ## Changed(value); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(TYPE value); \ |
|||
protected: \ |
|||
TYPE _ ## NAME = DEFAULT_VALUE; \ |
|||
|
|||
/*************************************************************************************************/ |
|||
#define US_PROPERTY_INTERNAL(TYPE, NAME, DEFAULT_VALUE) \ |
|||
Q_PROPERTY(TYPE NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
TYPE NAME() const { return _ ## NAME; } \ |
|||
void NAME(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
emit NAME ## Changed(value); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(TYPE value); \ |
|||
private: \ |
|||
TYPE _ ## NAME = DEFAULT_VALUE; \ |
|||
|
|||
|
|||
/*************************************************************************************************/ |
|||
#define US_PROPERTY_CUSTOM_SETTER_INTERNAL(TYPE, NAME, DEFAULT_VALUE) \ |
|||
Q_PROPERTY(TYPE NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
TYPE NAME() const { return _ ## NAME; } \ |
|||
void NAME(TYPE value) { \ |
|||
if(_ ## NAME == value)return; \ |
|||
_ ## NAME = value; \ |
|||
NAME ## Handle(); \ |
|||
emit NAME ## Changed(value); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(TYPE value); \ |
|||
private: \ |
|||
TYPE _ ## NAME = DEFAULT_VALUE; \ |
|||
void NAME ## Handle(); |
|||
|
|||
#endif //AUTOPROPERTY_H
|
@ -0,0 +1,28 @@ |
|||
#ifndef USBUTTONDOUBLETEXT_H |
|||
#define USBUTTONDOUBLETEXT_H |
|||
|
|||
#include "UsSimpleButton.h" |
|||
|
|||
#define US_DOUBLE_TEXT_BUTTON(NAME, \ |
|||
TITLE, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
INFO) \ |
|||
US_SIMPLE_BUTTON(NAME, TITLE, "", ENABLE, VISIBLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Info, INFO) |
|||
|
|||
#define US_QUAD_TEXT_BUTTON(NAME, \ |
|||
TEXT_0, \ |
|||
TEXT_1, \ |
|||
TEXT_2, \ |
|||
TEXT_3, \ |
|||
VISIBLE, \ |
|||
LINE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Text0, TEXT_0) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Text1, TEXT_1) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Text2, TEXT_2) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Text3, TEXT_3) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Line, LINE) |
|||
|
|||
#endif //USBUTTONDOUBLETEXT_H
|
@ -0,0 +1,93 @@ |
|||
#ifndef USIMAGE_H |
|||
#define USIMAGE_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_IMAGE_B(NAME, \ |
|||
IMAGE, \ |
|||
IMAGE_X, \ |
|||
IMAGE_Y, \ |
|||
SCALE, \ |
|||
SCALE_VALUES, \ |
|||
MIRROR, \ |
|||
FLIP, \ |
|||
ACTIVE, \ |
|||
SHOW_INDICATOR, \ |
|||
INDICATOR_X, \ |
|||
INDICATOR_Y, \ |
|||
FOCUS_POINT_1, \ |
|||
FOCUS_POINT_2, \ |
|||
FOCUS_POINT_3, \ |
|||
FOCUS_POINT_4, \ |
|||
FOCUS_POINT_1_ENABLE, \ |
|||
FOCUS_POINT_2_ENABLE, \ |
|||
FOCUS_POINT_3_ENABLE, \ |
|||
FOCUS_POINT_4_ENABLE, \ |
|||
FOCUS_POINT_X, \ |
|||
FOCUS_POINT_Y, \ |
|||
RULER_LENGTH, \ |
|||
RULER_LINE_DISTANCE, \ |
|||
RULER_X, \ |
|||
RULER_Y, \ |
|||
RULER_SMALL_LINE_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Source, IMAGE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## X, IMAGE_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## Y, IMAGE_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## Scale, SCALE) \ |
|||
US_PROPERTY_VIEW_ONLY(float, NAME ## HiddenScale, 1) \ |
|||
US_PROPERTY_VIEW_ONLY(QStringList, NAME ## ScaleValues, SCALE_VALUES) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Mirror, MIRROR) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Flip, FLIP) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Active, ACTIVE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## ShowIndicator, SHOW_INDICATOR) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## IndicatorX, INDICATOR_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## IndicatorY, INDICATOR_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPoint1, FOCUS_POINT_1) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPoint2, FOCUS_POINT_2) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPoint3, FOCUS_POINT_3) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPoint4, FOCUS_POINT_4) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## FocusPoint1Enable, FOCUS_POINT_1_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## FocusPoint2Enable, FOCUS_POINT_2_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## FocusPoint3Enable, FOCUS_POINT_3_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## FocusPoint4Enable, FOCUS_POINT_4_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPointX, FOCUS_POINT_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## FocusPointY, FOCUS_POINT_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## RulerLength, RULER_LENGTH) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## RulerLineDistance, RULER_LINE_DISTANCE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## RulerX, RULER_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## RulerY, RULER_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## RulerSmallLineEnable, RULER_SMALL_LINE_ENABLE) |
|||
|
|||
#define US_IMAGE_M(NAME, \ |
|||
IMAGE, \ |
|||
IMAGE_X, \ |
|||
IMAGE_Y, \ |
|||
VERTICAL_RULER_LENGTH, \ |
|||
VERTICAL_RULER_LINE_DISTANCE, \ |
|||
VERTICAL_RULER_X, \ |
|||
VERTICAL_RULER_Y, \ |
|||
VERTICAL_RULER_SMALL_LINE_ENABLE, \ |
|||
HORIZONTAL_RULER_LENGTH, \ |
|||
HORIZONTAL_RULER_LINE_DISTANCE, \ |
|||
HORIZONTAL_RULER_X, \ |
|||
HORIZONTAL_RULER_Y, \ |
|||
HORIZONTAL_RULER_SMALL_LINE_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Source, IMAGE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## X, IMAGE_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## Y, IMAGE_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## VerticalRulerLength, VERTICAL_RULER_LENGTH) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## VerticalRulerLineDistance, VERTICAL_RULER_LINE_DISTANCE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## VerticalRulerX, VERTICAL_RULER_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## VerticalRulerY, VERTICAL_RULER_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, \ |
|||
NAME ## VerticalRulerSmallLineEnable, \ |
|||
VERTICAL_RULER_SMALL_LINE_ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## HorizontalRulerLength, HORIZONTAL_RULER_LENGTH) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## HorizontalRulerLineDistance, HORIZONTAL_RULER_LINE_DISTANCE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## HorizontalRulerX, HORIZONTAL_RULER_X) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## HorizontalRulerY, HORIZONTAL_RULER_Y) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, \ |
|||
NAME ## HorizontalRulerSmallLineEnable, \ |
|||
HORIZONTAL_RULER_SMALL_LINE_ENABLE) |
|||
|
|||
#endif //USIMAGE_H
|
@ -0,0 +1,50 @@ |
|||
#ifndef USINFOBOX_H |
|||
#define USINFOBOX_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_INFO_BOX(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QStringList, NAME ## Values, VALUES) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Prefix, PREFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Suffix, SUFFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY(int, NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## Diff, 0) |
|||
|
|||
#define US_INFO_BOX_CUSTOM_SETTER(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QStringList, NAME ## Values, VALUES) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Prefix, PREFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Suffix, SUFFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(int, NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME ## Diff, 0) |
|||
|
|||
#define US_INFO_BOX_BOOL(NAME, \ |
|||
TITLE, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY(bool, NAME, DEFAULT_VALUE) |
|||
|
|||
#endif //USINFOBOX_H
|
@ -0,0 +1,34 @@ |
|||
#ifndef USJOYSTICK_H |
|||
#define USJOYSTICK_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_JOYSTICK_SIMPLE(NAME, \ |
|||
TITLE, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Prefix, PREFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Suffix, SUFFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY_VIEW_ONLY(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#define US_JOYSTICK_NUMBER(NAME, \ |
|||
TITLE, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Prefix, PREFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Suffix, SUFFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) \ |
|||
US_PROPERTY(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#endif //USJOYSTICK_H
|
@ -0,0 +1,25 @@ |
|||
#ifndef USLIST_H |
|||
#define USLIST_H |
|||
|
|||
#include <QList> |
|||
|
|||
#define US_LIST(TYPE, NAME) \ |
|||
Q_PROPERTY(QList<TYPE> NAME READ NAME WRITE NAME NOTIFY NAME ## Changed) \ |
|||
public: \ |
|||
QList<TYPE> NAME() const { return _ ## NAME; } \ |
|||
void NAME(QList<TYPE> value) { \ |
|||
if(_ ## NAME == value){ return; } \ |
|||
_ ## NAME.clear(); \ |
|||
for(int i = 0; i < value.length(); i++) \ |
|||
{ \ |
|||
_ ## NAME.append(value[i]); \ |
|||
} \ |
|||
emit NAME ## Changed(value); \ |
|||
NAME ## Handle(); \ |
|||
} \ |
|||
Q_SIGNAL void NAME ## Changed(QList<TYPE> value); \ |
|||
private: \ |
|||
QList<TYPE> _ ## NAME; \ |
|||
void NAME ## Handle(); |
|||
|
|||
#endif //USLIST_H
|
@ -0,0 +1,50 @@ |
|||
#ifndef USMULTIBUTTON_H |
|||
#define USMULTIBUTTON_H |
|||
|
|||
#include "UsSpinBox.h" |
|||
|
|||
#define US_MULTI_BUTTON(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE, \ |
|||
BYPASS) \ |
|||
US_SPIN_BOX(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY(bool, NAME ## Bypass, BYPASS) \ |
|||
|
|||
#define US_MULTI_BUTTON_CUSTOM_SETTER(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE, \ |
|||
BYPASS) \ |
|||
US_SPIN_BOX_CUSTOM_SETTER(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(bool, NAME ## Bypass, BYPASS) \ |
|||
|
|||
#define US_MULTI_BUTTON_CUSTOM_SETTER_BYPASS_ONLY(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE, \ |
|||
BYPASS) \ |
|||
US_SPIN_BOX(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(bool, NAME ## Bypass, BYPASS) \ |
|||
|
|||
|
|||
#endif //USMULTIBUTTON_H
|
@ -0,0 +1,19 @@ |
|||
#ifndef USRADIOBUTTON_H |
|||
#define USRADIOBUTTON_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_RADIO_BUTTON(NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY(int, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_RADIO_BUTTON_CUSTOM_SETTER(NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(int, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_RADIO_BUTTON_CUSTOM_SETTER_INTERNAL(NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(int, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_RADIO_BUTTON_INTERNAL(NAME, DEFAULT_VALUE) \ |
|||
US_PROPERTY_INTERNAL(int, NAME, DEFAULT_VALUE) \ |
|||
|
|||
|
|||
#endif //USRADIOBUTTON_H
|
@ -0,0 +1,60 @@ |
|||
#ifndef USSIMPLEBUTTON_H |
|||
#define USSIMPLEBUTTON_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_SIMPLE_BUTTON_PROPERTY_1(NAME) US_SIMPLE_BUTTON_BASE(NAME, "fake title", "", true, \ |
|||
true) |
|||
|
|||
#define US_SIMPLE_BUTTON_PROPERTY_2(NAME, TITLE) US_SIMPLE_BUTTON_BASE(NAME, \ |
|||
TITLE, \ |
|||
"", \ |
|||
true, \ |
|||
true) |
|||
|
|||
#define US_SIMPLE_BUTTON_PROPERTY_3(NAME, TITLE, IMAGE) \ |
|||
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, true, true) |
|||
|
|||
#define US_SIMPLE_BUTTON_PROPERTY_4(NAME, TITLE, IMAGE, ENABLE) \ |
|||
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, true) |
|||
|
|||
#define US_SIMPLE_BUTTON_PROPERTY_5(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, VISIBLE) |
|||
|
|||
#define US_SIMPLE_BUTTON_ROUTER(A, B, C, D, E, FUNC, ...) FUNC |
|||
|
|||
#define US_SIMPLE_BUTTON(...) \ |
|||
US_SIMPLE_BUTTON_ROUTER(__VA_ARGS__, \ |
|||
US_SIMPLE_BUTTON_PROPERTY_5(__VA_ARGS__), \ |
|||
US_SIMPLE_BUTTON_PROPERTY_4(__VA_ARGS__), \ |
|||
US_SIMPLE_BUTTON_PROPERTY_3(__VA_ARGS__), \ |
|||
US_SIMPLE_BUTTON_PROPERTY_2(__VA_ARGS__), \ |
|||
US_SIMPLE_BUTTON_PROPERTY_1(__VA_ARGS__), \ |
|||
) |
|||
|
|||
#define US_SIMPLE_BUTTON_BASE(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Image, IMAGE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) |
|||
|
|||
#include "UsViewControl.h" |
|||
|
|||
class UsSimpleButton : public UsViewControl |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(QString, title, "") |
|||
US_PROPERTY_VIEW_ONLY(QString, image, "") |
|||
US_PROPERTY_VIEW_ONLY(int, value, 0) |
|||
|
|||
public: |
|||
UsSimpleButton(const QString& _title, const QString& _image, bool visible, |
|||
bool enable) : UsViewControl(visible, enable) |
|||
{ |
|||
title(_title); |
|||
image(_image); |
|||
} |
|||
}; |
|||
|
|||
#endif //USSIMPLEBUTTON_H
|
@ -0,0 +1,92 @@ |
|||
#ifndef USSPINBOX_H |
|||
#define USSPINBOX_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_SPIN_BOX_SHELL(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(QStringList, NAME ## Values, VALUES) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Prefix, PREFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Suffix, SUFFIX) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Visible, VISIBLE) |
|||
|
|||
#define US_SPIN_BOX(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_SPIN_BOX_SHELL(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#define US_SPIN_BOX_INTERNAL(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_SPIN_BOX_SHELL(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_INTERNAL(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#define US_SPIN_BOX_CUSTOM_SETTER(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_SPIN_BOX_SHELL(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#define US_SPIN_BOX_CUSTOM_SETTER_INTERNAL(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE) \ |
|||
US_SPIN_BOX_SHELL(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(int, NAME, DEFAULT_VALUE) |
|||
|
|||
#define US_POPUP_BUTTON(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE, \ |
|||
SHOW_ACTIVE_BUTTON, RESET) \ |
|||
US_SPIN_BOX(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_INTERNAL(bool, NAME ## ShowActiveButton, SHOW_ACTIVE_BUTTON) \ |
|||
US_PROPERTY_INTERNAL(bool, NAME ## Reset, RESET) \ |
|||
|
|||
#define US_POPUP_BUTTON_CUSTOM_SETTER(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, \ |
|||
DEFAULT_VALUE, SHOW_ACTIVE_BUTTON, RESET) \ |
|||
US_SPIN_BOX_CUSTOM_SETTER(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_INTERNAL(bool, NAME ## ShowActiveButton, SHOW_ACTIVE_BUTTON) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, NAME ## Reset, RESET) \ |
|||
|
|||
#define US_POPUP_BUTTON_CUSTOM_SETTER_CUSTOM_SHOW(NAME, \ |
|||
TITLE, \ |
|||
VALUES, \ |
|||
PREFIX, \ |
|||
SUFFIX, \ |
|||
ENABLE, \ |
|||
VISIBLE, \ |
|||
DEFAULT_VALUE, \ |
|||
SHOW_ACTIVE_BUTTON, \ |
|||
RESET) \ |
|||
US_SPIN_BOX_CUSTOM_SETTER(NAME, TITLE, VALUES, PREFIX, SUFFIX, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, NAME ## ShowActiveButton, SHOW_ACTIVE_BUTTON) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, NAME ## Reset, RESET) \ |
|||
|
|||
|
|||
#endif //USSPINBOX_H
|
@ -0,0 +1,23 @@ |
|||
#ifndef USSWITCHBUTTON_H |
|||
#define USSWITCHBUTTON_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_SWITCH_BUTTON(NAME, TITLE, IMAGE, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_SIMPLE_BUTTON(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_PROPERTY(bool, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_SWITCH_BUTTON_INTERNAL(NAME, TITLE, IMAGE, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_SIMPLE_BUTTON(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_PROPERTY_INTERNAL(bool, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_SWITCH_BUTTON_CUSTOM_SETTER(NAME, TITLE, IMAGE, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_SIMPLE_BUTTON(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_PROPERTY_CUSTOM_SETTER(bool, NAME, DEFAULT_VALUE) \ |
|||
|
|||
#define US_SWITCH_BUTTON_CUSTOM_SETTER_INTERNAL(NAME, TITLE, IMAGE, ENABLE, VISIBLE, DEFAULT_VALUE) \ |
|||
US_SIMPLE_BUTTON(NAME, TITLE, IMAGE, ENABLE, VISIBLE) \ |
|||
US_PROPERTY_CUSTOM_SETTER_INTERNAL(bool, NAME, DEFAULT_VALUE) \ |
|||
|
|||
|
|||
#endif //USSWITCHBUTTON_H
|
@ -0,0 +1,14 @@ |
|||
#ifndef USTRACKBALL_H |
|||
#define USTRACKBALL_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
#define US_TRACKBALL(NAME, \ |
|||
TITLE, \ |
|||
ENABLE, \ |
|||
ACTIVE) \ |
|||
US_PROPERTY_VIEW_ONLY(QString, NAME ## Title, TITLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Enable, ENABLE) \ |
|||
US_PROPERTY_VIEW_ONLY(bool, NAME ## Active, ACTIVE) |
|||
|
|||
#endif //USTRACKBALL_H
|
@ -0,0 +1,21 @@ |
|||
#ifndef USVIEWCONTROL_H |
|||
#define USVIEWCONTROL_H |
|||
|
|||
#include "AutoProperty.h" |
|||
|
|||
class UsViewControl : public QObject |
|||
{ |
|||
Q_OBJECT |
|||
|
|||
US_PROPERTY_VIEW_ONLY(bool, visible, true) |
|||
US_PROPERTY_VIEW_ONLY(bool, enable, true) |
|||
|
|||
public: |
|||
UsViewControl(bool vis = true, bool en = true) |
|||
{ |
|||
visible(vis); |
|||
enable(en); |
|||
} |
|||
}; |
|||
|
|||
#endif //USVIEWCONTROL_H
|
@ -0,0 +1,28 @@ |
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
struct input |
|||
{ |
|||
int test; |
|||
}; |
|||
|
|||
|
|||
kernel void BWConvertor(read_only image2d_t frame, read_write image2d_t outImage, struct input params) { |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
int2 size = get_image_dim(frame); |
|||
|
|||
if(all(gid < size)){ |
|||
uint4 pixel = read_imageui(frame, sampler, gid); |
|||
float4 color = convert_float4(pixel) / 255; |
|||
//color.xyz = 0.2126*color.x + 0.7152*color.y + 0.0722*color.z; |
|||
|
|||
int a = 0.3*pixel.x + 0.59*pixel.y + 0.11*pixel.z; |
|||
pixel.x = a; |
|||
pixel.y = a; |
|||
pixel.z = a; |
|||
|
|||
write_imageui(outImage, gid, pixel); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,76 @@ |
|||
// #define TEST |
|||
#define X 100 |
|||
#define Y 100 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int gain; |
|||
int dyn_cont_selector; |
|||
float gamma; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void DynCont(read_only image2d_t input_frame, read_write image2d_t output_frame, global TYPE_FLT* scratch_pad, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
TYPE_FLT output_data = 0; |
|||
|
|||
if (params.dyn_cont_selector >= 12) |
|||
{ |
|||
output_data = log2((params.gamma - 1) * input + 1) / log2(params.gamma); |
|||
} |
|||
else |
|||
{ |
|||
output_data = pow(input, params.gamma); |
|||
} |
|||
|
|||
output_data = output_data * pow(10.0, params.gain / 20.0); |
|||
|
|||
if(output_data < 0) |
|||
output_data = 0; |
|||
|
|||
if(output_data > 1) |
|||
output_data = 1; |
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,103 @@ |
|||
#define TEST |
|||
#define X 221 |
|||
#define Y 218 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int filter_width; |
|||
int filter_height; |
|||
int width; |
|||
int height; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void Enhance(read_only image2d_t input_frame, read_write image2d_t output_frame, global TYPE_FLT* filter, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
TYPE_FLT output_data = 0; |
|||
|
|||
int p = params.filter_height; |
|||
int q = params.filter_width; |
|||
|
|||
int lag1 = (p - 1) / 2; |
|||
int lag2 = (q - 1) / 2; |
|||
|
|||
if(gid.x >= lag2 && gid.x < params.width - lag2 && gid.y >= lag1 && gid.y < params.height - lag1) |
|||
{ |
|||
for(int i = -lag1; i <= lag1 ; i++) |
|||
{ |
|||
for(int j = -lag2; j <= lag2 ; j++) |
|||
{ |
|||
output_data += read_data(input_frame, gid.x + j, gid.y + i) * filter[(i + lag1) * q + (j + lag2)]; |
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("data[%d, %d] = %f\n", gid.x + j, gid.y + i, read_data(input_frame, gid.x + j, gid.y + i)); |
|||
printf("w[%d, %d] = %f\n", i + lag1, j + lag2, filter[(i + lag1) * q + (j + lag2)]); |
|||
printf("out = %f\n", output_data); |
|||
} |
|||
#endif |
|||
} |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
output_data = input; |
|||
} |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("out = %.12f\n", output_data); |
|||
} |
|||
#endif |
|||
|
|||
if(output_data < 0) |
|||
output_data = 0; |
|||
|
|||
if(output_data > 1) |
|||
output_data = 1; |
|||
|
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,74 @@ |
|||
// #define TEST |
|||
#define X 100 |
|||
#define Y 100 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int gray_map_selector; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void GrayMap(read_only image2d_t input_frame, read_write image2d_t output_frame, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
TYPE_FLT output_data = 0; |
|||
|
|||
double gama[17] = {0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.67, 0.75, 1, 1.33, 1.5, 2, 2.5, 3.33, 5, 10, 20}; |
|||
|
|||
if(params.gray_map_selector == 17) |
|||
{ |
|||
output_data = 255 * log2(input / 255 + 1); |
|||
} |
|||
else |
|||
{ |
|||
output_data = 255 * pow((input / 255.0), gama[params.gray_map_selector]); |
|||
} |
|||
|
|||
uchar out = (uchar)output_data; |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
printf("%u ---", out); |
|||
#endif |
|||
|
|||
uint4 pixel; |
|||
pixel.x = out; |
|||
pixel.y = out; |
|||
pixel.z = out; |
|||
pixel.w = 255; |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,87 @@ |
|||
#define TEST |
|||
#define X 8 |
|||
#define Y 40 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int number; |
|||
int mode; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void Persist(read_only image2d_t input_frame, write_only image2d_t output_frame, write_only image2d_t sum_frame, read_only image2d_t last_sum, read_only image2d_t removed_frame, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
TYPE_FLT output_data = 0; |
|||
TYPE_FLT sum = 0; |
|||
|
|||
if(params.mode == 0) |
|||
{ |
|||
sum = input; |
|||
} |
|||
else if(params.mode == 1) |
|||
{ |
|||
sum = read_data(last_sum, gid.x, gid.y); |
|||
sum += input; |
|||
if(gid.x == X && gid.y == Y) |
|||
printf("last = %f -- inp = %f\n", read_data(last_sum, gid.x, gid.y), input); |
|||
} |
|||
else if(params.mode == 2) |
|||
{ |
|||
sum = read_data(last_sum, gid.x, gid.y); |
|||
TYPE_FLT sub = read_data(removed_frame, gid.x, gid.y); |
|||
sum = sum + input - sub; |
|||
} |
|||
|
|||
output_data = sum / params.number; |
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
|
|||
out = *((TYPE_INT*)(&sum)); |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
write_imageui(sum_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,75 @@ |
|||
#define TEST |
|||
#define X 0 |
|||
#define Y 0 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
struct input |
|||
{ |
|||
int rejectThr; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void Rejection(read_only image2d_t input_frame, read_write image2d_t output_frame, |
|||
struct input params) { |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
|
|||
TYPE_FLT output_data = 0; |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
output_data = input; |
|||
if(output_data < (params.rejectThr / 256.0f)) |
|||
output_data = 0; |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("out: %.9f | in: %.9f | th: %.9f |", output_data, input, (params.rejectThr / 256.0f)); |
|||
} |
|||
#endif |
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("out: %.15f | ", output_data); |
|||
} |
|||
#endif |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,132 @@ |
|||
#define TEST |
|||
#define X 0 |
|||
#define Y 0 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
struct input |
|||
{ |
|||
int output_width; |
|||
int grid_x_size; |
|||
int grid_z_size; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
TYPE_FLT mabs(TYPE_FLT arg) |
|||
{ |
|||
if (arg < 0) |
|||
return -arg; |
|||
return arg; |
|||
} |
|||
|
|||
kernel void ScanConversion(read_only image2d_t input_frame, read_write image2d_t output_frame, |
|||
global TYPE_FLT* grid_x, global TYPE_FLT* grid_z, |
|||
global TYPE_FLT* query_x, global TYPE_FLT* query_z, |
|||
struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT dx = grid_x[1] - grid_x[0]; |
|||
TYPE_FLT dz = grid_z[1] - grid_z[0]; |
|||
TYPE_FLT x = query_x[gid.y * params.output_width + gid.x]; |
|||
TYPE_FLT z = query_z[gid.y * params.output_width + gid.x]; |
|||
|
|||
|
|||
int grid_x_index = 0; |
|||
int grid_z_index = 0; |
|||
|
|||
if(mabs(x - grid_x[params.grid_x_size - 1]) < EPSILSON) |
|||
grid_x_index = params.grid_x_size - 2; |
|||
else |
|||
grid_x_index = floor((x - grid_x[0]) / dx); |
|||
|
|||
if(mabs(z - grid_z[params.grid_z_size - 1]) < EPSILSON) |
|||
{ |
|||
grid_z_index = params.grid_z_size - 2; |
|||
} |
|||
else |
|||
{ |
|||
grid_z_index = floor((z - grid_z[0]) / dz); |
|||
} |
|||
TYPE_FLT output_data = 0; |
|||
|
|||
if(grid_x_index >= 0 && grid_x_index < params.grid_x_size - 1 && |
|||
grid_z_index >= 0 && grid_z_index < params.grid_z_size - 1) |
|||
{ |
|||
//matrix simplification |
|||
TYPE_FLT a11 = grid_z[grid_z_index + 1] - z; |
|||
TYPE_FLT a12 = z - grid_z[grid_z_index]; |
|||
TYPE_FLT b11 = read_data(input_frame, grid_x_index, grid_z_index); |
|||
TYPE_FLT b12 = read_data(input_frame, grid_x_index + 1, grid_z_index); |
|||
TYPE_FLT b21 = read_data(input_frame, grid_x_index, grid_z_index + 1); |
|||
TYPE_FLT b22 = read_data(input_frame, grid_x_index + 1, grid_z_index + 1); |
|||
TYPE_FLT c11 = grid_x[grid_x_index + 1] - x; |
|||
TYPE_FLT c21 = x - grid_x[grid_x_index]; |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("dx: %.9f | ", dx); |
|||
printf("dz: %.9f | ", dz); |
|||
printf("x: %.9f | ", x); |
|||
printf("z: %.9f | ", z); |
|||
printf("grid_x_index: %d | ", grid_x_index); |
|||
printf("grid_z_index: %d | ", grid_z_index); |
|||
printf("a11: %.9f | ", a11); |
|||
printf("a12: %.9f | ", a12); |
|||
printf("b11: %.9f | ", b11); |
|||
printf("b12: %.9f | ", b12); |
|||
printf("b21: %.9f | ", b21); |
|||
printf("b22: %.9f | ", b22); |
|||
printf("c11: %.9f | ", c11); |
|||
printf("c21: %.9f | ", c21); |
|||
} |
|||
#endif |
|||
|
|||
output_data = (c11 * (a11 * b11 + a12 * b21) + c21 * (a11 * b12 + a12 * b22)) / (dx * dz); |
|||
} |
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
printf("out: %.15f | ", output_data); |
|||
} |
|||
#endif |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
@ -0,0 +1,199 @@ |
|||
// #define TEST |
|||
#define X 95 |
|||
#define Y 22 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int state; |
|||
int sri; |
|||
int width; |
|||
int height; |
|||
}; |
|||
|
|||
TYPE_FLT read_data(image2d_t input_frame, int x, int z) |
|||
{ |
|||
int2 gid = (int2)(x, z); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
TYPE_INT temp = (TYPE_INT)((TYPE_INT)pixel.x & MASK) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.y & MASK) << SHIFT) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.z & MASK) << (SHIFT * 2)) | |
|||
(TYPE_INT)(((TYPE_INT)pixel.w & MASK) << (SHIFT * 3)); |
|||
TYPE_FLT raw_data = *((TYPE_FLT*)(&temp)); |
|||
return raw_data; |
|||
} |
|||
|
|||
|
|||
kernel void Sri(read_only image2d_t input_frame, read_write image2d_t output_frame, local TYPE_FLT* sum, global TYPE_FLT* scratch_pad, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
TYPE_FLT input = read_data(input_frame, gid.x, gid.y); |
|||
TYPE_FLT output_data = 0; |
|||
|
|||
if(params.sri == 0) |
|||
{ |
|||
output_data = input; |
|||
} |
|||
else if(params.state == 1 || params.state == 4) |
|||
{ |
|||
uint local_id = get_local_id(0); |
|||
uint group_size = get_local_size(0); |
|||
sum[local_id] = input; |
|||
|
|||
uint is_odd = group_size % 2; |
|||
// Loop for computing localMaxes : divide WorkGroup into 2 parts |
|||
for (uint stride = group_size / 2; stride > 0; stride /= 2) |
|||
{ |
|||
// Waiting |
|||
barrier(CLK_LOCAL_MEM_FENCE); |
|||
|
|||
if (local_id < stride) |
|||
sum[local_id] += sum[local_id + stride]; |
|||
|
|||
if (local_id == 0) |
|||
{ |
|||
if(is_odd) |
|||
sum[local_id] += sum[2 * stride]; |
|||
is_odd = stride % 2; |
|||
} |
|||
} |
|||
|
|||
// Write result into scratchPad[nWorkGroups] |
|||
if (local_id == 0) |
|||
{ |
|||
scratch_pad[get_group_id(1)] = sum[0]; |
|||
} |
|||
|
|||
return; |
|||
} |
|||
else if(params.state == 2 || params.state == 5) |
|||
{ |
|||
uint local_id = get_local_id(0); |
|||
uint group_size = get_local_size(0); |
|||
sum[local_id] = scratch_pad[gid.x]; |
|||
|
|||
uint is_odd = group_size % 2; |
|||
// Loop for computing localMaxes : divide WorkGroup into 2 parts |
|||
for (uint stride = group_size / 2; stride > 0; stride /= 2) |
|||
{ |
|||
// Waiting |
|||
barrier(CLK_LOCAL_MEM_FENCE); |
|||
|
|||
if (local_id < stride) |
|||
sum[local_id] += sum[local_id + stride]; |
|||
|
|||
if (local_id == 0) |
|||
{ |
|||
if(is_odd) |
|||
sum[local_id] += sum[2 * stride]; |
|||
is_odd = stride % 2; |
|||
} |
|||
} |
|||
|
|||
// Write result into scratchPad[nWorkGroups] |
|||
if (local_id == 0) |
|||
{ |
|||
scratch_pad[0] = sum[0] / (params.width * params.height); |
|||
} |
|||
|
|||
return; |
|||
} |
|||
else if(params.state == 3) |
|||
{ |
|||
TYPE_FLT mean = scratch_pad[0]; |
|||
output_data = pow((input - mean), 2); |
|||
} |
|||
else if(params.state == 6) |
|||
{ |
|||
int temp[5] = {3, 3, 5, 7, 7}; |
|||
int p = temp[params.sri - 1]; |
|||
int q = params.width > 1 ? p : 1; |
|||
|
|||
float alpha = 1 - 0.25 * (params.sri - 1); |
|||
TYPE_FLT rho2 = scratch_pad[0]; |
|||
|
|||
int lag1 = (p - 1) / 2; |
|||
int lag2 = (q - 1) / 2; |
|||
|
|||
float window[49]; |
|||
|
|||
int window_size = p * q; |
|||
for(int i = 0; i < window_size; i++) |
|||
window[i] = 0; |
|||
if(gid.x >= lag2 && gid.x < params.width - lag2 && gid.y >= lag1 && gid.y < params.height - lag1) |
|||
{ |
|||
for(int i = -lag1; i <= lag1 ; i++) |
|||
{ |
|||
for(int j = -lag2; j <= lag2 ; j++) |
|||
{ |
|||
window[(i + lag1) * q + (j + lag2)] = read_data(input_frame, gid.x + j, gid.y + i); |
|||
} |
|||
} |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
{ |
|||
for(int i = 0; i < window_size; i++) |
|||
printf("[%d] > %f; ", i, window[i]); |
|||
} |
|||
#endif |
|||
|
|||
|
|||
float mean = 0; |
|||
for(int i = 0; i < window_size; i++) |
|||
{ |
|||
mean += window[i]; |
|||
} |
|||
mean /= window_size; |
|||
|
|||
for(int i = 0; i < window_size; i++) |
|||
{ |
|||
window[i] = pow((window[i] - mean), 2); |
|||
} |
|||
|
|||
float sigma2 = 0; |
|||
for(int i = 0; i < window_size; i++) |
|||
{ |
|||
sigma2 += window[i]; |
|||
} |
|||
sigma2 /= window_size; |
|||
|
|||
output_data = mean + alpha * (sigma2 / (sigma2 + rho2)) * (input - mean); |
|||
} |
|||
else |
|||
{ |
|||
output_data = input; |
|||
} |
|||
|
|||
if(output_data < 0) |
|||
output_data = 0; |
|||
} |
|||
|
|||
TYPE_INT out = *((TYPE_INT*)(&output_data)); |
|||
uint4 pixel; |
|||
pixel.x = (TYPE_INT)(out & MASK); |
|||
pixel.y = (TYPE_INT)((out >> SHIFT) & MASK); |
|||
pixel.z = (TYPE_INT)((out >> (SHIFT *2)) & MASK); |
|||
pixel.w = (TYPE_INT)((out >> (SHIFT * 3)) & MASK); |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,101 @@ |
|||
// #define TEST |
|||
#define X 100 |
|||
#define Y 100 |
|||
|
|||
//#define USE_DBL |
|||
#ifdef USE_DBL |
|||
#define TYPE_FLT double |
|||
#define TYPE_INT long |
|||
#define MASK 0xFFFF |
|||
#define SHIFT 16 |
|||
#define EPSILSON 4.94065645841247E-324 |
|||
#else |
|||
#define TYPE_FLT float |
|||
#define TYPE_INT int |
|||
#define MASK 0x00FF |
|||
#define SHIFT 8 |
|||
#define EPSILSON 1.401298E-45 |
|||
#endif |
|||
|
|||
constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | |
|||
CLK_ADDRESS_CLAMP_TO_EDGE | |
|||
CLK_FILTER_LINEAR; |
|||
|
|||
|
|||
struct input { |
|||
int tint_map_selector; |
|||
}; |
|||
|
|||
|
|||
kernel void TintMap(read_only image2d_t input_frame, read_write image2d_t output_frame, struct input params) |
|||
{ |
|||
int2 gid = (int2)(get_global_id(0), get_global_id(1)); |
|||
uint4 pixel = read_imageui(input_frame, sampler, gid); |
|||
|
|||
private float r_step, g_step, b_step; |
|||
private int r_base, g_base, b_base; |
|||
|
|||
switch(params.tint_map_selector) |
|||
{ |
|||
//gray |
|||
case 0: |
|||
r_base = g_base = b_base = 0; |
|||
r_step = g_step = b_step = 1.0; |
|||
break; |
|||
//blue |
|||
case 1: |
|||
r_base = g_base = b_base = 0; |
|||
r_step = g_step = 0 ; |
|||
b_step = 1.0f; |
|||
break; |
|||
//cool blue |
|||
case 2: |
|||
r_base = 0; |
|||
g_base = b_base = 255; |
|||
r_step = 1.0f; |
|||
g_step = -1.0f; |
|||
b_step = 0; |
|||
break; |
|||
//copper |
|||
case 3: |
|||
r_base = g_base = b_base = 0; |
|||
r_step = 1.0f; |
|||
g_step = 0.7812f; |
|||
b_step = 0.4975f; |
|||
break; |
|||
//otherwise |
|||
case 4: |
|||
r_base = g_base = b_base = 0; |
|||
r_step = g_step = b_step = 1.0f; |
|||
break; |
|||
} |
|||
|
|||
uchar data = pixel.x; |
|||
if(data > 0) |
|||
{ |
|||
float r = r_base + data * r_step; |
|||
if(r < 0) r = 0; |
|||
if(r > 255) r = 255; |
|||
|
|||
float g = g_base + data * g_step; |
|||
if(g < 0) g = 0; |
|||
if(g > 255) g = 255; |
|||
|
|||
float b = b_base + data * b_step; |
|||
if(b < 0) b = 0; |
|||
if(b > 255) b = 255; |
|||
|
|||
#ifdef TEST |
|||
if(gid.x == X && gid.y == Y) |
|||
printf("%u ---", out); |
|||
#endif |
|||
|
|||
pixel.x = (uchar)b; |
|||
pixel.y = (uchar)g; |
|||
pixel.z = (uchar)r; |
|||
pixel.w = 255; |
|||
} |
|||
|
|||
write_imageui(output_frame, gid, pixel); |
|||
} |
|||
|
@ -0,0 +1,29 @@ |
|||
TEMPLATE = lib |
|||
|
|||
QT += mvvmcore quick |
|||
# Creating a static library is typically more efficient. You can still create a shared library if you want to |
|||
CONFIG += staticlib |
|||
CONFIG += debug |
|||
TARGET = logic |
|||
|
|||
DEFINES += QT_DEPRECATED_WARNINGS \ |
|||
QT_QPA_EGLFS_HIDECURSOR |
|||
|
|||
SOURCES += $$files(src/*.cpp, true) \ |
|||
|
|||
HEADERS += $$files(include/*.h, true) |
|||
RESOURCES += \ |
|||
logic.qrc |
|||
|
|||
INCLUDEPATH += "$$PWD/include" \ |
|||
"$$PWD/include/lib" \ |
|||
$$PWD/.. |
|||
|
|||
TRANSLATIONS += mvvm_core_de.ts \ |
|||
mvvm_core_template.ts |
|||
|
|||
DISTFILES += $$TRANSLATIONS |
|||
QTMVVM_TS_SETTINGS = settings.xml |
|||
_never_true_condition: SOURCES += $$files($$PWD/.ts-dummy/*) |
|||
# Uncomment the following line to automatically generated and update settings translations when building |
|||
#PRE_TARGETDEPS += qtmvvm-tsgen |
@ -0,0 +1,5 @@ |
|||
<RCC> |
|||
<qresource prefix="/etc"> |
|||
<file>settings.xml</file> |
|||
</qresource> |
|||
</RCC> |
@ -0,0 +1,4 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<!DOCTYPE TS> |
|||
<TS version="2.1" language="de_DE"> |
|||
</TS> |
@ -0,0 +1,4 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<!DOCTYPE TS> |
|||
<TS version="2.1"> |
|||
</TS> |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<SettingsConfig> |
|||
<Entry key="property" |
|||
type="bool" |
|||
title="&Check me" |
|||
tooltip="I am a checkbox!" |
|||
default="false" /> |
|||
</SettingsConfig> |
@ -0,0 +1,38 @@ |
|||
#include "mvvmCore/MvvmApp.h" |
|||
#include "viewModel/MainViewModel.h" |
|||
|
|||
#include <QtCore/QCommandLineParser> |
|||
|
|||
MvvmApp::MvvmApp(QObject* parent) : |
|||
CoreApp(parent) |
|||
{ |
|||
QCoreApplication::setApplicationName(QStringLiteral("mvvm")); |
|||
QCoreApplication::setApplicationVersion(QStringLiteral("1.0.0")); |
|||
QCoreApplication::setOrganizationName(QStringLiteral("Example Organization")); |
|||
} |
|||
|
|||
void MvvmApp::performRegistrations() |
|||
{ |
|||
//if you are using a qt resource (e.g. "mvvmcore.qrc"), initialize it here
|
|||
Q_INIT_RESOURCE(logic); |
|||
} |
|||
|
|||
int MvvmApp::startApp(const QStringList& arguments) |
|||
{ |
|||
QCommandLineParser parser; |
|||
parser.addVersionOption(); |
|||
parser.addHelpOption(); |
|||
|
|||
//add more options
|
|||
|
|||
//shows help or version automatically
|
|||
if(!autoParse(parser, arguments)) |
|||
{ |
|||
return EXIT_SUCCESS; |
|||
} |
|||
|
|||
//show a viewmodel to complete the startup
|
|||
show<MainViewModel>(); |
|||
|
|||
return EXIT_SUCCESS; |
|||
} |
@ -0,0 +1,17 @@ |
|||
#include "utils/ColorImageProvider.h" |
|||
|
|||
ColorImageProvider::ColorImageProvider() : QQuickImageProvider(QQuickImageProvider::Pixmap) |
|||
{ |
|||
} |
|||
|
|||
QPixmap ColorImageProvider::requestPixmap(const QString& id, QSize* size, |
|||
const QSize& requestedSize) |
|||
{ |
|||
return _pixmap; |
|||
} |
|||
|
|||
void ColorImageProvider::setPic(QPixmap pixmap, quint32 width, quint32 height) |
|||
{ |
|||
_pixmap = pixmap; |
|||
_pixmap = _pixmap.scaled(width, height, Qt::AspectRatioMode::KeepAspectRatio); |
|||
} |
@ -0,0 +1,160 @@ |
|||
#include "include/viewModel/BaseViewModel.h" |
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::BaseViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
BaseViewModel::BaseViewModel() |
|||
{ |
|||
_awaitingSend = 1; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::start |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BaseViewModel::start() |
|||
{ |
|||
|
|||
setInitialValue(); |
|||
|
|||
allowSending(); |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::changeMode |
|||
* @param minimal |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BaseViewModel::changeMode(bool minimal) |
|||
{ |
|||
if(minimal) |
|||
{ |
|||
turnOnMinimalMode(); |
|||
} |
|||
else |
|||
{ |
|||
turnOffMinimalMode(); |
|||
} |
|||
|
|||
_isMinimal = minimal; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::send |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BaseViewModel::send(bool sync) |
|||
{ |
|||
if(isSendingAllowed()) |
|||
{ |
|||
prepareData(); |
|||
|
|||
sendData(sync); |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::arithmeticSeries |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
|
|||
QList<QString> BaseViewModel::arithmeticSeries(float start, float end, float step, int precision) |
|||
{ |
|||
QList<QString> series; |
|||
float temp = start; |
|||
|
|||
for(temp = start; temp <= end; temp += step) |
|||
{ |
|||
series.append({QString::number(temp, 'g', precision)}); |
|||
} |
|||
|
|||
return series; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::arithmeticSeries |
|||
* @param start |
|||
* @param end |
|||
* @param step |
|||
* @return |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
QList<QString> BaseViewModel::arithmeticSeries(int start, int end, int step) |
|||
{ |
|||
QList<QString> series; |
|||
int temp = start; |
|||
|
|||
for(temp = start; temp <= end; temp += step) |
|||
{ |
|||
series.append({QString::number(temp)}); |
|||
} |
|||
|
|||
return series; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::allowSending |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BaseViewModel::allowSending() |
|||
{ |
|||
_awaitingSend--; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::blockSending |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BaseViewModel::blockSending() |
|||
{ |
|||
_awaitingSend++; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BaseViewModel::isSendingPossible |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
bool BaseViewModel::isSendingAllowed() |
|||
{ |
|||
return _awaitingSend == 0; |
|||
} |
|||
|
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief This function change differential value to absolute value |
|||
* @param estimated value is previous value plus diff value |
|||
* @param lowerBound is minimum range of spinBox |
|||
* @param upperBound is maximum range of spinBox |
|||
* @return next valid value |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
int BaseViewModel::getNextValue(const int estimatedValue, const int lowerBound, |
|||
const int upperBound) |
|||
{ |
|||
int result = estimatedValue; |
|||
|
|||
if(result > upperBound) |
|||
{ |
|||
result = upperBound; |
|||
} |
|||
else if(result < lowerBound) |
|||
{ |
|||
result = lowerBound; |
|||
} |
|||
|
|||
return result; |
|||
} |
@ -0,0 +1,136 @@ |
|||
#include <QtMvvmCore/SettingsViewModel> |
|||
#include <QtConcurrent/QtConcurrent> |
|||
|
|||
#include "viewModel/MainViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
MainViewModel* MainViewModel::_instance; |
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief Hook is called after all objects init are called |
|||
* @details The purpose of this hook is mainly to start any internal |
|||
* thread and functionality if any exist, requests can work here |
|||
* @return nething |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
MainViewModel::MainViewModel(QObject* parent) : |
|||
ViewModel(parent) |
|||
{ |
|||
_instance = this; |
|||
|
|||
_vms.push_back(_probeViewModel); |
|||
|
|||
_vms.push_back(_bModeDisplayViewModel); |
|||
_vms.push_back(_bModeSettingViewModel); |
|||
|
|||
_vms.push_back(_mModeDisplayViewModel); |
|||
_vms.push_back(_mModeSettingViewModel); |
|||
|
|||
_vms.push_back(_cineDisplayViewModel); |
|||
_vms.push_back(_cineSettingViewModel); |
|||
|
|||
_vms.push_back(_tgcViewModel); |
|||
_vms.push_back(_simulationViewModel); |
|||
|
|||
_vms.push_back(_trackballViewModel); |
|||
|
|||
_vms.push_back(_imageViewModel); |
|||
|
|||
_vms.push_back(_userViewModel); |
|||
_vms.push_back(_dialogViewModel); |
|||
|
|||
_vms.push_back(_measureViewModel); |
|||
} |
|||
|
|||
void MainViewModel::close() |
|||
{ |
|||
qDebug() << "we are closing guys"; |
|||
} |
|||
|
|||
void MainViewModel::onConfirmButton() |
|||
{ |
|||
emit showMessageBox(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief Hook is called after all objects init are called |
|||
* @details The purpose of this hook is mainly to start any internal |
|||
* thread and functionality if any exist, requests can work here |
|||
* @return nething |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
MainViewModel* MainViewModel::getInstance() |
|||
{ |
|||
return _instance; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief Hook is called after all objects init are called |
|||
* @details The purpose of this hook is mainly to start any internal |
|||
* thread and functionality if any exist, requests can work here |
|||
* @return nething |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MainViewModel::init() |
|||
{ |
|||
_probeViewModel->init(); |
|||
|
|||
_bModeDisplayViewModel->init(); |
|||
_bModeSettingViewModel->init(); |
|||
|
|||
_mModeDisplayViewModel->init(); |
|||
_mModeSettingViewModel->init(); |
|||
|
|||
_cineDisplayViewModel->init(); |
|||
_cineSettingViewModel->init(); |
|||
|
|||
_tgcViewModel->init(); |
|||
_simulationViewModel->init(); |
|||
|
|||
_trackballViewModel->init(); |
|||
|
|||
_imageViewModel->init(); |
|||
|
|||
_userViewModel->init(); |
|||
_dialogViewModel->init(); |
|||
|
|||
_measureViewModel->init(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief Hook is called after all objects init are called |
|||
* @details The purpose of this hook is mainly to start any internal |
|||
* thread and functionality if any exist, requests can work here |
|||
* @return nething |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MainViewModel::start() |
|||
{ |
|||
_probeViewModel->start(); |
|||
|
|||
_bModeDisplayViewModel->start(); |
|||
_bModeSettingViewModel->start(); |
|||
|
|||
_mModeDisplayViewModel->start(); |
|||
_mModeSettingViewModel->start(); |
|||
|
|||
_cineDisplayViewModel->start(); |
|||
_cineSettingViewModel->start(); |
|||
|
|||
_tgcViewModel->start(); |
|||
_simulationViewModel->start(); |
|||
|
|||
_trackballViewModel->start(); |
|||
|
|||
_imageViewModel->start(); |
|||
|
|||
_userViewModel->start(); |
|||
_dialogViewModel->start(); |
|||
|
|||
_measureViewModel->start(); |
|||
|
|||
} |
@ -0,0 +1,63 @@ |
|||
#include "viewModel/bMode/display/BModeDisplayViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
|
|||
SINGLETON_DEF(BModeDisplayViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
BModeDisplayViewModel::BModeDisplayViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::init() |
|||
{ |
|||
connect(_grayMapManager, &GrayMapManager::grayMapReady, this, |
|||
&BModeDisplayViewModel::newGrayMap); |
|||
|
|||
connect(_tintManager, &TintMapManager::tintMapReady, this, |
|||
&BModeDisplayViewModel::newTintMap); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::newTintMap() |
|||
{ |
|||
send(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeDisplayViewModel::newGrayMap() |
|||
{ |
|||
_tintManager->grayMapChanged(_grayMapManager->getGrayMapData()); |
|||
send(); |
|||
} |
@ -0,0 +1,71 @@ |
|||
#include "viewModel/bMode/display/gray/GrayMap.h" |
|||
|
|||
#include "viewModel/exception/VmError.h" |
|||
|
|||
#define GRAY_MAP_LENGTH 256 |
|||
|
|||
GrayMap::GrayMap() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMap::init(QList<qint32> grayMap, quint32 number) |
|||
{ |
|||
if(grayMap.length() != GRAY_MAP_LENGTH) |
|||
{ |
|||
|
|||
} |
|||
|
|||
_grayMap.clear(); |
|||
_knobData.clear(); |
|||
|
|||
for(auto i = 0; i < grayMap.length(); i++) |
|||
{ |
|||
_grayMap.append(static_cast<quint8>(grayMap[i])); |
|||
} |
|||
|
|||
name(QString::number(number + 1)); |
|||
icon(QString("qrc:/UI/Images/GrayMap/grayMap%1.svg").arg(number)); |
|||
|
|||
_knobData.append({0, 36, 73, 109, 146, 182, 219, 255, _grayMap[0], _grayMap[36], _grayMap[73], |
|||
_grayMap[109], _grayMap[146], _grayMap[182], _grayMap[219], _grayMap[255]}); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMap::init(QList<qint32> grayMap, QList<qint32> knobData, quint32 number) |
|||
{ |
|||
init(grayMap, number); |
|||
|
|||
_knobData.clear(); |
|||
|
|||
_knobData.append(static_cast<quint8>(knobData[0])); |
|||
_knobData.append(static_cast<quint8>(knobData[1])); |
|||
_knobData.append(static_cast<quint8>(knobData[2])); |
|||
_knobData.append(static_cast<quint8>(knobData[3])); |
|||
_knobData.append(static_cast<quint8>(knobData[4])); |
|||
_knobData.append(static_cast<quint8>(knobData[5])); |
|||
_knobData.append(static_cast<quint8>(knobData[6])); |
|||
_knobData.append(static_cast<quint8>(knobData[7])); |
|||
_knobData.append(_grayMap[knobData[0]]); |
|||
_knobData.append(_grayMap[knobData[1]]); |
|||
_knobData.append(_grayMap[knobData[2]]); |
|||
_knobData.append(_grayMap[knobData[3]]); |
|||
_knobData.append(_grayMap[knobData[4]]); |
|||
_knobData.append(_grayMap[knobData[5]]); |
|||
_knobData.append(_grayMap[knobData[6]]); |
|||
_knobData.append(_grayMap[knobData[7]]); |
|||
|
|||
name("User " + QString::number(number)); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<quint8> GrayMap::value() |
|||
{ |
|||
return _grayMap; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<quint8> GrayMap::knobData() |
|||
{ |
|||
return _knobData; |
|||
} |
@ -0,0 +1,209 @@ |
|||
#include "viewModel/bMode/display/gray/GrayMapManager.h" |
|||
|
|||
#include <QRandomGenerator> |
|||
|
|||
#define GRAY_MAP_COUNT 18 |
|||
#define USER_GRAY_MAP_COUNT 3 |
|||
|
|||
#define caseReturnGrayMap(x) case x: \ |
|||
if(_grayMap ## x == Q_NULLPTR) \ |
|||
{ \ |
|||
grayMap ## x(new GrayMap); \ |
|||
} \ |
|||
return _grayMap ## x; |
|||
|
|||
#define INIT_USER_GRAY_MAP(NUM) \ |
|||
if(_grayMapUser ## NUM != Q_NULLPTR) \ |
|||
{ \ |
|||
delete _grayMapUser ## NUM; \ |
|||
} \ |
|||
grayMapUser ## NUM(new GrayMap); \ |
|||
_grayMapUser ## NUM->init(data.grayMapData[NUM - 1], data.knobData[NUM - 1], NUM); |
|||
|
|||
/*************************************************************************************************/ |
|||
GrayMap* GrayMapManager::getGrayMap(qint32 index) |
|||
{ |
|||
switch(index) |
|||
{ |
|||
caseReturnGrayMap(0) |
|||
caseReturnGrayMap(1) |
|||
caseReturnGrayMap(2) |
|||
caseReturnGrayMap(3) |
|||
caseReturnGrayMap(4) |
|||
caseReturnGrayMap(5) |
|||
caseReturnGrayMap(6) |
|||
caseReturnGrayMap(7) |
|||
caseReturnGrayMap(8) |
|||
caseReturnGrayMap(9) |
|||
caseReturnGrayMap(10) |
|||
caseReturnGrayMap(11) |
|||
caseReturnGrayMap(12) |
|||
caseReturnGrayMap(13) |
|||
caseReturnGrayMap(14) |
|||
caseReturnGrayMap(15) |
|||
caseReturnGrayMap(16) |
|||
caseReturnGrayMap(17) |
|||
case 18: |
|||
if(_grayMapUser1 == Q_NULLPTR) |
|||
{ |
|||
grayMapUser1(new GrayMap); |
|||
} |
|||
|
|||
return _grayMapUser1; |
|||
|
|||
case 19: |
|||
if(_grayMapUser2 == Q_NULLPTR) |
|||
{ |
|||
grayMapUser2(new GrayMap); |
|||
} |
|||
|
|||
return _grayMapUser2; |
|||
|
|||
case 20: |
|||
if(_grayMapUser3 == Q_NULLPTR) |
|||
{ |
|||
grayMapUser3(new GrayMap); |
|||
} |
|||
|
|||
return _grayMapUser3; |
|||
|
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::initDefaultGrayMaps() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::initUserGrayMaps(bool throwExp) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
GrayMapManager::GrayMapManager() |
|||
{ |
|||
connect(_knobManager, &KnobManager::grayCurveReady, this, &GrayMapManager::newCustomGrayMap); |
|||
|
|||
for(auto i = 0; i < 18; i++) |
|||
{ |
|||
QList<qint32> g; |
|||
QRandomGenerator f; |
|||
for(auto j = 0; j < 256; j++) |
|||
g.append(f.bounded(256)); |
|||
auto t = getGrayMap(i); |
|||
t->init(g, i); |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::setUserName(const QString& userName) |
|||
{ |
|||
_userName = userName; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::init() |
|||
{ |
|||
initDefaultGrayMaps(); |
|||
initUserGrayMaps(true); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<quint8> GrayMapManager::getGrayMapData() |
|||
{ |
|||
return intListToU8List(_currentGrayMapData); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::setIndex(qint32 index) |
|||
{ |
|||
grayMap(index); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::saveGrayMap(int slotNumber) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::grayMapHandle() |
|||
{ |
|||
if(isCustomGrayMapSelected()) |
|||
{ |
|||
initUserGrayMaps(false); |
|||
} |
|||
auto gm = getGrayMap(grayMap()); |
|||
currentGrayMapData(u8ListToIntList(gm->value())); |
|||
setKnobs(gm); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::currentGrayMapDataHandle() |
|||
{ |
|||
emit grayMapReady(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::grayMapResetHandle() |
|||
{ |
|||
grayMapHandle(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::newCustomGrayMap(const QList<quint8>& grayMap) |
|||
{ |
|||
currentGrayMapData(u8ListToIntList(grayMap)); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void GrayMapManager::setKnobs(GrayMap* grayMap) |
|||
{ |
|||
auto data = grayMap->knobData(); |
|||
|
|||
QPoint pos1(data[0], data[8]); |
|||
QPoint pos2(data[1], data[9]); |
|||
QPoint pos3(data[2], data[10]); |
|||
QPoint pos4(data[3], data[11]); |
|||
QPoint pos5(data[4], data[12]); |
|||
QPoint pos6(data[5], data[13]); |
|||
QPoint pos7(data[6], data[14]); |
|||
QPoint pos8(data[7], data[15]); |
|||
|
|||
_knobManager->setKnobData(pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<quint8> GrayMapManager::intListToU8List(QList<int> list) |
|||
{ |
|||
QList<quint8> l; |
|||
|
|||
for(auto i = 0; i < list.length(); i++) |
|||
{ |
|||
l.append(static_cast<quint8>(list[i])); |
|||
} |
|||
|
|||
return l; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<int> GrayMapManager::u8ListToIntList(QList<quint8> list) |
|||
{ |
|||
QList<int> l; |
|||
|
|||
for(auto i = 0; i < list.length(); i++) |
|||
{ |
|||
l.append(static_cast<int>(list[i])); |
|||
} |
|||
|
|||
return l; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
bool GrayMapManager::isCustomGrayMapSelected() |
|||
{ |
|||
return grayMap() >= GRAY_MAP_COUNT; |
|||
} |
@ -0,0 +1,25 @@ |
|||
#include "viewModel/bMode/display/gray/Knob.h" |
|||
|
|||
#include <QPoint> |
|||
|
|||
Knob::Knob() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QPoint Knob::getPos() |
|||
{ |
|||
return QPoint(_posX, _posY); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void Knob::posXHandle() |
|||
{ |
|||
emit knobDataReady(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void Knob::posYHandle() |
|||
{ |
|||
emit knobDataReady(); |
|||
} |
@ -0,0 +1,131 @@ |
|||
#include "viewModel/bMode/display/gray/KnobManager.h" |
|||
|
|||
|
|||
#define caseReturnKnob(x) case x: \ |
|||
if(_knob ## x == Q_NULLPTR) \ |
|||
{ \ |
|||
knob ## x(new Knob); \ |
|||
} \ |
|||
return _knob ## x; |
|||
|
|||
/*************************************************************************************************/ |
|||
Knob* KnobManager::getKnob(qint32 index) |
|||
{ |
|||
switch(index) |
|||
{ |
|||
caseReturnKnob(1) |
|||
caseReturnKnob(2) |
|||
caseReturnKnob(3) |
|||
caseReturnKnob(4) |
|||
caseReturnKnob(5) |
|||
caseReturnKnob(6) |
|||
caseReturnKnob(7) |
|||
caseReturnKnob(8) |
|||
|
|||
|
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void KnobManager::connectKnobs() |
|||
{ |
|||
for(auto i = 1; i < 9; i++) |
|||
{ |
|||
auto knob = getKnob(i); |
|||
connect(knob, &Knob::knobDataReady, this, &KnobManager::newKnobData); |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void KnobManager::disconnectKnobs() |
|||
{ |
|||
for(auto i = 1; i < 9; i++) |
|||
{ |
|||
auto knob = getKnob(i); |
|||
disconnect(knob, &Knob::knobDataReady, this, &KnobManager::newKnobData); |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
KnobManager::KnobManager() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void KnobManager::setKnobData(const QPoint& p1, |
|||
const QPoint& p2, |
|||
const QPoint& p3, |
|||
const QPoint& p4, |
|||
const QPoint& p5, |
|||
const QPoint& p6, |
|||
const QPoint& p7, |
|||
const QPoint& p8) |
|||
{ |
|||
disconnectKnobs(); |
|||
|
|||
_knob1->posX(p1.x()); |
|||
_knob1->posY(p1.y()); |
|||
|
|||
_knob2->posX(p2.x()); |
|||
_knob2->posY(p2.y()); |
|||
|
|||
_knob3->posX(p3.x()); |
|||
_knob3->posY(p3.y()); |
|||
|
|||
_knob4->posX(p4.x()); |
|||
_knob4->posY(p4.y()); |
|||
|
|||
_knob5->posX(p5.x()); |
|||
_knob5->posY(p5.y()); |
|||
|
|||
_knob6->posX(p6.x()); |
|||
_knob6->posY(p6.y()); |
|||
|
|||
_knob7->posX(p7.x()); |
|||
_knob7->posY(p7.y()); |
|||
|
|||
_knob8->posX(p8.x()); |
|||
_knob8->posY(p8.y()); |
|||
|
|||
connectKnobs(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<qint32> KnobManager::getKnobData() |
|||
{ |
|||
auto pos1 = getKnob(1)->getPos(); |
|||
auto pos2 = getKnob(2)->getPos(); |
|||
auto pos3 = getKnob(3)->getPos(); |
|||
auto pos4 = getKnob(4)->getPos(); |
|||
auto pos5 = getKnob(5)->getPos(); |
|||
auto pos6 = getKnob(6)->getPos(); |
|||
auto pos7 = getKnob(7)->getPos(); |
|||
auto pos8 = getKnob(8)->getPos(); |
|||
|
|||
QList<qint32> knob; |
|||
knob.append(pos1.x()); |
|||
knob.append(pos2.x()); |
|||
knob.append(pos3.x()); |
|||
knob.append(pos4.x()); |
|||
knob.append(pos5.x()); |
|||
knob.append(pos6.x()); |
|||
knob.append(pos7.x()); |
|||
knob.append(pos8.x()); |
|||
|
|||
return knob; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void KnobManager::newKnobData() |
|||
{ |
|||
auto pos1 = getKnob(1)->getPos(); |
|||
auto pos2 = getKnob(2)->getPos(); |
|||
auto pos3 = getKnob(3)->getPos(); |
|||
auto pos4 = getKnob(4)->getPos(); |
|||
auto pos5 = getKnob(5)->getPos(); |
|||
auto pos6 = getKnob(6)->getPos(); |
|||
auto pos7 = getKnob(7)->getPos(); |
|||
auto pos8 = getKnob(8)->getPos(); |
|||
|
|||
|
|||
} |
@ -0,0 +1,35 @@ |
|||
#include "viewModel/bMode/display/tint/BaseTintMap.h" |
|||
|
|||
BaseTintMap::BaseTintMap() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BaseTintMap::setTintColor(quint8 r, quint8 g, quint8 b) |
|||
{ |
|||
_r = r; |
|||
_g = g; |
|||
_b = b; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QString BaseTintMap::toString() |
|||
{ |
|||
QString str = "#"; |
|||
str += QString("%1").arg(_r, 2, 16, QLatin1Char('0')); |
|||
str += QString("%1").arg(_g, 2, 16, QLatin1Char('0')); |
|||
str += QString("%1").arg(_b, 2, 16, QLatin1Char('0')); |
|||
|
|||
return str; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<quint8> BaseTintMap::value() |
|||
{ |
|||
QList<quint8> list; |
|||
list.append(_r); |
|||
list.append(_g); |
|||
list.append(_b); |
|||
|
|||
return list; |
|||
} |
@ -0,0 +1,40 @@ |
|||
#include "viewModel/bMode/display/tint/TintMap.h" |
|||
|
|||
#include "viewModel/exception/VmError.h" |
|||
|
|||
#define TINT_LENGTH 256 |
|||
#define TINT_COLOR_LENGTH 3 |
|||
|
|||
TintMap::TintMap() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
TintMap::~TintMap() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void TintMap::init(QList<QList<qint32> > tint) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QString TintMap::toString(qint32 index) |
|||
{ |
|||
return _tintMap[index].toString(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<QList<quint8> > TintMap::value() |
|||
{ |
|||
QList<QList<quint8> > list; |
|||
|
|||
for(auto i = 0; i < _tintMap.length(); i++) |
|||
{ |
|||
list.append(_tintMap[i].value()); |
|||
} |
|||
|
|||
return list; |
|||
} |
@ -0,0 +1,82 @@ |
|||
#include "viewModel/bMode/display/tint/TintMapManager.h" |
|||
|
|||
#include "viewModel/exception/VmError.h" |
|||
|
|||
#define TINT_MAP_COUNT 11 |
|||
|
|||
#define caseReturnTintMap(x) case x: \ |
|||
if(_tintMap ## x == Q_NULLPTR) \ |
|||
{ \ |
|||
tintMap ## x(new TintMap); \ |
|||
} \ |
|||
return _tintMap ## x; |
|||
|
|||
TintMap* TintMapManager::getTintMap(qint32 index) |
|||
{ |
|||
switch(index) |
|||
{ |
|||
caseReturnTintMap(0) |
|||
caseReturnTintMap(1) |
|||
caseReturnTintMap(2) |
|||
caseReturnTintMap(3) |
|||
caseReturnTintMap(4) |
|||
caseReturnTintMap(5) |
|||
caseReturnTintMap(6) |
|||
caseReturnTintMap(7) |
|||
caseReturnTintMap(8) |
|||
caseReturnTintMap(9) |
|||
caseReturnTintMap(10) |
|||
|
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void TintMapManager::calcTintBar() |
|||
{ |
|||
auto tint = getTintMap(tintMap()); |
|||
|
|||
tintMapColor().clear(); |
|||
|
|||
QStringList temp; |
|||
foreach(auto grayMap, _grayMapData) |
|||
{ |
|||
temp.append(tint->toString(grayMap)); |
|||
} |
|||
|
|||
tintMapColor(temp); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
TintMapManager::TintMapManager() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void TintMapManager::grayMapChanged(QList<quint8> grayMap) |
|||
{ |
|||
_grayMapData = grayMap; |
|||
|
|||
calcTintBar(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
QList<QList<quint8> > TintMapManager::getTintMapData() |
|||
{ |
|||
auto tm = getTintMap(tintMap()); |
|||
|
|||
return tm->value(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void TintMapManager::tintMapHandle() |
|||
{ |
|||
calcTintBar(); |
|||
|
|||
emit tintMapReady(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void TintMapManager::setIndex(qint32 index) |
|||
{ |
|||
tintMap(index); |
|||
} |
@ -0,0 +1,224 @@ |
|||
#include "viewModel/bMode/setting/BModeSettingViewModel.h" |
|||
|
|||
#include <QDebug> |
|||
#include <cmath> |
|||
#include <float.h> |
|||
#include <QtMath> |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
|
|||
SINGLETON_DEF(BModeSettingViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::BModeSettingViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
BModeSettingViewModel::BModeSettingViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::setInitialValue() |
|||
{ |
|||
sriValues(arithmeticSeries(1, 5, 1)); |
|||
persistValues(arithmeticSeries(1, 8, 1)); |
|||
frameFilterValues(arithmeticSeries(1, 6, 1)); |
|||
criValues(arithmeticSeries(1, 8, 1)); |
|||
aoValues(arithmeticSeries(1, 100, 1)); |
|||
rejectValues(arithmeticSeries(0, 255, 5)); |
|||
dynamicContrastValues(arithmeticSeries(1, 12, 1)); |
|||
gainValues(arithmeticSeries(-25, 15, 1)); |
|||
|
|||
hdZoom(false); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::turnOnMinimalMode() |
|||
{ |
|||
blockSending(); |
|||
|
|||
auto enable = false; |
|||
lineFilterEnable(enable); |
|||
ffcEnable(enable); |
|||
hiEnable(enable); |
|||
aoEnable(enable); |
|||
lineDensityEnable(enable); |
|||
virtualConvexEnable(enable); |
|||
angleEnable(enable); |
|||
frequencyEnable(enable); |
|||
depthEnable(enable); |
|||
focusNumberEnable(enable); |
|||
focusPointsEnable(enable); |
|||
hdZoomEnable(enable); |
|||
otiEnable(enable); |
|||
maxAngleEnable(enable); |
|||
maxAngleVisible(enable); |
|||
angleVisible(enable); |
|||
criEnable(enable); |
|||
|
|||
allowSending(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::turnOffMinimalMode() |
|||
{ |
|||
blockSending(); |
|||
|
|||
auto enable = true; |
|||
lineFilterEnable(enable); |
|||
ffcEnable(enable); |
|||
hiEnable(enable); |
|||
aoEnable(enable); |
|||
lineDensityEnable(enable); |
|||
virtualConvexEnable(enable); |
|||
angleEnable(enable); |
|||
frequencyEnable(enable); |
|||
depthEnable(enable); |
|||
focusNumberEnable(enable); |
|||
focusPointsEnable(enable); |
|||
hdZoomEnable(enable); |
|||
otiEnable(enable); |
|||
maxAngleEnable(enable); |
|||
criEnable(enable); |
|||
|
|||
allowSending(); |
|||
} |
|||
|
|||
void BModeSettingViewModel::criBypassHandle() |
|||
{ |
|||
|
|||
|
|||
//_eventSender->sendSyncRequest(ECommandType::criChanged, SSM_NAME, {getCriEnableStatus()});
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::ffcHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::ffcHandle() |
|||
{ |
|||
|
|||
if(_ffc) |
|||
{ |
|||
hi(false); |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::hiHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::hiHandle() |
|||
{ |
|||
|
|||
|
|||
if(_hi) |
|||
{ |
|||
ffc(false); |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::frequencyHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::frequencyHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::maxAngleHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::maxAngleHandle() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::focusNumberHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::focusNumberHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief BModeSettingViewModel::freezeChanged |
|||
* @param freeze |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::freezeChanged(bool freeze) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void BModeSettingViewModel::lineFilterHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
void BModeSettingViewModel::lineFilterBypassHandle() |
|||
{ |
|||
} |
|||
|
|||
void BModeSettingViewModel::enhanceHandle() |
|||
{ |
|||
enhanceOff(enhance() == 0); |
|||
} |
@ -0,0 +1,71 @@ |
|||
#include "viewModel/cine/display/CineDisplayViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(CineDisplayViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::CineDisplayViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
CineDisplayViewModel::CineDisplayViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineDisplayViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineDisplayViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
@ -0,0 +1,71 @@ |
|||
#include "viewModel/cine/setting/CineSettingViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(CineSettingViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::CineSettingViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
CineSettingViewModel::CineSettingViewModel() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::init() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief CineSettingViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void CineSettingViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
@ -0,0 +1,10 @@ |
|||
#include "viewModel/image/BImageContainer.h" |
|||
|
|||
#define FOCUS_POINT_X 15 |
|||
#define RULER_X 5 |
|||
#define ONE_CM 0.01f |
|||
#define RULER_PIXEL_LIMIT 55 |
|||
|
|||
BImageContainer::BImageContainer() |
|||
{ |
|||
} |
@ -0,0 +1,119 @@ |
|||
#include "viewModel/image/ImageViewModel.h" |
|||
|
|||
#include <QPixmap> |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(ImageViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
ImageViewModel::ImageViewModel() |
|||
{ |
|||
imageProviderB = new ColorImageProvider(); |
|||
imageProviderM = new ColorImageProvider(); |
|||
imageProviderAnnot = new ColorImageProvider(); |
|||
|
|||
_activeImageB = _image1; |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::init() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::setInitialValue() |
|||
{ |
|||
scaleValues(arithmeticSeries(0.8f, 3.4f, 0.1f, 2)); |
|||
|
|||
scale(2); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::turnOnMinimalMode() |
|||
{ |
|||
blockSending(); |
|||
|
|||
auto enable = false; |
|||
|
|||
sriBEnable(enable); |
|||
|
|||
allowSending(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::mirrorHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::flipHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::scaleHandle() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sriBHandle() |
|||
{ |
|||
if(sriB()) |
|||
{ |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sonoBImageWHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sonoBImageHHandle() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sonoMImageWHandle() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void ImageViewModel::sonoMImageHHandle() |
|||
{ |
|||
} |
|||
|
|||
void ImageViewModel::singleHandle() |
|||
{ |
|||
|
|||
} |
|||
void ImageViewModel::dualHandle() |
|||
{ |
|||
|
|||
} |
|||
void ImageViewModel::quadHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
|
@ -0,0 +1,13 @@ |
|||
#include "viewModel/image/MImageContainer.h" |
|||
|
|||
#define HOR_RULER_Y_OFFSET -10 |
|||
#define VER_RULER_Y_OFFSET 2 |
|||
#define IMAGE_Y_OFFSET 1 |
|||
#define IMAGE_X_OFFSET 20 |
|||
#define RIGHT_BORDER_GAURD 2 |
|||
#define ONE_CM 0.01f |
|||
#define RULER_PIXEL_LIMIT 55 |
|||
|
|||
MImageContainer::MImageContainer() |
|||
{ |
|||
} |
@ -0,0 +1,58 @@ |
|||
#include "viewModel/mMode/display/MModeDisplayViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(MModeDisplayViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
MModeDisplayViewModel::MModeDisplayViewModel() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::init() |
|||
{ |
|||
connect(_grayMapManager, &GrayMapManager::grayMapReady, this, |
|||
&MModeDisplayViewModel::newGrayMap); |
|||
|
|||
connect(_tintManager, &TintMapManager::tintMapReady, this, |
|||
&MModeDisplayViewModel::newTintMap); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::newTintMap() |
|||
{ |
|||
send(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MModeDisplayViewModel::newGrayMap() |
|||
{ |
|||
_tintManager->grayMapChanged(_grayMapManager->getGrayMapData()); |
|||
send(); |
|||
} |
@ -0,0 +1,77 @@ |
|||
#include "viewModel/mMode/setting/MModeSettingViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
|
|||
SINGLETON_DEF(MModeSettingViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::MModeSettingViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
MModeSettingViewModel::MModeSettingViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::setInitialValue() |
|||
{ |
|||
enhanceValues(arithmeticSeries(1, 5, 1)); |
|||
rejectValues(arithmeticSeries(0, 255, 5)); |
|||
dynamicContrastValues(arithmeticSeries(1, 12, 1)); |
|||
gainValues(arithmeticSeries(-25, 15, 1)); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MModeSettingViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MModeSettingViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
@ -0,0 +1,98 @@ |
|||
#include "viewModel/measurement/MeasureViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(MeasureViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::MeasureViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
MeasureViewModel::MeasureViewModel() |
|||
{ |
|||
} |
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief MeasureViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
void MeasureViewModel::currentStudyPage0Handle() |
|||
{ |
|||
if(currentStudyPage0() == 0) |
|||
{ |
|||
parameter0Title("Dist. 2 Point"); |
|||
parameter1Title("Ratio D1/D2"); |
|||
parameter2Title("Stenosis %Dist."); |
|||
parameter3Title("Dist. 2Line"); |
|||
} |
|||
else |
|||
{ |
|||
parameter0Title("Ellipse"); |
|||
parameter1Title("Ratio A1/A2"); |
|||
parameter2Title("Area% Stenosis"); |
|||
parameter3Title("Area 2 Dist."); |
|||
} |
|||
} |
|||
void MeasureViewModel::clearAllHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
void MeasureViewModel::deleteLastHandle() |
|||
{ |
|||
|
|||
} |
@ -0,0 +1,137 @@ |
|||
#include "viewModel/probe/ProbeViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
#include "viewModel/user/UserViewModel.h" |
|||
|
|||
SINGLETON_DEF(ProbeViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::ProbeViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
ProbeViewModel::ProbeViewModel() |
|||
{ |
|||
|
|||
} |
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::init() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::setInitialValue() |
|||
{ |
|||
savedProbeIndex(NOT_SELECTED); |
|||
savedFolderIndex(NOT_SELECTED); |
|||
savedPresetIndex(NOT_SELECTED); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
|
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::exitHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::isProbePageShownHandle() |
|||
{ |
|||
if(!isProbePageShown()) |
|||
{ |
|||
blockSending(); |
|||
currentProbe(savedProbeIndex()); |
|||
currentFolder(savedFolderIndex()); |
|||
currentPreset(savedPresetIndex()); |
|||
allowSending(); |
|||
} |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::saveAndExitHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::saveAndExitHandle() |
|||
{ |
|||
blockSending(); |
|||
savedProbeIndex(currentProbe()); |
|||
savedFolderIndex(currentFolder()); |
|||
savedPresetIndex(currentPreset()); |
|||
allowSending(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::currentProbeHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::currentProbeHandle() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::currentFolderHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::currentFolderHandle() |
|||
{ |
|||
|
|||
} |
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief ProbeViewModel::currentPresetHandle |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void ProbeViewModel::currentPresetHandle() |
|||
{ |
|||
} |
@ -0,0 +1,76 @@ |
|||
#include "viewModel/simulation/SimulationViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(SimulationViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::SimulationViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
SimulationViewModel::SimulationViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::init() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::setInitialValue() |
|||
{ |
|||
rxTesterMode(false); |
|||
oneshot(false); |
|||
autoIncrement(false); |
|||
simulationTest(false); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief SimulationViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void SimulationViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
@ -0,0 +1,83 @@ |
|||
#include "viewModel/tgc/TgcViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
#define TGC_COUNT 9 |
|||
#define USER_TGC_COUNT 3 |
|||
|
|||
SINGLETON_DEF(TgcViewModel) |
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::TgcViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
TgcViewModel::TgcViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::turnOnMinimalMode() |
|||
{ |
|||
blockSending(); |
|||
|
|||
enabled(false); |
|||
|
|||
allowSending(); |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TgcViewModel::turnOffMinimalMode() |
|||
{ |
|||
blockSending(); |
|||
|
|||
enabled(true); |
|||
|
|||
allowSending(); |
|||
} |
@ -0,0 +1,70 @@ |
|||
#include "viewModel/trackball/TrackballViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
SINGLETON_DEF(TrackballViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::TrackballViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
TrackballViewModel::TrackballViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TgcViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief TrackballViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void TrackballViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
@ -0,0 +1,86 @@ |
|||
#include "viewModel/user/DialogViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
#include "QTimer" |
|||
|
|||
SINGLETON_DEF(DialogViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::DialogViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
DialogViewModel::DialogViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::init() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::sendData(bool sync) |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::prepareData() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief DialogViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void DialogViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
void DialogViewModel::btn1Clicked() |
|||
{ |
|||
|
|||
} |
|||
|
|||
void DialogViewModel::btn2Clicked() |
|||
{ |
|||
|
|||
} |
|||
|
|||
void DialogViewModel::btn3Clicked() |
|||
{ |
|||
|
|||
} |
@ -0,0 +1,79 @@ |
|||
#include "viewModel/user/UserViewModel.h" |
|||
|
|||
#include "viewModel/UsmMimic.h" |
|||
|
|||
|
|||
SINGLETON_DEF(UserViewModel) |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::UserViewModel |
|||
* @param parent |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
UserViewModel::UserViewModel() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::init |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::init() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::setInitialValue |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::setInitialValue() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::sendData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::sendData(bool sync) |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::prepareData() |
|||
{ |
|||
|
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::prepareData |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::turnOnMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
/*************************************************************************************************/ |
|||
/**
|
|||
* @brief UserViewModel::turnOffMinimalMode |
|||
*/ |
|||
/*************************************************************************************************/ |
|||
void UserViewModel::turnOffMinimalMode() |
|||
{ |
|||
} |
|||
|
|||
void UserViewModel::viewMeasurementHandle() |
|||
{ |
|||
|
|||
} |
@ -0,0 +1,14 @@ |
|||
# Link with core project |
|||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../logic/release/ -llogic |
|||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../logic/debug/ -llogic |
|||
else:unix: LIBS += -L$$OUT_PWD/../logic/ -llogic |
|||
|
|||
win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../logic/release/liblogic.a |
|||
else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../logic/debug/liblogic.a |
|||
else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../logic/release/logic.lib |
|||
else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../logic/debug/logic.lib |
|||
else:unix: PRE_TARGETDEPS += $$OUT_PWD/../logic/liblogic.a |
|||
|
|||
INCLUDEPATH += $$PWD/../logic/include \ |
|||
$$PWD/.. |
|||
DEPENDPATH += $$PWD/../logic/include |
@ -0,0 +1,7 @@ |
|||
TEMPLATE = subdirs |
|||
|
|||
SUBDIRS += \ |
|||
logic \ |
|||
ui |
|||
|
|||
ui.depends += logic |
Loading…
Reference in new issue