Commit 43729e8f097e7fbb3ca8c2c887e9a46512bf39b0

Authored by Thiago Franco de Moraes
1 parent 155529ac

Not allowing user to scroll when inserting or moving a measurement

invesalius/data/styles.py
@@ -390,13 +390,14 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): @@ -390,13 +390,14 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle):
390 390
391 if self.selected: 391 if self.selected:
392 self.selected = None 392 self.selected = None
  393 + self.viewer.scroll_enabled = True
393 return 394 return
394 395
395 if self.creating: 396 if self.creating:
396 n, m, mr = self.creating 397 n, m, mr = self.creating
397 if mr.IsComplete(): 398 if mr.IsComplete():
398 - print "COMPLETED"  
399 self.creating = None 399 self.creating = None
  400 + self.viewer.scroll_enabled = True
400 else: 401 else:
401 Publisher.sendMessage("Add measurement point", 402 Publisher.sendMessage("Add measurement point",
402 ((x, y, z), self._type, 403 ((x, y, z), self._type,
@@ -405,11 +406,13 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): @@ -405,11 +406,13 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle):
405 n = len(m.points)-1 406 n = len(m.points)-1
406 self.creating = n, m, mr 407 self.creating = n, m, mr
407 Publisher.sendMessage('Reload actual slice %s' % self.orientation) 408 Publisher.sendMessage('Reload actual slice %s' % self.orientation)
  409 + self.viewer.scroll_enabled = False
408 return 410 return
409 411
410 selected = self._verify_clicked_display(mx, my) 412 selected = self._verify_clicked_display(mx, my)
411 if selected: 413 if selected:
412 self.selected = selected 414 self.selected = selected
  415 + self.viewer.scroll_enabled = False
413 else: 416 else:
414 if self.picker.GetViewProp(): 417 if self.picker.GetViewProp():
415 renderer = self.viewer.slice_data.renderer 418 renderer = self.viewer.slice_data.renderer
@@ -425,6 +428,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): @@ -425,6 +428,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle):
425 n, (m, mr) = 1, self.measures.measures[self._ori][slice_number][-1] 428 n, (m, mr) = 1, self.measures.measures[self._ori][slice_number][-1]
426 self.creating = n, m, mr 429 self.creating = n, m, mr
427 Publisher.sendMessage('Reload actual slice %s' % self.orientation) 430 Publisher.sendMessage('Reload actual slice %s' % self.orientation)
  431 + self.viewer.scroll_enabled = False
428 432
429 def OnReleaseMeasurePoint(self, obj, evt): 433 def OnReleaseMeasurePoint(self, obj, evt):
430 if self.selected: 434 if self.selected:
@@ -434,6 +438,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): @@ -434,6 +438,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle):
434 Publisher.sendMessage('Change measurement point position', (idx, n, (x, y, z))) 438 Publisher.sendMessage('Change measurement point position', (idx, n, (x, y, z)))
435 Publisher.sendMessage('Reload actual slice %s' % self.orientation) 439 Publisher.sendMessage('Reload actual slice %s' % self.orientation)
436 self.selected = None 440 self.selected = None
  441 + self.viewer.scroll_enabled = True
437 442
438 def OnMoveMeasurePoint(self, obj, evt): 443 def OnMoveMeasurePoint(self, obj, evt):
439 x, y, z = self._get_pos_clicked() 444 x, y, z = self._get_pos_clicked()
@@ -466,6 +471,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle): @@ -466,6 +471,7 @@ class LinearMeasureInteractorStyle(DefaultInteractorStyle):
466 self.creating = None 471 self.creating = None
467 self.selected = None 472 self.selected = None
468 Publisher.sendMessage('Update slice viewer') 473 Publisher.sendMessage('Update slice viewer')
  474 + self.viewer.scroll_enabled = True
469 475
470 def CleanUp(self): 476 def CleanUp(self):
471 self.picker.PickFromListOff() 477 self.picker.PickFromListOff()
invesalius/data/viewer_slice.py
@@ -436,6 +436,7 @@ class Viewer(wx.Panel): @@ -436,6 +436,7 @@ class Viewer(wx.Panel):
436 436
437 self.orientation = orientation 437 self.orientation = orientation
438 self.slice_number = 0 438 self.slice_number = 0
  439 + self.scroll_enabled = True
439 440
440 self.__init_gui() 441 self.__init_gui()
441 442
@@ -1378,6 +1379,8 @@ class Viewer(wx.Panel): @@ -1378,6 +1379,8 @@ class Viewer(wx.Panel):
1378 evt.Skip() 1379 evt.Skip()
1379 1380
1380 def OnScrollForward(self, evt=None, obj=None): 1381 def OnScrollForward(self, evt=None, obj=None):
  1382 + if not self.scroll_enabled:
  1383 + return
1381 pos = self.scroll.GetThumbPosition() 1384 pos = self.scroll.GetThumbPosition()
1382 min = 0 1385 min = 0
1383 1386
@@ -1389,6 +1392,8 @@ class Viewer(wx.Panel): @@ -1389,6 +1392,8 @@ class Viewer(wx.Panel):
1389 self.OnScrollBar() 1392 self.OnScrollBar()
1390 1393
1391 def OnScrollBackward(self, evt=None, obj=None): 1394 def OnScrollBackward(self, evt=None, obj=None):
  1395 + if not self.scroll_enabled:
  1396 + return
1392 pos = self.scroll.GetThumbPosition() 1397 pos = self.scroll.GetThumbPosition()
1393 max = self.slice_.GetMaxSliceNumber(self.orientation) 1398 max = self.slice_.GetMaxSliceNumber(self.orientation)
1394 1399