summaryrefslogtreecommitdiff
path: root/silx/gui/plot/ImageStack.py
diff options
context:
space:
mode:
Diffstat (limited to 'silx/gui/plot/ImageStack.py')
-rw-r--r--silx/gui/plot/ImageStack.py25
1 files changed, 21 insertions, 4 deletions
diff --git a/silx/gui/plot/ImageStack.py b/silx/gui/plot/ImageStack.py
index c620d6d..3b652ca 100644
--- a/silx/gui/plot/ImageStack.py
+++ b/silx/gui/plot/ImageStack.py
@@ -150,7 +150,10 @@ class UrlList(qt.QWidget):
self._listWidget.addItems(url_names)
def _notifyCurrentUrlChanged(self, current, previous):
- self.sigCurrentUrlChanged.emit(current.text())
+ if current is None:
+ pass
+ else:
+ self.sigCurrentUrlChanged.emit(current.text())
def setUrl(self, url: DataUrl) -> None:
assert isinstance(url, DataUrl)
@@ -163,6 +166,9 @@ class UrlList(qt.QWidget):
self._listWidget.setCurrentItem(item)
self.sigCurrentUrlChanged.emit(item.text())
+ def clear(self):
+ self._listWidget.clear()
+
class _ToggleableUrlSelectionTable(qt.QWidget):
@@ -214,6 +220,9 @@ class _ToggleableUrlSelectionTable(qt.QWidget):
def _propagateSignal(self, url):
self.sigCurrentUrlChanged.emit(url)
+ def clear(self):
+ self._urlsTable.clear()
+
class UrlLoader(qt.QThread):
"""
@@ -326,6 +335,8 @@ class ImageStack(qt.QMainWindow):
self._urlData = OrderedDict({})
self._current_url = None
self._plot.clear()
+ self._urlsTable.clear()
+ self._slider.setMaximum(-1)
def _preFetch(self, urls: list) -> None:
"""Pre-fetch the given urls if necessary
@@ -414,14 +425,16 @@ class ImageStack(qt.QMainWindow):
self._urlsTable.blockSignals(old_url_table)
old_slider = self._slider.blockSignals(True)
+ self._slider.setMinimum(0)
self._slider.setMaximum(len(self._urls) - 1)
self._slider.blockSignals(old_slider)
if self.getCurrentUrl() in self._urls:
self.setCurrentUrl(self.getCurrentUrl())
else:
- first_url = self._urls[list(self._urls.keys())[0]]
- self.setCurrentUrl(first_url)
+ if len(self._urls.keys()) > 0:
+ first_url = self._urls[list(self._urls.keys())[0]]
+ self.setCurrentUrl(first_url)
def getUrls(self) -> tuple:
"""
@@ -516,7 +529,11 @@ class ImageStack(qt.QMainWindow):
:param index: url to be displayed
:type: int
"""
- if index >= len(self._urls):
+ if index < 0:
+ return
+ if self._urls is None:
+ return
+ elif index >= len(self._urls):
raise ValueError('requested index out of bounds')
else:
return self.setCurrentUrl(self._urls[index])