From ff480fb5930a28d56b2d13b5913f4c338ab52306 Mon Sep 17 00:00:00 2001
From: Theophile Terraz <theophile.terraz@inrae.fr>
Date: Mon, 4 Dec 2023 09:14:35 +0100
Subject: [PATCH] add first and last button (visu)

---
 src/View/Results/Window.py | 18 ++++++++++++++++++
 src/View/ui/Results.ui     | 22 ++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index a5114ba9..75682ed5 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -132,6 +132,8 @@ class ResultsWindow(PamhyrWindow):
         self._button_play.setIcon(self._icon_start)
         self._button_back = self.find(QPushButton, f"backButton")
         self._button_next = self.find(QPushButton, f"nextButton")
+        self._button_first = self.find(QPushButton, f"firstButton")
+        self._button_last = self.find(QPushButton, f"lastButton")
         self._timer = QTimer(self)
 
     def setup_plot(self):
@@ -324,6 +326,8 @@ class ResultsWindow(PamhyrWindow):
         self._button_play.clicked.connect(self._pause)
         self._button_back.clicked.connect(self._back)
         self._button_next.clicked.connect(self._next)
+        self._button_first.clicked.connect(self._first)
+        self._button_last.clicked.connect(self._last)
         self._timer.timeout.connect(self._update_slider)
 
     def update_table_selection_reach(self, ind):
@@ -554,10 +558,24 @@ class ResultsWindow(PamhyrWindow):
     def _back(self):
         self._slider_time.setValue(self._slider_time.value()-1)
 
+    def _first(self):
+        self._slider_time.setValue(self._slider_time.minimum())
+
+    def _last(self):
+        self._slider_time.setValue(self._slider_time.maximum())
+
     def _pause(self):
         if self._button_play.isChecked():
+            self._button_next.setEnabled(False)
+            self._button_back.setEnabled(False)
+            self._button_first.setEnabled(False)
+            self._button_last.setEnabled(False)
             self._timer.start(100)
             self._button_play.setIcon(self._icon_pause)
         else:
             self._timer.stop()
+            self._button_next.setEnabled(True)
+            self._button_back.setEnabled(True)
+            self._button_first.setEnabled(True)
+            self._button_last.setEnabled(True)
             self._button_play.setIcon(self._icon_start)
diff --git a/src/View/ui/Results.ui b/src/View/ui/Results.ui
index 54666dd9..494ee7e9 100644
--- a/src/View/ui/Results.ui
+++ b/src/View/ui/Results.ui
@@ -122,6 +122,17 @@
         </item>
         <item row="1" column="0">
          <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <widget class="QPushButton" name="firstButton">
+            <property name="text">
+             <string/>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>ressources/media-skip-backward.png</normaloff>ressources/media-skip-backward.png</iconset>
+            </property>
+           </widget>
+          </item>
           <item>
            <widget class="QPushButton" name="backButton">
             <property name="text">
@@ -174,6 +185,17 @@
             </property>
            </widget>
           </item>
+          <item>
+           <widget class="QPushButton" name="lastButton">
+            <property name="text">
+             <string/>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>ressources/media-skip-forward.png</normaloff>ressources/media-skip-forward.png</iconset>
+            </property>
+           </widget>
+          </item>
           <item>
            <widget class="QSlider" name="horizontalSlider_time">
             <property name="orientation">
-- 
GitLab