Skip to content

Commit b819d02

Browse files
TST: Refactor _interactor
1 parent 648d18f commit b819d02

4 files changed

Lines changed: 39 additions & 12 deletions

File tree

mne/viz/_brain/_brain.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -618,10 +618,7 @@ def setup_time_viewer(self, time_viewer=True, show_traces=True):
618618
self.keys = ('fmin', 'fmid', 'fmax')
619619

620620
# Direct access parameters:
621-
if self.notebook:
622-
self.interactor = None
623-
else:
624-
self.interactor = self.plotter.interactor
621+
self.interactor = self._renderer._interactor
625622

626623
# Derived parameters:
627624
self.playback_speed = self.default_playback_speed_value
@@ -1172,11 +1169,7 @@ def _configure_playback(self):
11721169
def _configure_mplcanvas(self):
11731170
ratio = (1 - self.interactor_fraction) / self.interactor_fraction
11741171
dpi = self._renderer._window_get_dpi()
1175-
if self.notebook:
1176-
w, h = self.plotter.window_size
1177-
else:
1178-
w = self.interactor.geometry().width()
1179-
h = self.interactor.geometry().height()
1172+
w, h = self._renderer._window_get_size()
11801173
h /= ratio
11811174
# Get the fractional components for the brain and mpl
11821175
self.mpl_canvas = MplCanvas(self, w / dpi, h / dpi, dpi,
@@ -3150,8 +3143,8 @@ def frame_callback(frame, n_frames):
31503143
self.status_msg.repaint()
31513144

31523145
# set cursor to busy
3153-
default_cursor = self.interactor.cursor()
3154-
self.interactor.setCursor(QCursor(Qt.WaitCursor))
3146+
default_cursor = self._renderer._window_get_cursor()
3147+
self._renderer._window_set_cursor(QCursor(Qt.WaitCursor))
31553148

31563149
try:
31573150
self._save_movie(
@@ -3163,7 +3156,7 @@ def frame_callback(frame, n_frames):
31633156
except (Exception, KeyboardInterrupt):
31643157
warn('Movie saving aborted:\n' + traceback.format_exc())
31653158
finally:
3166-
self.interactor.setCursor(default_cursor)
3159+
self._renderer._window_set_cursor(default_cursor)
31673160
else:
31683161
self._save_movie(filename, time_dilation, tmin, tmax,
31693162
framerate, interpolation, codec,

mne/viz/backends/_abstract.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,3 +593,15 @@ def _window_initialize(self, func=None):
593593
@abstractmethod
594594
def _window_get_dpi(self):
595595
pass
596+
597+
@abstractmethod
598+
def _window_get_size(self):
599+
pass
600+
601+
@abstractmethod
602+
def _window_get_cursor(self):
603+
pass
604+
605+
@abstractmethod
606+
def _window_set_cursor(self, cursor):
607+
pass

mne/viz/backends/_notebook.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,20 @@ def _status_bar_add_progress_bar(self, stretch=0):
217217
class _IpyWindow(_AbstractWindow):
218218
def _window_initialize(self, func=None):
219219
self._window = None
220+
self._interactor = None
220221

221222
def _window_get_dpi(self):
222223
return 96
223224

225+
def _window_get_size(self):
226+
return self.figure.plotter.window_size
227+
228+
def _window_get_cursor(self):
229+
pass
230+
231+
def _window_set_cursor(self, cursor):
232+
pass
233+
224234

225235
class _IpyWidget(_AbstractWidget):
226236
def set_value(self, value):

mne/viz/backends/_qt.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,12 +318,24 @@ def _status_bar_add_progress_bar(self, stretch=0):
318318
class _QtWindow(_AbstractWindow):
319319
def _window_initialize(self, func=None):
320320
self._window = self.figure.plotter.app_window
321+
self._interactor = self.figure.plotter.interactor
321322
if func is not None:
322323
self._window.signal_close.connect(func)
323324

324325
def _window_get_dpi(self):
325326
return self._window.windowHandle().screen().logicalDotsPerInch()
326327

328+
def _window_get_size(self):
329+
w = self._interactor.geometry().width()
330+
h = self._interactor.geometry().height()
331+
return (w, h)
332+
333+
def _window_get_cursor(self):
334+
return self._interactor.cursor()
335+
336+
def _window_set_cursor(self, cursor):
337+
self._interactor.setCursor(cursor)
338+
327339

328340
class _QtWidget(_AbstractWidget):
329341
def set_value(self, value):

0 commit comments

Comments
 (0)