diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index d2f587af..a5114ba9 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -24,13 +24,13 @@ from tools import trace, timer
from View.Tools.PamhyrWindow import PamhyrWindow
from PyQt5.QtGui import (
- QKeySequence,
+ QKeySequence, QIcon, QPixmap,
)
from PyQt5.QtCore import (
Qt, QVariant, QAbstractTableModel,
QCoreApplication, QModelIndex, pyqtSlot,
- QItemSelectionModel,
+ QItemSelectionModel, QTimer,
)
from PyQt5.QtWidgets import (
@@ -124,6 +124,16 @@ class ResultsWindow(PamhyrWindow):
self._slider_time.setMaximum(len(self._timestamps) - 1)
self._slider_time.setValue(len(self._timestamps) - 1)
+ self._icon_start = QIcon()
+ self._icon_start.addPixmap(QPixmap('./src/View/ui/ressources/media-playback-start.png'))
+ self._icon_pause = QIcon()
+ self._icon_pause.addPixmap(QPixmap('./src/View/ui/ressources/media-playback-pause.png'))
+ self._button_play = self.find(QPushButton, f"playButton")
+ self._button_play.setIcon(self._icon_start)
+ self._button_back = self.find(QPushButton, f"backButton")
+ self._button_next = self.find(QPushButton, f"nextButton")
+ self._timer = QTimer(self)
+
def setup_plot(self):
self.canvas = MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas")
@@ -310,6 +320,11 @@ class ResultsWindow(PamhyrWindow):
self._slider_profile.valueChanged.connect(
self._set_current_profile_slider)
self._slider_time.valueChanged.connect(self._set_current_timestamp)
+ self._button_play.setChecked(False)
+ self._button_play.clicked.connect(self._pause)
+ self._button_back.clicked.connect(self._back)
+ self._button_next.clicked.connect(self._next)
+ self._timer.timeout.connect(self._update_slider)
def update_table_selection_reach(self, ind):
table = self.find(QTableView, f"tableView_reach")
@@ -525,3 +540,24 @@ class ResultsWindow(PamhyrWindow):
def _redo(self):
self._table.redo()
+
+ # play / pause buttons
+ def _update_slider(self):
+ if self._slider_time.value() == self._slider_time.maximum():
+ self._slider_time.setValue(self._slider_time.minimum())
+ else:
+ self._slider_time.setValue(self._slider_time.value()+1)
+
+ def _next(self):
+ self._slider_time.setValue(self._slider_time.value()+1)
+
+ def _back(self):
+ self._slider_time.setValue(self._slider_time.value()-1)
+
+ def _pause(self):
+ if self._button_play.isChecked():
+ self._timer.start(100)
+ self._button_play.setIcon(self._icon_pause)
+ else:
+ self._timer.stop()
+ self._button_play.setIcon(self._icon_start)
diff --git a/src/View/ui/Results.ui b/src/View/ui/Results.ui
index bb8aaae6..54666dd9 100644
--- a/src/View/ui/Results.ui
+++ b/src/View/ui/Results.ui
@@ -7,7 +7,7 @@
0
0
942
- 655
+ 740
@@ -43,25 +43,29 @@
-
-
-
- Qt::Vertical
-
-
-
- Qt::Horizontal
-
-
-
+
+
-
+
+
+ Qt::Vertical
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
@@ -117,11 +121,67 @@
-
-
-
- Qt::Horizontal
-
-
+
+
-
+
+
+
+
+
+
+ ressources/media-seek-backward.pngressources/media-seek-backward.png
+
+
+
+ -
+
+
+ true
+
+
+ true
+
+
+ Qt::DefaultContextMenu
+
+
+ true
+
+
+
+
+
+
+ ressources/media-playback-start.png
+ ressources/media-playback-pause.pngressources/media-playback-start.png
+
+
+ true
+
+
+ true
+
+
+
+ -
+
+
+
+
+
+
+ ressources/media-seek-forward.pngressources/media-seek-forward.png
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+
diff --git a/src/View/ui/ressources/media-playback-pause.png b/src/View/ui/ressources/media-playback-pause.png
new file mode 100644
index 00000000..d1d8541d
Binary files /dev/null and b/src/View/ui/ressources/media-playback-pause.png differ
diff --git a/src/View/ui/ressources/media-playback-start.png b/src/View/ui/ressources/media-playback-start.png
new file mode 100644
index 00000000..4b696d8e
Binary files /dev/null and b/src/View/ui/ressources/media-playback-start.png differ
diff --git a/src/View/ui/ressources/media-seek-backward.png b/src/View/ui/ressources/media-seek-backward.png
new file mode 100644
index 00000000..05bff6fc
Binary files /dev/null and b/src/View/ui/ressources/media-seek-backward.png differ
diff --git a/src/View/ui/ressources/media-seek-forward.png b/src/View/ui/ressources/media-seek-forward.png
new file mode 100644
index 00000000..9610f752
Binary files /dev/null and b/src/View/ui/ressources/media-seek-forward.png differ
diff --git a/src/View/ui/ressources/media-skip-backward.png b/src/View/ui/ressources/media-skip-backward.png
new file mode 100644
index 00000000..8f9480c7
Binary files /dev/null and b/src/View/ui/ressources/media-skip-backward.png differ
diff --git a/src/View/ui/ressources/media-skip-forward.png b/src/View/ui/ressources/media-skip-forward.png
new file mode 100644
index 00000000..c2ab904e
Binary files /dev/null and b/src/View/ui/ressources/media-skip-forward.png differ