forked from tiendan/OpenGazer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GazeTrackerGtk.cpp
70 lines (61 loc) · 2.2 KB
/
GazeTrackerGtk.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
#include "GazeTrackerGtk.h"
#include "Application.h"
GazeTrackerGtk::GazeTrackerGtk(int argc, char **argv):
_picture(argc, argv),
_vbox(false, 0),
_buttonBar(true, 0),
_calibrateButton("Calibrate"),
_loadButton("Load points"),
_saveButton("Save points"),
_chooseButton("Choose points"),
_pauseButton("Pause"),
_clearButton("Clear points"),
_testButton("Test")
{
try {
set_title("opengazer 0.1.1");
move(0, 0);
// Construct view
add(_vbox);
_vbox.pack_start(_buttonBar, false, true, 0);
_vbox.pack_start(_picture);
_buttonBar.pack_start(_chooseButton);
_buttonBar.pack_start(_clearButton);
_buttonBar.pack_start(_calibrateButton);
_buttonBar.pack_start(_testButton);
_buttonBar.pack_start(_pauseButton);
_buttonBar.pack_start(_saveButton);
_buttonBar.pack_start(_loadButton);
// Connect buttons
_calibrateButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::startCalibration));
_testButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::startTesting));
_saveButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::savePoints));
_loadButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::loadPoints));
_chooseButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::choosePoints));
_pauseButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::pauseOrRepositionHead));
_pauseButton.signal_clicked().connect(sigc::mem_fun(this, &GazeTrackerGtk::changePauseButtonText));
_clearButton.signal_clicked().connect(sigc::mem_fun(&_picture.gazeTracker, &MainGazeTracker::clearPoints));
// Display view
_vbox.show();
_buttonBar.show();
_picture.show();
_calibrateButton.show();
//_saveButton.show();
//_loadButton.show();
_chooseButton.show();
_pauseButton.show();
_clearButton.show();
_testButton.show();
}
catch (Utils::QuitNow) {
std::cout << "Caught it!\n";
}
}
GazeTrackerGtk::~GazeTrackerGtk() {}
void GazeTrackerGtk::changePauseButtonText() {
if(_pauseButton.get_label() == "Pause") {
_pauseButton.set_label("Unpause");
} else {
_pauseButton.set_label("Pause");
}
}