Some more UI features for Scotty

Two new ways of changing range:
- Press Z to snap to cursors, or M to open a dialog and enter manually.
- The frequency boxes now scroll in a more sane way - round down to the
nearest multiple of 10, then divide by 10 to find out the increment.
For example, at 2kHz, the next value will be 2.1kHz (2000 + 1000/10)
rather than 2.001Hz (2000 + 1).
This commit is contained in:
EspoTek 2016-09-19 12:24:10 +10:00
parent 749bf8d4a7
commit 80b928cc27
61 changed files with 2318 additions and 368 deletions

View File

@ -28,7 +28,9 @@ SOURCES += main.cpp\
cursorenabler.cpp \
desktop_settings.cpp \
deviceconnecteddisplay.cpp \
timedtickbox.cpp
timedtickbox.cpp \
scoperangeenterdialog.cpp \
voltagespinbox.cpp
HEADERS += mainwindow.h \
qcustomplot.h \
@ -46,9 +48,12 @@ HEADERS += mainwindow.h \
noclosemenu.h \
cursorenabler.h \
deviceconnecteddisplay.h \
timedtickbox.h
timedtickbox.h \
scoperangeenterdialog.h \
voltagespinbox.h
FORMS += mainwindow.ui
FORMS += mainwindow.ui \
scoperangeenterdialog.ui
RESOURCES += \
resources.qrc

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.1.0, 2016-09-17T15:08:16. -->
<!-- Written by QtCreator 4.1.0, 2016-09-19T09:44:01. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
@ -292,7 +292,7 @@
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">Labrador_libusbK.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">C:/Users/Esposch/Documents/GitHub/Labrador/Desktop Interface/bin</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default"></value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,3 +0,0 @@
copy Labrador_libusbk.exe "C:\kfvcc" /B
pause

View File

