Skip to content
Snippets Groups Projects
Commit ca848cf9 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Fixed panning redraw issue on VNC/X11. Fixed ImageDisplayToolbar

enable/disable logic
parent 41c22187
No related branches found
No related tags found
No related merge requests found
......@@ -94,6 +94,7 @@ class ImageDisplayToolBar(fsltoolbar.FSLViewToolBar):
for tool, _ in oldOptsTools:
tool.Destroy()
def _toggleEnabled(self, *a):
image = self._displayCtx.getSelectedImage()
display = self._displayCtx.getDisplayProperties(image)
......@@ -111,19 +112,23 @@ class ImageDisplayToolBar(fsltoolbar.FSLViewToolBar):
if image is None:
self.ClearTools()
return
display = self._displayCtx.getDisplayProperties(image)
# Call _toggleEnabled when
# the image is enabled/disabled
self.Enable(display.enabled)
for i in self._imageList:
d = self._displayCtx.getDisplayProperties(i)
if i == image:
display.addListener('enabled',
self._name,
self._toggleEnabled,
overwrite=True)
d.addListener('enabled',
self._name,
self._toggleEnabled,
overwrite=True)
else:
display.removeListener('enabled', self._name)
d.removeListener('enabled', self._name)
# Build/refresh the toolbar widgets for this image
tools = self._imageTools.get(image, None)
......
......@@ -467,11 +467,6 @@ class WXGLCanvasTarget(object):
def _refresh(self, *a):
"""Triggers a redraw via the :meth:`_draw` method."""
# NOTE I'm not drawing via wx.Refresh/Update
# because, when running over ssh under X11,
# this doesn't seem to force a redraw. Calling
# the draw code directly seems to do the trick
self.Refresh()
......
......@@ -293,8 +293,8 @@ class SliceCanvas(props.HasProperties):
# canvas change, we need to redraw
self.addListener('zax', self.name, self._zAxisChanged)
self.addListener('pos', self.name, self._draw)
self.addListener('displayBounds', self.name, self._draw)
self.addListener('showCursor', self.name, self._refresh)
self.addListener('displayBounds', self.name, self._refresh)
self.addListener('invertX', self.name, self._refresh)
self.addListener('invertY', self.name, self._refresh)
self.addListener('zoom',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment