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 | 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 | ... | ... |