@ -2,7 +2,7 @@
espoSpinBox::espoSpinBox(QWidget *parent) : QDoubleSpinBox(parent)
{
//connect(this, SIGNAL(valueChanged(double)), this, SLOT(changeStepping(double)));
}
QString espoSpinBox::textFromValue(double value) const{
@ -45,3 +45,9 @@ void espoSpinBox::setMax(double newMax){
void espoSpinBox::setMin(double newMin){
this->setMinimum(newMin);
}
void espoSpinBox::changeStepping(double value){
double roundval = pow(10.0, floor(log10(value))); //http://stackoverflow.com/questions/22491505/how-to-round-down-to-the-nearest-power-of-10
roundval = (roundval == 0) ? 0.1 : roundval/10;
setSingleStep(roundval);
}

View File

@ -5,6 +5,7 @@
#include <QDoubleSpinBox>
#include <QString>
#include <QTextStream>
#include <QDebug>
class espoSpinBox : public QDoubleSpinBox
{
@ -13,13 +14,13 @@ public:
explicit espoSpinBox(QWidget *parent = 0);
private:
QString textFromValue(double value) const;
signals:
public slots:
void maximumChanged(double linked);
void setMax(double newMax);
void setMin(double newMin);
void changeStepping(double value);
};
#endif // ESPOSPINBOX_H

View File

@ -986,3 +986,15 @@ void isoDriver::slowTimerTick(){
update_CH1 = true;
update_CH2 = true;
}
void isoDriver::setTopRange(double newTop){
topRange = newTop;
}
void isoDriver::setBotRange(double newBot){
botRange = newBot;
}
void isoDriver::setTimeWindow(double newWindow){
window = newWindow;
}

View File

@ -23,6 +23,8 @@ public:
int baudRate_CH1 = 9600, baudRate_CH2 = 9600;
double delay = 0, window = 0.01;
QCPItemText *cursorTextPtr;
double y0=0, y1=0, x0=0, x1=0;
double topRange=2.5, botRange=-0.5;
private:
winUsbDriver *driver;
QCustomPlot *axes;
@ -32,7 +34,6 @@ private:
long total_read = 0;
void analogConvert(short *shortPtr, QVector<double> *doublePtr, int TOP, bool AC);
void digitalConvert(short *shortPtr, QVector<double> *doublePtr);
double topRange=2.5, botRange=-0.5;
bool paused_CH1 = false, paused_CH2 = false, paused_multimeter = false;
void recoverIsoStream(void);
void frameActionGeneric(char CH1_mode, char CH2_mode);
@ -43,7 +44,6 @@ private:
double multi = 0;
bool autoGainEnabled = true;
bool placingHoriAxes = false, placingVertAxes = false, horiCursorEnabled = false, vertCursorEnabled = false;
double y0=0, y1=0, x0=0, x1=0;
void udateCursors(void);
short reverseFrontEnd(double voltage);
int trigger(void);
@ -139,6 +139,9 @@ public slots:
void setXYmode(bool enabled);
void triggerGroupStateChange(bool enabled);
void slowTimerTick();
void setTopRange(double newTop);
void setBotRange(double newBot);
void setTimeWindow(double newWindow);
};
#endif // ISODRIVER_H

View File

@ -726,6 +726,9 @@ void MainWindow::initShortcuts(){
shortcut_cycleBaudRateBackwards_CH1 = new QShortcut(QKeySequence("Ctrl+Shift+B"), ui->menuBar);
shortcut_cycleBaudRate_CH2 = new QShortcut(QKeySequence("Ctrl+Alt+B"), ui->menuBar);
shortcut_cycleBaudRateBackwards_CH2 = new QShortcut(QKeySequence("Ctrl+Shift+Alt+B"), ui->menuBar);
shortcut_snapScopeToCursors = new QShortcut(QKeySequence("Z"), ui->menuBar);
shortcut_manualRange = new QShortcut(QKeySequence("M"), ui->menuBar);
shortcut_ArrowUp = new QShortcut(QKeySequence("Up"), ui->menuBar);
shortcut_ArrowDown = new QShortcut(QKeySequence("Down"), ui->menuBar);
@ -763,9 +766,8 @@ void MainWindow::initShortcuts(){
connect(shortcut_ArrowLeft, SIGNAL(activated()), this, SLOT(cycleDelayLeft()));
connect(shortcut_ArrowRight, SIGNAL(activated()), this, SLOT(cycleDelayRight()));
connect(shortcut_snapScopeToCursors, SIGNAL(activated()), this, SLOT(on_actionSnap_to_Cursors_triggered()));
connect(shortcut_manualRange, SIGNAL(activated()), this, SLOT(on_actionEnter_Manually_triggered()));
}
@ -889,3 +891,39 @@ void MainWindow::on_actionAuto_Lock_toggled(bool arg1)
ui->lockPsuCheckBox->enableTimer(arg1);
ui->lockPsuCheckBox->timer->start(ui->lockPsuCheckBox->timerLength);
}
void MainWindow::on_actionSnap_to_Cursors_triggered()
{
double xLeft, xRight, yBot, yTop;
yTop = ui->controller_iso->y1 > ui->controller_iso->y0 ? ui->controller_iso->y1 : ui->controller_iso->y0;
yBot = ui->controller_iso->y1 > ui->controller_iso->y0 ? ui->controller_iso->y0 : ui->controller_iso->y1;
xRight = ui->controller_iso->x1 > ui->controller_iso->x0 ? ui->controller_iso->x1 : ui->controller_iso->x0;
xLeft = ui->controller_iso->x1 > ui->controller_iso->x0 ? ui->controller_iso->x0 : ui->controller_iso->x1;
if((yBot-yTop) != 0){
ui->controller_iso->topRange = yTop;
ui->controller_iso->botRange = yBot;
}
if((xLeft - xRight) != 0){
ui->controller_iso->delay = - xRight;
ui->controller_iso->window = xRight - xLeft;
}
}
void MainWindow::on_actionEnter_Manually_triggered()
{
ui->controller_iso->delay = 0;
scopeRangeEnterDialog dialog(this, ui->controller_iso->topRange, ui->controller_iso->botRange, ui->controller_iso->window, ui->controller_iso->delay);
dialog.setModal(true);
connect(&dialog, SIGNAL(yTopUpdated(double)), ui->controller_iso, SLOT(setTopRange(double)));
connect(&dialog, SIGNAL(yBotUpdated(double)), ui->controller_iso, SLOT(setBotRange(double)));
connect(&dialog, SIGNAL(windowUpdated(double)), ui->controller_iso, SLOT(setTimeWindow(double)));
dialog.exec();
}
void MainWindow::helloWorld(){
qDebug() << "Hello World!";
}

View File

@ -8,6 +8,7 @@
#include <QShortcut>
#include "qcustomplot.h"
#include <QFont>
#include "scoperangeenterdialog.h"
namespace Ui {
class MainWindow;
@ -88,6 +89,12 @@ private slots:
void on_actionAuto_Lock_toggled(bool arg1);
void on_actionSnap_to_Cursors_triggered();
void on_actionEnter_Manually_triggered();
void helloWorld();
private:
Ui::MainWindow *ui;
void initialisePlot();
@ -117,8 +124,8 @@ private:
QShortcut *shortcut_d;
QShortcut *shortcut_ArrowLeft;
QShortcut *shortcut_ArrowRight;
QShortcut *shortcut_snapScopeToCursors;\
QShortcut *shortcut_manualRange;
QWheelEvent *wheelEmu;

View File

@ -781,14 +781,17 @@
<string notr="true">Hz</string>
</property>
<property name="decimals">
<number>4</number>
<number>2</number>
</property>
<property name="minimum">
<double>0.200000000000000</double>
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
<property name="singleStep">
<double>100.000000000000000</double>
</property>
<property name="value">
<double>1000.000000000000000</double>
</property>
@ -893,6 +896,9 @@
<property name="maximum">
<double>1000000.000000000000000</double>
</property>
<property name="singleStep">
<double>100.000000000000000</double>
</property>
<property name="value">
<double>1000.000000000000000</double>
</property>
@ -1351,6 +1357,15 @@
<addaction name="action10FPS"/>
<addaction name="action5FPS"/>
</widget>
<widget class="QMenu" name="menuRange">
<property name="title">
<string>Range</string>
</property>
<addaction name="actionSnap_to_Cursors"/>
<addaction name="actionEnter_Manually"/>
</widget>
<addaction name="menuRange"/>
<addaction name="separator"/>
<addaction name="menuFrame_rate"/>
<addaction name="separator"/>
<addaction name="menuGain_2"/>
@ -2014,6 +2029,16 @@
<string>Auto Lock</string>
</property>
</action>
<action name="actionSnap_to_Cursors">
<property name="text">
<string>Snap to Cursors</string>
</property>
</action>
<action name="actionEnter_Manually">
<property name="text">
<string>Enter Manually</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
@ -2077,6 +2102,7 @@
<slot>maximumChanged(double)</slot>
<slot>setMax(double)</slot>
<slot>setMin(double)</slot>
<slot>changeStepping(double)</slot>
</slots>
</customwidget>
<customwidget>
@ -2534,22 +2560,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH1</sender>
<signal>valueChanged(double)</signal>
<receiver>controller_fg</receiver>
<slot>freqUpdate_CH1(double)</slot>
<hints>
<hint type="sourcelabel">
<x>806</x>
<y>623</y>
</hint>
<hint type="destinationlabel">
<x>960</x>
<y>509</y>
</hint>
</hints>
</connection>
<connection>
<sender>amplitudeValue_CH1</sender>
<signal>valueChanged(double)</signal>
@ -2582,38 +2592,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMaxFreq_CH1(double)</signal>
<receiver>frequencyValue_CH1</receiver>
<slot>setMax(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>806</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMinFreq_CH1(double)</signal>
<receiver>frequencyValue_CH1</receiver>
<slot>setMin(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>806</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>bufferDisplay</sender>
<signal>busSnifferOut_CH1(bool)</signal>
@ -2742,54 +2720,6 @@
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMaxFreq_CH2(double)</signal>
<receiver>frequencyValue_CH2</receiver>
<slot>setMax(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>949</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMinFreq_CH2(double)</signal>
<receiver>frequencyValue_CH2</receiver>
<slot>setMin(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>949</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH2</sender>
<signal>valueChanged(double)</signal>
<receiver>controller_fg</receiver>
<slot>freqUpdate_CH2(double)</slot>
<hints>
<hint type="sourcelabel">
<x>949</x>
<y>623</y>
</hint>
<hint type="destinationlabel">
<x>960</x>
<y>509</y>
</hint>
</hints>
</connection>
<connection>
<sender>amplitudeValue_CH2</sender>
<signal>valueChanged(double)</signal>
@ -3917,8 +3847,8 @@
<slot>setChecked(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>998</x>
<y>594</y>
<x>1114</x>
<y>473</y>
</hint>
<hint type="destinationlabel">
<x>722</x>
@ -3937,8 +3867,136 @@
<y>80</y>
</hint>
<hint type="destinationlabel">
<x>1022</x>
<y>598</y>
<x>1114</x>
<y>473</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMaxFreq_CH2(double)</signal>
<receiver>frequencyValue_CH2</receiver>
<slot>setMax(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>949</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMinFreq_CH2(double)</signal>
<receiver>frequencyValue_CH2</receiver>
<slot>setMin(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>949</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH2</sender>
<signal>valueChanged(double)</signal>
<receiver>controller_fg</receiver>
<slot>freqUpdate_CH2(double)</slot>
<hints>
<hint type="sourcelabel">
<x>949</x>
<y>623</y>
</hint>
<hint type="destinationlabel">
<x>960</x>
<y>509</y>
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH1</sender>
<signal>valueChanged(double)</signal>
<receiver>controller_fg</receiver>
<slot>freqUpdate_CH1(double)</slot>
<hints>
<hint type="sourcelabel">
<x>806</x>
<y>623</y>
</hint>
<hint type="destinationlabel">
<x>960</x>
<y>509</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMaxFreq_CH1(double)</signal>
<receiver>frequencyValue_CH1</receiver>
<slot>setMax(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>806</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>controller_fg</sender>
<signal>setMinFreq_CH1(double)</signal>
<receiver>frequencyValue_CH1</receiver>
<slot>setMin(double)</slot>
<hints>
<hint type="sourcelabel">
<x>960</x>
<y>509</y>
</hint>
<hint type="destinationlabel">
<x>806</x>
<y>623</y>
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH1</sender>
<signal>valueChanged(double)</signal>
<receiver>frequencyValue_CH1</receiver>
<slot>changeStepping(double)</slot>
<hints>
<hint type="sourcelabel">
<x>740</x>
<y>611</y>
</hint>
<hint type="destinationlabel">
<x>701</x>
<y>611</y>
</hint>
</hints>
</connection>
<connection>
<sender>frequencyValue_CH2</sender>
<signal>valueChanged(double)</signal>
<receiver>frequencyValue_CH2</receiver>
<slot>changeStepping(double)</slot>
<hints>
<hint type="sourcelabel">
<x>881</x>
<y>608</y>
</hint>
<hint type="destinationlabel">
<x>904</x>
<y>613</y>
</hint>
</hints>
</connection>

Binary file not shown.

View File

@ -19,8 +19,8 @@
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_espoSpinBox_t {
QByteArrayData data[8];
char stringdata0[63];
QByteArrayData data[10];
char stringdata0[84];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -36,11 +36,14 @@ QT_MOC_LITERAL(3, 28, 6), // "linked"
QT_MOC_LITERAL(4, 35, 6), // "setMax"
QT_MOC_LITERAL(5, 42, 6), // "newMax"
QT_MOC_LITERAL(6, 49, 6), // "setMin"
QT_MOC_LITERAL(7, 56, 6) // "newMin"
QT_MOC_LITERAL(7, 56, 6), // "newMin"
QT_MOC_LITERAL(8, 63, 14), // "changeStepping"
QT_MOC_LITERAL(9, 78, 5) // "value"
},
"espoSpinBox\0maximumChanged\0\0linked\0"
"setMax\0newMax\0setMin\0newMin"
"setMax\0newMax\0setMin\0newMin\0changeStepping\0"
"value"
};
#undef QT_MOC_LITERAL
@ -50,7 +53,7 @@ static const uint qt_meta_data_espoSpinBox[] = {
7, // revision
0, // classname
0, 0, // classinfo
3, 14, // methods
4, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@ -58,14 +61,16 @@ static const uint qt_meta_data_espoSpinBox[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 29, 2, 0x0a /* Public */,
4, 1, 32, 2, 0x0a /* Public */,
6, 1, 35, 2, 0x0a /* Public */,
1, 1, 34, 2, 0x0a /* Public */,
4, 1, 37, 2, 0x0a /* Public */,
6, 1, 40, 2, 0x0a /* Public */,
8, 1, 43, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 5,
QMetaType::Void, QMetaType::Double, 7,
QMetaType::Void, QMetaType::Double, 9,
0 // eod
};
@ -79,6 +84,7 @@ void espoSpinBox::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
case 0: _t->maximumChanged((*reinterpret_cast< double(*)>(_a[1]))); break;
case 1: _t->setMax((*reinterpret_cast< double(*)>(_a[1]))); break;
case 2: _t->setMin((*reinterpret_cast< double(*)>(_a[1]))); break;
case 3: _t->changeStepping((*reinterpret_cast< double(*)>(_a[1]))); break;
default: ;
}
}
@ -109,13 +115,13 @@ int espoSpinBox::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 3)
if (_id < 4)
qt_static_metacall(this, _c, _id, _a);
_id -= 3;
_id -= 4;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 3)
if (_id < 4)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 3;
_id -= 4;
}
return _id;
}

View File

@ -19,8 +19,8 @@
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_isoDriver_t {
QByteArrayData data[78];
char stringdata0[1080];
QByteArrayData data[83];
char stringdata0[1132];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -106,7 +106,12 @@ QT_MOC_LITERAL(73, 978, 26), // "setSerialDecodeEnabled_CH1"
QT_MOC_LITERAL(74, 1005, 26), // "setSerialDecodeEnabled_CH2"
QT_MOC_LITERAL(75, 1032, 9), // "setXYmode"
QT_MOC_LITERAL(76, 1042, 23), // "triggerGroupStateChange"
QT_MOC_LITERAL(77, 1066, 13) // "slowTimerTick"
QT_MOC_LITERAL(77, 1066, 13), // "slowTimerTick"
QT_MOC_LITERAL(78, 1080, 11), // "setTopRange"
QT_MOC_LITERAL(79, 1092, 6), // "newTop"
QT_MOC_LITERAL(80, 1099, 11), // "setBotRange"
QT_MOC_LITERAL(81, 1111, 6), // "newBot"
QT_MOC_LITERAL(82, 1118, 13) // "setTimeWindow"
},
"isoDriver\0setGain\0\0newGain\0disableWindow\0"
@ -138,7 +143,9 @@ QT_MOC_LITERAL(77, 1066, 13) // "slowTimerTick"
"setForceVolts\0setForceAmps\0"
"setSerialDecodeEnabled_CH1\0"
"setSerialDecodeEnabled_CH2\0setXYmode\0"
"triggerGroupStateChange\0slowTimerTick"
"triggerGroupStateChange\0slowTimerTick\0"
"setTopRange\0newTop\0setBotRange\0newBot\0"
"setTimeWindow"
};
#undef QT_MOC_LITERAL
@ -148,7 +155,7 @@ static const uint qt_meta_data_isoDriver[] = {
7, // revision
0, // classname
0, 0, // classinfo
58, 14, // methods
61, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@ -156,66 +163,69 @@ static const uint qt_meta_data_isoDriver[] = {
19, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 304, 2, 0x06 /* Public */,
4, 1, 307, 2, 0x06 /* Public */,
6, 1, 310, 2, 0x06 /* Public */,
7, 1, 313, 2, 0x06 /* Public */,
9, 1, 316, 2, 0x06 /* Public */,
11, 1, 319, 2, 0x06 /* Public */,
12, 1, 322, 2, 0x06 /* Public */,
13, 1, 325, 2, 0x06 /* Public */,
14, 1, 328, 2, 0x06 /* Public */,
15, 1, 331, 2, 0x06 /* Public */,
16, 1, 334, 2, 0x06 /* Public */,
17, 1, 337, 2, 0x06 /* Public */,
19, 1, 340, 2, 0x06 /* Public */,
20, 1, 343, 2, 0x06 /* Public */,
21, 1, 346, 2, 0x06 /* Public */,
22, 1, 349, 2, 0x06 /* Public */,
23, 1, 352, 2, 0x06 /* Public */,
24, 1, 355, 2, 0x06 /* Public */,
25, 1, 358, 2, 0x06 /* Public */,
1, 1, 319, 2, 0x06 /* Public */,
4, 1, 322, 2, 0x06 /* Public */,
6, 1, 325, 2, 0x06 /* Public */,
7, 1, 328, 2, 0x06 /* Public */,
9, 1, 331, 2, 0x06 /* Public */,
11, 1, 334, 2, 0x06 /* Public */,
12, 1, 337, 2, 0x06 /* Public */,
13, 1, 340, 2, 0x06 /* Public */,
14, 1, 343, 2, 0x06 /* Public */,
15, 1, 346, 2, 0x06 /* Public */,
16, 1, 349, 2, 0x06 /* Public */,
17, 1, 352, 2, 0x06 /* Public */,
19, 1, 355, 2, 0x06 /* Public */,
20, 1, 358, 2, 0x06 /* Public */,
21, 1, 361, 2, 0x06 /* Public */,
22, 1, 364, 2, 0x06 /* Public */,
23, 1, 367, 2, 0x06 /* Public */,
24, 1, 370, 2, 0x06 /* Public */,
25, 1, 373, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
26, 1, 361, 2, 0x0a /* Public */,
28, 1, 364, 2, 0x0a /* Public */,
31, 0, 367, 2, 0x0a /* Public */,
32, 0, 368, 2, 0x0a /* Public */,
33, 1, 369, 2, 0x0a /* Public */,
34, 1, 372, 2, 0x0a /* Public */,
35, 1, 375, 2, 0x0a /* Public */,
36, 0, 378, 2, 0x0a /* Public */,
37, 3, 379, 2, 0x0a /* Public */,
41, 1, 386, 2, 0x0a /* Public */,
43, 1, 389, 2, 0x0a /* Public */,
45, 0, 392, 2, 0x0a /* Public */,
46, 1, 393, 2, 0x0a /* Public */,
47, 1, 396, 2, 0x0a /* Public */,
49, 1, 399, 2, 0x0a /* Public */,
50, 1, 402, 2, 0x0a /* Public */,
51, 1, 405, 2, 0x0a /* Public */,
52, 1, 408, 2, 0x0a /* Public */,
53, 1, 411, 2, 0x0a /* Public */,
54, 1, 414, 2, 0x0a /* Public */,
56, 1, 417, 2, 0x0a /* Public */,
57, 1, 420, 2, 0x0a /* Public */,
59, 1, 423, 2, 0x0a /* Public */,
60, 1, 426, 2, 0x0a /* Public */,
61, 1, 429, 2, 0x0a /* Public */,
63, 1, 432, 2, 0x0a /* Public */,
65, 0, 435, 2, 0x0a /* Public */,
66, 0, 436, 2, 0x0a /* Public */,
67, 1, 437, 2, 0x0a /* Public */,
68, 1, 440, 2, 0x0a /* Public */,
69, 1, 443, 2, 0x0a /* Public */,
70, 1, 446, 2, 0x0a /* Public */,
71, 1, 449, 2, 0x0a /* Public */,
72, 1, 452, 2, 0x0a /* Public */,
73, 1, 455, 2, 0x0a /* Public */,
74, 1, 458, 2, 0x0a /* Public */,
75, 1, 461, 2, 0x0a /* Public */,
76, 1, 464, 2, 0x0a /* Public */,
77, 0, 467, 2, 0x0a /* Public */,
26, 1, 376, 2, 0x0a /* Public */,
28, 1, 379, 2, 0x0a /* Public */,
31, 0, 382, 2, 0x0a /* Public */,
32, 0, 383, 2, 0x0a /* Public */,
33, 1, 384, 2, 0x0a /* Public */,
34, 1, 387, 2, 0x0a /* Public */,
35, 1, 390, 2, 0x0a /* Public */,
36, 0, 393, 2, 0x0a /* Public */,
37, 3, 394, 2, 0x0a /* Public */,
41, 1, 401, 2, 0x0a /* Public */,
43, 1, 404, 2, 0x0a /* Public */,
45, 0, 407, 2, 0x0a /* Public */,
46, 1, 408, 2, 0x0a /* Public */,
47, 1, 411, 2, 0x0a /* Public */,
49, 1, 414, 2, 0x0a /* Public */,
50, 1, 417, 2, 0x0a /* Public */,
51, 1, 420, 2, 0x0a /* Public */,
52, 1, 423, 2, 0x0a /* Public */,
53, 1, 426, 2, 0x0a /* Public */,
54, 1, 429, 2, 0x0a /* Public */,
56, 1, 432, 2, 0x0a /* Public */,
57, 1, 435, 2, 0x0a /* Public */,
59, 1, 438, 2, 0x0a /* Public */,
60, 1, 441, 2, 0x0a /* Public */,
61, 1, 444, 2, 0x0a /* Public */,
63, 1, 447, 2, 0x0a /* Public */,
65, 0, 450, 2, 0x0a /* Public */,
66, 0, 451, 2, 0x0a /* Public */,
67, 1, 452, 2, 0x0a /* Public */,
68, 1, 455, 2, 0x0a /* Public */,
69, 1, 458, 2, 0x0a /* Public */,
70, 1, 461, 2, 0x0a /* Public */,
71, 1, 464, 2, 0x0a /* Public */,
72, 1, 467, 2, 0x0a /* Public */,
73, 1, 470, 2, 0x0a /* Public */,
74, 1, 473, 2, 0x0a /* Public */,
75, 1, 476, 2, 0x0a /* Public */,
76, 1, 479, 2, 0x0a /* Public */,
77, 0, 482, 2, 0x0a /* Public */,
78, 1, 483, 2, 0x0a /* Public */,
80, 1, 486, 2, 0x0a /* Public */,
82, 1, 489, 2, 0x0a /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::Double, 3,
@ -278,6 +288,9 @@ static const uint qt_meta_data_isoDriver[] = {
QMetaType::Void, QMetaType::Bool, 5,
QMetaType::Void, QMetaType::Bool, 5,
QMetaType::Void,
QMetaType::Void, QMetaType::Double, 79,
QMetaType::Void, QMetaType::Double, 81,
QMetaType::Void, QMetaType::Double, 27,
0 // eod
};
@ -346,6 +359,9 @@ void isoDriver::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, v
case 55: _t->setXYmode((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 56: _t->triggerGroupStateChange((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 57: _t->slowTimerTick(); break;
case 58: _t->setTopRange((*reinterpret_cast< double(*)>(_a[1]))); break;
case 59: _t->setBotRange((*reinterpret_cast< double(*)>(_a[1]))); break;
case 60: _t->setTimeWindow((*reinterpret_cast< double(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
@ -512,13 +528,13 @@ int isoDriver::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 58)
if (_id < 61)
qt_static_metacall(this, _c, _id, _a);
_id -= 58;
_id -= 61;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 58)
if (_id < 61)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 58;
_id -= 61;
}
return _id;
}

View File

@ -19,8 +19,8 @@
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_MainWindow_t {
QByteArrayData data[61];
char stringdata0[1356];
QByteArrayData data[64];
char stringdata0[1436];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -89,7 +89,10 @@ QT_MOC_LITERAL(56, 1238, 22), // "on_action20FPS_toggled"
QT_MOC_LITERAL(57, 1261, 22), // "on_action15FPS_toggled"
QT_MOC_LITERAL(58, 1284, 22), // "on_action10FPS_toggled"
QT_MOC_LITERAL(59, 1307, 21), // "on_action5FPS_toggled"
QT_MOC_LITERAL(60, 1329, 26) // "on_actionAuto_Lock_toggled"
QT_MOC_LITERAL(60, 1329, 26), // "on_actionAuto_Lock_toggled"
QT_MOC_LITERAL(61, 1356, 34), // "on_actionSnap_to_Cursors_trig..."
QT_MOC_LITERAL(62, 1391, 33), // "on_actionEnter_Manually_trigg..."
QT_MOC_LITERAL(63, 1425, 10) // "helloWorld"
},
"MainWindow\0on_actionGain0_5_triggered\0"
@ -129,7 +132,10 @@ QT_MOC_LITERAL(60, 1329, 26) // "on_actionAuto_Lock_toggled"
"on_action60FPS_toggled\0enabled\0"
"on_action30FPS_toggled\0on_action20FPS_toggled\0"
"on_action15FPS_toggled\0on_action10FPS_toggled\0"
"on_action5FPS_toggled\0on_actionAuto_Lock_toggled"
"on_action5FPS_toggled\0on_actionAuto_Lock_toggled\0"
"on_actionSnap_to_Cursors_triggered\0"
"on_actionEnter_Manually_triggered\0"
"helloWorld"
};
#undef QT_MOC_LITERAL
@ -139,7 +145,7 @@ static const uint qt_meta_data_MainWindow[] = {
7, // revision
0, // classname
0, 0, // classinfo
55, 14, // methods
58, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
@ -147,61 +153,64 @@ static const uint qt_meta_data_MainWindow[] = {
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 289, 2, 0x08 /* Private */,
3, 0, 290, 2, 0x08 /* Private */,
4, 0, 291, 2, 0x08 /* Private */,
5, 0, 292, 2, 0x08 /* Private */,
6, 0, 293, 2, 0x08 /* Private */,
7, 0, 294, 2, 0x08 /* Private */,
8, 0, 295, 2, 0x08 /* Private */,
9, 0, 296, 2, 0x08 /* Private */,
10, 0, 297, 2, 0x08 /* Private */,
11, 1, 298, 2, 0x08 /* Private */,
13, 0, 301, 2, 0x08 /* Private */,
14, 1, 302, 2, 0x08 /* Private */,
16, 1, 305, 2, 0x08 /* Private */,
17, 1, 308, 2, 0x08 /* Private */,
18, 1, 311, 2, 0x08 /* Private */,
19, 1, 314, 2, 0x08 /* Private */,
20, 1, 317, 2, 0x08 /* Private */,
21, 1, 320, 2, 0x08 /* Private */,
22, 1, 323, 2, 0x08 /* Private */,
23, 1, 326, 2, 0x08 /* Private */,
24, 1, 329, 2, 0x08 /* Private */,
25, 1, 332, 2, 0x08 /* Private */,
26, 1, 335, 2, 0x08 /* Private */,
27, 1, 338, 2, 0x08 /* Private */,
28, 1, 341, 2, 0x08 /* Private */,
29, 1, 344, 2, 0x08 /* Private */,
30, 1, 347, 2, 0x08 /* Private */,
31, 1, 350, 2, 0x08 /* Private */,
32, 1, 353, 2, 0x08 /* Private */,
33, 1, 356, 2, 0x08 /* Private */,
34, 1, 359, 2, 0x08 /* Private */,
35, 1, 362, 2, 0x08 /* Private */,
36, 1, 365, 2, 0x08 /* Private */,
37, 1, 368, 2, 0x08 /* Private */,
38, 1, 371, 2, 0x08 /* Private */,
39, 0, 374, 2, 0x08 /* Private */,
40, 0, 375, 2, 0x08 /* Private */,
41, 0, 376, 2, 0x08 /* Private */,
42, 0, 377, 2, 0x08 /* Private */,
43, 1, 378, 2, 0x08 /* Private */,
45, 1, 381, 2, 0x08 /* Private */,
46, 0, 384, 2, 0x08 /* Private */,
47, 0, 385, 2, 0x08 /* Private */,
48, 0, 386, 2, 0x08 /* Private */,
49, 0, 387, 2, 0x08 /* Private */,
50, 0, 388, 2, 0x08 /* Private */,
51, 0, 389, 2, 0x08 /* Private */,
52, 1, 390, 2, 0x08 /* Private */,
53, 1, 393, 2, 0x08 /* Private */,
55, 1, 396, 2, 0x08 /* Private */,
56, 1, 399, 2, 0x08 /* Private */,
57, 1, 402, 2, 0x08 /* Private */,
58, 1, 405, 2, 0x08 /* Private */,
59, 1, 408, 2, 0x08 /* Private */,
60, 1, 411, 2, 0x08 /* Private */,
1, 0, 304, 2, 0x08 /* Private */,
3, 0, 305, 2, 0x08 /* Private */,
4, 0, 306, 2, 0x08 /* Private */,
5, 0, 307, 2, 0x08 /* Private */,
6, 0, 308, 2, 0x08 /* Private */,
7, 0, 309, 2, 0x08 /* Private */,
8, 0, 310, 2, 0x08 /* Private */,
9, 0, 311, 2, 0x08 /* Private */,
10, 0, 312, 2, 0x08 /* Private */,
11, 1, 313, 2, 0x08 /* Private */,
13, 0, 316, 2, 0x08 /* Private */,
14, 1, 317, 2, 0x08 /* Private */,
16, 1, 320, 2, 0x08 /* Private */,
17, 1, 323, 2, 0x08 /* Private */,
18, 1, 326, 2, 0x08 /* Private */,
19, 1, 329, 2, 0x08 /* Private */,
20, 1, 332, 2, 0x08 /* Private */,
21, 1, 335, 2, 0x08 /* Private */,
22, 1, 338, 2, 0x08 /* Private */,
23, 1, 341, 2, 0x08 /* Private */,
24, 1, 344, 2, 0x08 /* Private */,
25, 1, 347, 2, 0x08 /* Private */,
26, 1, 350, 2, 0x08 /* Private */,
27, 1, 353, 2, 0x08 /* Private */,
28, 1, 356, 2, 0x08 /* Private */,
29, 1, 359, 2, 0x08 /* Private */,
30, 1, 362, 2, 0x08 /* Private */,
31, 1, 365, 2, 0x08 /* Private */,
32, 1, 368, 2, 0x08 /* Private */,
33, 1, 371, 2, 0x08 /* Private */,
34, 1, 374, 2, 0x08 /* Private */,
35, 1, 377, 2, 0x08 /* Private */,
36, 1, 380, 2, 0x08 /* Private */,
37, 1, 383, 2, 0x08 /* Private */,
38, 1, 386, 2, 0x08 /* Private */,
39, 0, 389, 2, 0x08 /* Private */,
40, 0, 390, 2, 0x08 /* Private */,
41, 0, 391, 2, 0x08 /* Private */,
42, 0, 392, 2, 0x08 /* Private */,
43, 1, 393, 2, 0x08 /* Private */,
45, 1, 396, 2, 0x08 /* Private */,
46, 0, 399, 2, 0x08 /* Private */,
47, 0, 400, 2, 0x08 /* Private */,
48, 0, 401, 2, 0x08 /* Private */,
49, 0, 402, 2, 0x08 /* Private */,
50, 0, 403, 2, 0x08 /* Private */,
51, 0, 404, 2, 0x08 /* Private */,
52, 1, 405, 2, 0x08 /* Private */,
53, 1, 408, 2, 0x08 /* Private */,
55, 1, 411, 2, 0x08 /* Private */,
56, 1, 414, 2, 0x08 /* Private */,
57, 1, 417, 2, 0x08 /* Private */,
58, 1, 420, 2, 0x08 /* Private */,
59, 1, 423, 2, 0x08 /* Private */,
60, 1, 426, 2, 0x08 /* Private */,
61, 0, 429, 2, 0x08 /* Private */,
62, 0, 430, 2, 0x08 /* Private */,
63, 0, 431, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
@ -259,6 +268,9 @@ static const uint qt_meta_data_MainWindow[] = {
QMetaType::Void, QMetaType::Bool, 54,
QMetaType::Void, QMetaType::Bool, 54,
QMetaType::Void, QMetaType::Bool, 15,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
@ -324,6 +336,9 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
case 52: _t->on_action10FPS_toggled((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 53: _t->on_action5FPS_toggled((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 54: _t->on_actionAuto_Lock_toggled((*reinterpret_cast< bool(*)>(_a[1]))); break;
case 55: _t->on_actionSnap_to_Cursors_triggered(); break;
case 56: _t->on_actionEnter_Manually_triggered(); break;
case 57: _t->helloWorld(); break;
default: ;
}
}
@ -354,13 +369,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 55)
if (_id < 58)
qt_static_metacall(this, _c, _id, _a);
_id -= 55;
_id -= 58;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 55)
if (_id < 58)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 55;
_id -= 58;
}
return _id;
}

View File

@ -0,0 +1,182 @@
/****************************************************************************
** Meta object code from reading C++ file 'scoperangeenterdialog.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.7.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../scoperangeenterdialog.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'scoperangeenterdialog.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.7.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_scopeRangeEnterDialog_t {
QByteArrayData data[9];
char stringdata0[106];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_scopeRangeEnterDialog_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_scopeRangeEnterDialog_t qt_meta_stringdata_scopeRangeEnterDialog = {
{
QT_MOC_LITERAL(0, 0, 21), // "scopeRangeEnterDialog"
QT_MOC_LITERAL(1, 22, 11), // "yTopUpdated"
QT_MOC_LITERAL(2, 34, 0), // ""
QT_MOC_LITERAL(3, 35, 3), // "val"
QT_MOC_LITERAL(4, 39, 11), // "yBotUpdated"
QT_MOC_LITERAL(5, 51, 13), // "windowUpdated"
QT_MOC_LITERAL(6, 65, 12), // "toUpdateYTop"
QT_MOC_LITERAL(7, 78, 12), // "toUpdateYBot"
QT_MOC_LITERAL(8, 91, 14) // "toUpdateWindow"
},
"scopeRangeEnterDialog\0yTopUpdated\0\0"
"val\0yBotUpdated\0windowUpdated\0"
"toUpdateYTop\0toUpdateYBot\0toUpdateWindow"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_scopeRangeEnterDialog[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
3, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 44, 2, 0x06 /* Public */,
4, 1, 47, 2, 0x06 /* Public */,
5, 1, 50, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
6, 1, 53, 2, 0x08 /* Private */,
7, 1, 56, 2, 0x08 /* Private */,
8, 1, 59, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 3,
// slots: parameters
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 3,
0 // eod
};
void scopeRangeEnterDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
scopeRangeEnterDialog *_t = static_cast<scopeRangeEnterDialog *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->yTopUpdated((*reinterpret_cast< double(*)>(_a[1]))); break;
case 1: _t->yBotUpdated((*reinterpret_cast< double(*)>(_a[1]))); break;
case 2: _t->windowUpdated((*reinterpret_cast< double(*)>(_a[1]))); break;
case 3: _t->toUpdateYTop((*reinterpret_cast< double(*)>(_a[1]))); break;
case 4: _t->toUpdateYBot((*reinterpret_cast< double(*)>(_a[1]))); break;
case 5: _t->toUpdateWindow((*reinterpret_cast< double(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (scopeRangeEnterDialog::*_t)(double );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&scopeRangeEnterDialog::yTopUpdated)) {
*result = 0;
return;
}
}
{
typedef void (scopeRangeEnterDialog::*_t)(double );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&scopeRangeEnterDialog::yBotUpdated)) {
*result = 1;
return;
}
}
{
typedef void (scopeRangeEnterDialog::*_t)(double );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&scopeRangeEnterDialog::windowUpdated)) {
*result = 2;
return;
}
}
}
}
const QMetaObject scopeRangeEnterDialog::staticMetaObject = {
{ &QDialog::staticMetaObject, qt_meta_stringdata_scopeRangeEnterDialog.data,
qt_meta_data_scopeRangeEnterDialog, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *scopeRangeEnterDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *scopeRangeEnterDialog::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_scopeRangeEnterDialog.stringdata0))
return static_cast<void*>(const_cast< scopeRangeEnterDialog*>(this));
return QDialog::qt_metacast(_clname);
}
int scopeRangeEnterDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 6;
}
return _id;
}
// SIGNAL 0
void scopeRangeEnterDialog::yTopUpdated(double _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void scopeRangeEnterDialog::yBotUpdated(double _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void scopeRangeEnterDialog::windowUpdated(double _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,117 @@
/****************************************************************************
** Meta object code from reading C++ file 'voltagespinbox.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.7.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../voltagespinbox.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'voltagespinbox.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.7.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_voltageSpinBox_t {
QByteArrayData data[6];
char stringdata0[44];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_voltageSpinBox_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_voltageSpinBox_t qt_meta_stringdata_voltageSpinBox = {
{
QT_MOC_LITERAL(0, 0, 14), // "voltageSpinBox"
QT_MOC_LITERAL(1, 15, 6), // "setMax"
QT_MOC_LITERAL(2, 22, 0), // ""
QT_MOC_LITERAL(3, 23, 6), // "newMax"
QT_MOC_LITERAL(4, 30, 6), // "setMin"
QT_MOC_LITERAL(5, 37, 6) // "newMin"
},
"voltageSpinBox\0setMax\0\0newMax\0setMin\0"
"newMin"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_voltageSpinBox[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 24, 2, 0x0a /* Public */,
4, 1, 27, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Double, 3,
QMetaType::Void, QMetaType::Double, 5,
0 // eod
};
void voltageSpinBox::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
voltageSpinBox *_t = static_cast<voltageSpinBox *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->setMax((*reinterpret_cast< double(*)>(_a[1]))); break;
case 1: _t->setMin((*reinterpret_cast< double(*)>(_a[1]))); break;
default: ;
}
}
}
const QMetaObject voltageSpinBox::staticMetaObject = {
{ &QDoubleSpinBox::staticMetaObject, qt_meta_stringdata_voltageSpinBox.data,
qt_meta_data_voltageSpinBox, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *voltageSpinBox::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *voltageSpinBox::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_voltageSpinBox.stringdata0))
return static_cast<void*>(const_cast< voltageSpinBox*>(this));
return QDoubleSpinBox::qt_metacast(_clname);
}
int voltageSpinBox::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDoubleSpinBox::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_END_MOC_NAMESPACE

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,37 @@
#include "scoperangeenterdialog.h"
#include "ui_scoperangeenterdialog.h"
scopeRangeEnterDialog::scopeRangeEnterDialog(QWidget *parent, double yTop, double yBot, double window, double delay) :
QDialog(parent),
ui(new Ui::scopeRangeEnterDialog)
{
ui->setupUi(this);
ui->vMaxBox->setMinimum(yBot);
ui->vMinBox->setMaximum(yTop);
ui->vMaxBox->setValue(yTop);
ui->vMinBox->setValue(yBot);
ui->timeWindowBox->setValue(window);
}
scopeRangeEnterDialog::~scopeRangeEnterDialog()
{
delete ui;
}
void scopeRangeEnterDialog::toUpdateYTop(double val){
qDebug() << val;
yTopUpdated(val);
}
void scopeRangeEnterDialog::toUpdateYBot(double val){
qDebug() << val;
yBotUpdated(val);
}
void scopeRangeEnterDialog::toUpdateWindow(double val){
qDebug() << val;
windowUpdated(val);
}

