-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStereoOptionsDialog.cpp
74 lines (61 loc) · 1.98 KB
/
StereoOptionsDialog.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "StereoOptionsDialog.h"
#include "ui_StereoOptionsDialog.h"
StereoOptionsDialog::StereoOptionsDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::StereoOptionsDialog)
{
ui->setupUi(this);
// Cause changes to dialog input to emit signals
connect(ui->ioDistanceSpinBox, SIGNAL(valueChanged(double)), this,
SIGNAL(IODistanceChanged(double)));
connect(ui->screenWidthSpinBox, SIGNAL(valueChanged(double)), this,
SIGNAL(screenWidthChanged(double)));
connect(ui->focusDistanceSpinBox, SIGNAL(valueChanged(double)), this,
SIGNAL(focusDistanceChanged(double)));
connect(ui->swapCheckBox, SIGNAL(toggled(bool)), this,
SIGNAL(swapLeftRightChanged(bool)));
connect(ui->stereoModeCombo, SIGNAL(currentIndexChanged(int)), this,
SLOT(updateStereoMode(int)));
}
StereoOptionsDialog::~StereoOptionsDialog()
{
delete ui;
}
void StereoOptionsDialog::addStereoMode(const QString &name,
Viewer::StereoMode mode)
{
ui->stereoModeCombo->addItem(name, mode);
}
void StereoOptionsDialog::setIODistance(double d)
{
if(ui->ioDistanceSpinBox->value() != d)
ui->ioDistanceSpinBox->setValue(d);
}
void StereoOptionsDialog::setScreenWidth(double d)
{
if(ui->screenWidthSpinBox->value() != d)
ui->screenWidthSpinBox->setValue(d);
}
void StereoOptionsDialog::setFocusDistance(double d)
{
if(ui->screenWidthSpinBox->value() != d)
ui->focusDistanceSpinBox->setValue(d);
}
void StereoOptionsDialog::setSwapLeftRight(bool checked)
{
ui->swapCheckBox->setChecked(checked);
}
void StereoOptionsDialog::setStereoMode(Viewer::StereoMode mode)
{
int index = ui->stereoModeCombo->findData(mode);
if(ui->stereoModeCombo->currentIndex() != index)
{
ui->stereoModeCombo->setCurrentIndex(index);
emit stereoModeChanged(mode);
}
}
void StereoOptionsDialog::updateStereoMode(int index)
{
int mode = ui->stereoModeCombo->itemData(index).toInt();
emit stereoModeChanged((Viewer::StereoMode)mode);
}