Commit 43729e8f097e7fbb3ca8c2c887e9a46512bf39b0
1 parent
155529ac
Exists in
master
and in
26 other branches
Not allowing user to scroll when inserting or moving a measurement
Showing
2 changed files
with
12 additions
and
1 deletions
Show diff stats
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 |