From 1240236527f942c1bf320f185850156ee2bfc9c4 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Thu, 21 May 2015 14:43:54 +0100 Subject: [PATCH] HistogramPanel shows a message if non-volumetric overlay is selected --- fsl/data/strings.py | 2 ++ fsl/fslview/views/histogrampanel.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/fsl/data/strings.py b/fsl/data/strings.py index ee69c6d36..51b826498 100644 --- a/fsl/data/strings.py +++ b/fsl/data/strings.py @@ -54,6 +54,8 @@ messages = TypeDict({ 'saving the screenshot. Try ' 'calling render directly with ' 'this command: \n{}', + + 'HistogramPanel.noData' : 'Selected overlay has no data', }) diff --git a/fsl/fslview/views/histogrampanel.py b/fsl/fslview/views/histogrampanel.py index 624d6bed6..6970306f4 100644 --- a/fsl/fslview/views/histogrampanel.py +++ b/fsl/fslview/views/histogrampanel.py @@ -71,7 +71,7 @@ class HistogramPanel(plotpanel.PlotPanel): self._overlayList.addListener( 'overlays', self._name, - self._selectedOveralyChanged) + self._selectedOverlayChanged) self._displayCtx.addListener( 'selectedOverlay', self._name, @@ -160,6 +160,7 @@ class HistogramPanel(plotpanel.PlotPanel): overlay = self._displayCtx.getSelectedOverlay() if not isinstance(overlay, fslimage.Image): + self._displayMessage(strings.messages[self, 'noData']) return minval = float(overlay.data.min()) @@ -210,6 +211,18 @@ class HistogramPanel(plotpanel.PlotPanel): self._domainHighlight = None self.dataRange.x = newRange + + def _displayMessage(self, msg): + + axis = self.getAxis() + axis.clear() + axis.set_xlim((0.0, 1.0)) + axis.set_ylim((0.0, 1.0)) + axis.text(0.5, 0.5, msg, ha='center', va='center') + + self.getCanvas().draw() + self.Refresh() + def _drawPlot(self, *a): -- GitLab