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