View File

@ -0,0 +1,32 @@
#ifndef SCOPERANGEENTERDIALOG_H
#define SCOPERANGEENTERDIALOG_H
#include <QDialog>
#include <QDebug>
namespace Ui {
class scopeRangeEnterDialog;
}
class scopeRangeEnterDialog : public QDialog
{
Q_OBJECT
public:
explicit scopeRangeEnterDialog(QWidget *parent = 0, double yTop = 20, double yBot = -20, double window = -10, double delay = 0);
~scopeRangeEnterDialog();
private:
Ui::scopeRangeEnterDialog *ui;
signals:
void yTopUpdated(double val);
void yBotUpdated(double val);
void windowUpdated(double val);
private slots:
void toUpdateYTop(double val);
void toUpdateYBot(double val);
void toUpdateWindow(double val);
};
#endif // SCOPERANGEENTERDIALOG_H

View File

@ -0,0 +1,222 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>scopeRangeEnterDialog</class>
<widget class="QDialog" name="scopeRangeEnterDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>187</width>
<height>147</height>
</rect>
</property>
<property name="windowTitle">
<string>Enter Scope Range</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="voltageSpinBox" name="vMaxBox">
<property name="minimum">
<double>20.000000000000000</double>
</property>
<property name="maximum">
<double>20.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label">
<property name="text">
<string>Vmax</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="voltageSpinBox" name="vMinBox">
<property name="minimum">
<double>-20.000000000000000</double>
</property>
<property name="maximum">
<double>-20.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Vmin</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="voltageSpinBox" name="timeWindowBox">
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>0.000001000000000</double>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Time Window</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>voltageSpinBox</class>
<extends>QDoubleSpinBox</extends>
<header location="global">voltagespinbox.h</header>
<slots>
<slot>setMin(double)</slot>
<slot>setMax(double)</slot>
</slots>
</customwidget>
</customwidgets>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>scopeRangeEnterDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>176</x>
<y>136</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>scopeRangeEnterDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>176</x>
<y>136</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>vMaxBox</sender>
<signal>valueChanged(double)</signal>
<receiver>scopeRangeEnterDialog</receiver>
<slot>toUpdateYTop(double)</slot>
<hints>
<hint type="sourcelabel">
<x>63</x>
<y>30</y>
</hint>
<hint type="destinationlabel">
<x>56</x>
<y>21</y>
</hint>
</hints>
</connection>
<connection>
<sender>vMinBox</sender>
<signal>valueChanged(double)</signal>
<receiver>scopeRangeEnterDialog</receiver>
<slot>toUpdateYBot(double)</slot>
<hints>
<hint type="sourcelabel">
<x>67</x>
<y>56</y>
</hint>
<hint type="destinationlabel">
<x>254</x>
<y>90</y>
</hint>
</hints>
</connection>
<connection>
<sender>vMaxBox</sender>
<signal>valueChanged(double)</signal>
<receiver>vMinBox</receiver>
<slot>setMax(double)</slot>
<hints>
<hint type="sourcelabel">
<x>63</x>
<y>30</y>
</hint>
<hint type="destinationlabel">
<x>67</x>
<y>56</y>
</hint>
</hints>
</connection>
<connection>
<sender>vMinBox</sender>
<signal>valueChanged(double)</signal>
<receiver>vMaxBox</receiver>
<slot>setMin(double)</slot>
<hints>
<hint type="sourcelabel">
<x>67</x>
<y>56</y>
</hint>
<hint type="destinationlabel">
<x>63</x>
<y>30</y>
</hint>
</hints>
</connection>
<connection>
<sender>timeWindowBox</sender>
<signal>valueChanged(double)</signal>
<receiver>scopeRangeEnterDialog</receiver>
<slot>toUpdateWindow(double)</slot>
<hints>
<hint type="sourcelabel">
<x>37</x>
<y>74</y>
</hint>
<hint type="destinationlabel">
<x>15</x>
<y>99</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>toUpdateYTop(double)</slot>
<slot>toUpdateYBot(double)</slot>
<slot>toUpdateWindow(double)</slot>
</slots>
</ui>

