From 40177bc01331f9572dfb1728d5b186abe8c5016f Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Thu, 21 May 2015 09:48:55 +0100
Subject: [PATCH] Renamed 'PolygonModel' to 'Model' because, well, why not?
 When I need to support more data types, I can look at organising a class/name
 hierarchy but, until then, Model will be fine. Bugfix to overlayselect panel
 (name property callback now being passed Display instead of Image).

---
 fsl/data/model.py                          | 2 +-
 fsl/fslview/controls/locationpanel.py      | 4 ++--
 fsl/fslview/controls/overlayselectpanel.py | 3 ++-
 fsl/fslview/displaycontext/display.py      | 4 ++--
 fsl/tools/fslview_parseargs.py             | 4 ++--
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/fsl/data/model.py b/fsl/data/model.py
index 86370c79a..ad4a6e3cf 100644
--- a/fsl/data/model.py
+++ b/fsl/data/model.py
@@ -49,7 +49,7 @@ def loadVTKPolydataFile(infile):
     return vertices, polygonLengths, indices
     
 
-class PolygonModel(object):
+class Model(object):
 
     def __init__(self, data, indices=None):
         """
diff --git a/fsl/fslview/controls/locationpanel.py b/fsl/fslview/controls/locationpanel.py
index 9cd8ed8ff..c8d63fd84 100644
--- a/fsl/fslview/controls/locationpanel.py
+++ b/fsl/fslview/controls/locationpanel.py
@@ -255,8 +255,8 @@ class LocationPanel(fslpanel.FSLViewPanel):
             if isinstance(overlay, fslimage.Image):
                 refImage = overlay
 
-            elif isinstance(overlay, fslmodel.PolygonModel) and \
-               isinstance(opts, displaycontext.ModelOpts)   and \
+            elif isinstance(overlay, fslmodel.Model)      and \
+               isinstance(opts, displaycontext.ModelOpts) and \
                opts.refImage != 'none':
                 refImage = opts.refImage
 
diff --git a/fsl/fslview/controls/overlayselectpanel.py b/fsl/fslview/controls/overlayselectpanel.py
index b1a9777e4..5850b5660 100644
--- a/fsl/fslview/controls/overlayselectpanel.py
+++ b/fsl/fslview/controls/overlayselectpanel.py
@@ -139,8 +139,9 @@ class OverlaySelectPanel(fslpanel.FSLViewPanel):
         overlay.
         """
 
-        def nameChanged(value, valid, ovl, name):
+        def nameChanged(value, valid, display, name):
 
+            ovl = display.getOverlay()
             idx = self._overlayList.index(ovl)
             
             # if the name of the currently selected overlay has changed,
diff --git a/fsl/fslview/displaycontext/display.py b/fsl/fslview/displaycontext/display.py
index 4e096bf90..2189cd5af 100644
--- a/fsl/fslview/displaycontext/display.py
+++ b/fsl/fslview/displaycontext/display.py
@@ -232,8 +232,8 @@ import modelopts
 
 OVERLAY_TYPES = td.TypeDict({
 
-    'Image'        : ['volume', 'mask', 'rgbvector', 'linevector'],
-    'PolygonModel' : ['model']
+    'Image' : ['volume', 'mask', 'rgbvector', 'linevector'],
+    'Model' : ['model']
 })
 """This dictionary provides a mapping between the overlay classes, and
 the way in which they may be represented.
diff --git a/fsl/tools/fslview_parseargs.py b/fsl/tools/fslview_parseargs.py
index 32a66a665..7a63c36f9 100644
--- a/fsl/tools/fslview_parseargs.py
+++ b/fsl/tools/fslview_parseargs.py
@@ -906,7 +906,7 @@ def applyOverlayArgs(args, overlayList, displayCtx, **kwargs):
 
     overlays = iio.loadImages(volOverlays, **kwargs)
 
-    overlays.extend([fslmodel.PolygonModel(o) for o in nonVolOverlays])
+    overlays.extend([fslmodel.Model(o) for o in nonVolOverlays])
 
     overlayList.extend(overlays)
 
@@ -959,7 +959,7 @@ def applyOverlayArgs(args, overlayList, displayCtx, **kwargs):
 
         # A similar process is followed for 
         # the ModelOpts.refImage property
-        if isinstance(overlay, fslmodel.PolygonModel) and \
+        if isinstance(overlay, fslmodel.Model)        and \
            isinstance(opts,    fsldisplay.ModelOpts)  and \
            args.overlays[i].refImage is not None:
 
-- 
GitLab