View File

@ -113,6 +113,8 @@ public:
QAction *action10FPS;
QAction *action5FPS;
QAction *actionAuto_Lock;
QAction *actionSnap_to_Cursors;
QAction *actionEnter_Manually;
QWidget *centralWidget;
QHBoxLayout *horizontalLayout;
QVBoxLayout *verticalLayout;
@ -243,6 +245,7 @@ public:
noCloseMenu *menuCH1_Stats;
noCloseMenu *menuCH2_Stats;
QMenu *menuFrame_rate;
QMenu *menuRange;
QMenu *menuMultimeter_2;
QMenu *menuV_2;
QMenu *menuI_2;
@ -462,6 +465,10 @@ public:
actionAuto_Lock->setObjectName(QStringLiteral("actionAuto_Lock"));
actionAuto_Lock->setCheckable(true);
actionAuto_Lock->setChecked(true);
actionSnap_to_Cursors = new QAction(MainWindow);
actionSnap_to_Cursors->setObjectName(QStringLiteral("actionSnap_to_Cursors"));
actionEnter_Manually = new QAction(MainWindow);
actionEnter_Manually->setObjectName(QStringLiteral("actionEnter_Manually"));
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
horizontalLayout = new QHBoxLayout(centralWidget);
@ -927,9 +934,10 @@ public:
frequencyValue_CH1 = new espoSpinBox(signalGenGroup_CH1);
frequencyValue_CH1->setObjectName(QStringLiteral("frequencyValue_CH1"));
frequencyValue_CH1->setSuffix(QStringLiteral("Hz"));
frequencyValue_CH1->setDecimals(4);
frequencyValue_CH1->setMinimum(0.2);
frequencyValue_CH1->setDecimals(2);
frequencyValue_CH1->setMinimum(0);
frequencyValue_CH1->setMaximum(1e+6);
frequencyValue_CH1->setSingleStep(100);
frequencyValue_CH1->setValue(1000);
verticalLayout_19->addWidget(frequencyValue_CH1);
@ -994,6 +1002,7 @@ public:
frequencyValue_CH2->setSuffix(QStringLiteral("Hz"));
frequencyValue_CH2->setDecimals(2);
frequencyValue_CH2->setMaximum(1e+6);
frequencyValue_CH2->setSingleStep(100);
frequencyValue_CH2->setValue(1000);
verticalLayout_21->addWidget(frequencyValue_CH2);
@ -1233,6 +1242,8 @@ public:
menuCH2_Stats->setObjectName(QStringLiteral("menuCH2_Stats"));
menuFrame_rate = new QMenu(menuOscilloscope_2);
menuFrame_rate->setObjectName(QStringLiteral("menuFrame_rate"));
menuRange = new QMenu(menuOscilloscope_2);
menuRange->setObjectName(QStringLiteral("menuRange"));
menuMultimeter_2 = new QMenu(menuBar);
menuMultimeter_2->setObjectName(QStringLiteral("menuMultimeter_2"));
menuV_2 = new QMenu(menuMultimeter_2);
@ -1269,6 +1280,8 @@ public:
menuBar->addAction(menuBus_Sniffer->menuAction());
menuBar->addAction(menuPower_Supply->menuAction());
menuFile->addAction(actionComing_Soon);
menuOscilloscope_2->addAction(menuRange->menuAction());
menuOscilloscope_2->addSeparator();
menuOscilloscope_2->addAction(menuFrame_rate->menuAction());
menuOscilloscope_2->addSeparator();
menuOscilloscope_2->addAction(menuGain_2->menuAction());
@ -1303,6 +1316,8 @@ public:
menuFrame_rate->addAction(action15FPS);
menuFrame_rate->addAction(action10FPS);
menuFrame_rate->addAction(action5FPS);
menuRange->addAction(actionSnap_to_Cursors);
menuRange->addAction(actionEnter_Manually);
menuMultimeter_2->addSeparator();
menuMultimeter_2->addAction(menuV_2->menuAction());
menuMultimeter_2->addAction(menuI_2->menuAction());
@ -1372,11 +1387,8 @@ public:
QObject::connect(dcOffsetValue_CH2, SIGNAL(valueChanged(double)), amplitudeValue_CH2, SLOT(maximumChanged(double)));
QObject::connect(waveformSelect_CH1, SIGNAL(currentTextChanged(QString)), controller_fg, SLOT(waveformName_CH1(QString)));
QObject::connect(waveformSelect_CH2, SIGNAL(currentTextChanged(QString)), controller_fg, SLOT(waveformName_CH2(QString)));
QObject::connect(frequencyValue_CH1, SIGNAL(valueChanged(double)), controller_fg, SLOT(freqUpdate_CH1(double)));
QObject::connect(amplitudeValue_CH1, SIGNAL(valueChanged(double)), controller_fg, SLOT(amplitudeUpdate_CH1(double)));
QObject::connect(dcOffsetValue_CH1, SIGNAL(valueChanged(double)), controller_fg, SLOT(offsetUpdate_CH1(double)));
QObject::connect(controller_fg, SIGNAL(setMaxFreq_CH1(double)), frequencyValue_CH1, SLOT(setMax(double)));
QObject::connect(controller_fg, SIGNAL(setMinFreq_CH1(double)), frequencyValue_CH1, SLOT(setMin(double)));
QObject::connect(bufferDisplay, SIGNAL(busSnifferOut_CH1(bool)), busSifferGroup_CH1, SLOT(setEnabled(bool)));
QObject::connect(bufferDisplay, SIGNAL(busSnifferOut_CH2(bool)), busSnifferGroup_CH2, SLOT(setEnabled(bool)));
QObject::connect(busSifferGroup_CH1, SIGNAL(toggled(bool)), bufferDisplay, SLOT(busSnifferIn_CH1(bool)));
@ -1385,9 +1397,6 @@ public:
QObject::connect(digitalOutCheckbox_CH2, SIGNAL(toggled(bool)), bufferDisplay, SLOT(digIn_CH2(bool)));
QObject::connect(digitalOutCheckbox_CH3, SIGNAL(toggled(bool)), bufferDisplay, SLOT(digIn_CH3(bool)));
QObject::connect(digitalOutCheckbox_CH4, SIGNAL(toggled(bool)), bufferDisplay, SLOT(digIn_CH4(bool)));
QObject::connect(controller_fg, SIGNAL(setMaxFreq_CH2(double)), frequencyValue_CH2, SLOT(setMax(double)));
QObject::connect(controller_fg, SIGNAL(setMinFreq_CH2(double)), frequencyValue_CH2, SLOT(setMin(double)));
QObject::connect(frequencyValue_CH2, SIGNAL(valueChanged(double)), controller_fg, SLOT(freqUpdate_CH2(double)));
QObject::connect(amplitudeValue_CH2, SIGNAL(valueChanged(double)), controller_fg, SLOT(amplitudeUpdate_CH2(double)));
QObject::connect(dcOffsetValue_CH2, SIGNAL(valueChanged(double)), controller_fg, SLOT(offsetUpdate_CH2(double)));
QObject::connect(timeBaseSlider, SIGNAL(valueChanged(int)), controller_iso, SLOT(setWindow(int)));
@ -1460,6 +1469,14 @@ public:
QObject::connect(psuSlider, SIGNAL(sliderMoved(int)), lockPsuCheckBox, SLOT(resetTimer()));
QObject::connect(pause_LA, SIGNAL(toggled(bool)), pausedLabeL_CH1, SLOT(setChecked(bool)));
QObject::connect(pausedLabeL_CH1, SIGNAL(toggled(bool)), pause_LA, SLOT(setChecked(bool)));
QObject::connect(controller_fg, SIGNAL(setMaxFreq_CH2(double)), frequencyValue_CH2, SLOT(setMax(double)));
QObject::connect(controller_fg, SIGNAL(setMinFreq_CH2(double)), frequencyValue_CH2, SLOT(setMin(double)));
QObject::connect(frequencyValue_CH2, SIGNAL(valueChanged(double)), controller_fg, SLOT(freqUpdate_CH2(double)));
QObject::connect(frequencyValue_CH1, SIGNAL(valueChanged(double)), controller_fg, SLOT(freqUpdate_CH1(double)));
QObject::connect(controller_fg, SIGNAL(setMaxFreq_CH1(double)), frequencyValue_CH1, SLOT(setMax(double)));
QObject::connect(controller_fg, SIGNAL(setMinFreq_CH1(double)), frequencyValue_CH1, SLOT(setMin(double)));
QObject::connect(frequencyValue_CH1, SIGNAL(valueChanged(double)), frequencyValue_CH1, SLOT(changeStepping(double)));
QObject::connect(frequencyValue_CH2, SIGNAL(valueChanged(double)), frequencyValue_CH2, SLOT(changeStepping(double)));
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
@ -1530,6 +1547,8 @@ public:
action10FPS->setText(QApplication::translate("MainWindow", "10FPS", 0));
action5FPS->setText(QApplication::translate("MainWindow", "5FPS", 0));
actionAuto_Lock->setText(QApplication::translate("MainWindow", "Auto Lock", 0));
actionSnap_to_Cursors->setText(QApplication::translate("MainWindow", "Snap to Cursors", 0));
actionEnter_Manually->setText(QApplication::translate("MainWindow", "Enter Manually", 0));
deviceConnected->setText(QApplication::translate("MainWindow", "Device disconnected!", 0));
scopeGroup_CH1->setTitle(QApplication::translate("MainWindow", "Oscilloscope CH1", 0));
pausedLabeL_CH1->setText(QApplication::translate("MainWindow", "Paused", 0));
@ -1628,6 +1647,7 @@ public:
menuCH1_Stats->setTitle(QApplication::translate("MainWindow", "CH1 Stats", 0));
menuCH2_Stats->setTitle(QApplication::translate("MainWindow", "CH2 Stats", 0));
menuFrame_rate->setTitle(QApplication::translate("MainWindow", "Frame rate", 0));
menuRange->setTitle(QApplication::translate("MainWindow", "Range", 0));
menuMultimeter_2->setTitle(QApplication::translate("MainWindow", "Multimeter", 0));
menuV_2->setTitle(QApplication::translate("MainWindow", "Range (V)", 0));
menuI_2->setTitle(QApplication::translate("MainWindow", "Range (I)", 0));

View File

@ -0,0 +1,130 @@
/********************************************************************************
** Form generated from reading UI file 'scoperangeenterdialog.ui'
**
** Created by: Qt User Interface Compiler version 5.7.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_SCOPERANGEENTERDIALOG_H
#define UI_SCOPERANGEENTERDIALOG_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QDialog>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QFormLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QVBoxLayout>
#include <voltagespinbox.h>
QT_BEGIN_NAMESPACE
class Ui_scopeRangeEnterDialog
{
public:
QVBoxLayout *verticalLayout_2;
QVBoxLayout *verticalLayout;
QFormLayout *formLayout;
voltageSpinBox *vMaxBox;
QLabel *label;
voltageSpinBox *vMinBox;
QLabel *label_2;
voltageSpinBox *timeWindowBox;
QLabel *label_3;
QDialogButtonBox *buttonBox;
void setupUi(QDialog *scopeRangeEnterDialog)
{
if (scopeRangeEnterDialog->objectName().isEmpty())
scopeRangeEnterDialog->setObjectName(QStringLiteral("scopeRangeEnterDialog"));
scopeRangeEnterDialog->resize(187, 147);
verticalLayout_2 = new QVBoxLayout(scopeRangeEnterDialog);
verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2"));
verticalLayout = new QVBoxLayout();
verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
formLayout = new QFormLayout();
formLayout->setObjectName(QStringLiteral("formLayout"));
vMaxBox = new voltageSpinBox(scopeRangeEnterDialog);
vMaxBox->setObjectName(QStringLiteral("vMaxBox"));
vMaxBox->setMinimum(20);
vMaxBox->setMaximum(20);
formLayout->setWidget(0, QFormLayout::LabelRole, vMaxBox);
label = new QLabel(scopeRangeEnterDialog);
label->setObjectName(QStringLiteral("label"));
formLayout->setWidget(0, QFormLayout::FieldRole, label);
vMinBox = new voltageSpinBox(scopeRangeEnterDialog);
vMinBox->setObjectName(QStringLiteral("vMinBox"));
vMinBox->setMinimum(-20);
vMinBox->setMaximum(-20);
formLayout->setWidget(1, QFormLayout::LabelRole, vMinBox);
label_2 = new QLabel(scopeRangeEnterDialog);
label_2->setObjectName(QStringLiteral("label_2"));
formLayout->setWidget(1, QFormLayout::FieldRole, label_2);
timeWindowBox = new voltageSpinBox(scopeRangeEnterDialog);
timeWindowBox->setObjectName(QStringLiteral("timeWindowBox"));
timeWindowBox->setDecimals(6);
timeWindowBox->setMinimum(1e-6);
timeWindowBox->setMaximum(10);
formLayout->setWidget(2, QFormLayout::LabelRole, timeWindowBox);
label_3 = new QLabel(scopeRangeEnterDialog);
label_3->setObjectName(QStringLiteral("label_3"));
formLayout->setWidget(2, QFormLayout::FieldRole, label_3);
verticalLayout->addLayout(formLayout);
buttonBox = new QDialogButtonBox(scopeRangeEnterDialog);
buttonBox->setObjectName(QStringLiteral("buttonBox"));
buttonBox->setOrientation(Qt::Horizontal);
buttonBox->setStandardButtons(QDialogButtonBox::Ok);
verticalLayout->addWidget(buttonBox);
verticalLayout_2->addLayout(verticalLayout);
retranslateUi(scopeRangeEnterDialog);
QObject::connect(buttonBox, SIGNAL(accepted()), scopeRangeEnterDialog, SLOT(accept()));
QObject::connect(buttonBox, SIGNAL(rejected()), scopeRangeEnterDialog, SLOT(reject()));
QObject::connect(vMaxBox, SIGNAL(valueChanged(double)), scopeRangeEnterDialog, SLOT(toUpdateYTop(double)));
QObject::connect(vMinBox, SIGNAL(valueChanged(double)), scopeRangeEnterDialog, SLOT(toUpdateYBot(double)));
QObject::connect(vMaxBox, SIGNAL(valueChanged(double)), vMinBox, SLOT(setMax(double)));
QObject::connect(vMinBox, SIGNAL(valueChanged(double)), vMaxBox, SLOT(setMin(double)));
QObject::connect(timeWindowBox, SIGNAL(valueChanged(double)), scopeRangeEnterDialog, SLOT(toUpdateWindow(double)));
QMetaObject::connectSlotsByName(scopeRangeEnterDialog);
} // setupUi
void retranslateUi(QDialog *scopeRangeEnterDialog)
{
scopeRangeEnterDialog->setWindowTitle(QApplication::translate("scopeRangeEnterDialog", "Enter Scope Range", 0));
label->setText(QApplication::translate("scopeRangeEnterDialog", "Vmax", 0));
label_2->setText(QApplication::translate("scopeRangeEnterDialog", "Vmin", 0));
label_3->setText(QApplication::translate("scopeRangeEnterDialog", "Time Window", 0));
} // retranslateUi
};
namespace Ui {
class scopeRangeEnterDialog: public Ui_scopeRangeEnterDialog {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_SCOPERANGEENTERDIALOG_H

View File

@ -0,0 +1,14 @@
#include "voltagespinbox.h"
voltageSpinBox::voltageSpinBox(QWidget *parent) : QDoubleSpinBox(parent)
{
}
void voltageSpinBox::setMax(double newMax){
this->setMaximum(newMax);
}
void voltageSpinBox::setMin(double newMin){
this->setMinimum(newMin);
}

View File

@ -0,0 +1,20 @@
#ifndef VOLTAGESPINBOX_H
#define VOLTAGESPINBOX_H
#include <QWidget>
#include <QSpinBox>
class voltageSpinBox : public QDoubleSpinBox
{
Q_OBJECT
public:
explicit voltageSpinBox(QWidget *parent = 0);
bool min = false;
signals:
public slots:
void setMax(double newMax);
void setMin(double newMin);
};
#endif // VOLTAGESPINBOX_H