Commit 1e9ebddde05b4b9a14fd7d0b998320cd3a95611d
1 parent
a2e45b2a
Exists in
master
and in
68 other branches
ENH: Suport to mouse wheel in the preview panel
Showing
1 changed file
with
30 additions
and
9 deletions
Show diff stats
invesalius/gui/dicom_preview_panel.py
| ... | ... | @@ -367,6 +367,7 @@ class DicomPreviewSeries(wx.Panel): |
| 367 | 367 | def _bind_events(self): |
| 368 | 368 | # When the user scrolls the window |
| 369 | 369 | self.Bind(wx.EVT_SCROLL, self.OnScroll) |
| 370 | + self.Bind(wx.EVT_MOUSEWHEEL, self.OnWheel) | |
| 370 | 371 | |
| 371 | 372 | def OnSelect(self, evt): |
| 372 | 373 | print dir(evt) |
| ... | ... | @@ -438,11 +439,20 @@ class DicomPreviewSeries(wx.Panel): |
| 438 | 439 | for f, p in zip(self.files[initial:final], self.previews): |
| 439 | 440 | p.Show() |
| 440 | 441 | |
| 441 | - def OnScroll(self, evt): | |
| 442 | - if self.displayed_position != evt.GetPosition(): | |
| 443 | - self.displayed_position = evt.GetPosition() | |
| 444 | - self._display_previews() | |
| 442 | + def OnScroll(self, evt=None): | |
| 443 | + if evt: | |
| 444 | + if self.displayed_position != evt.GetPosition(): | |
| 445 | + self.displayed_position = evt.GetPosition() | |
| 446 | + else: | |
| 447 | + if self.displayed_position != self.scroll.GetThumbPosition(): | |
| 448 | + self.displayed_position = self.scroll.GetThumbPosition() | |
| 449 | + self._display_previews() | |
| 445 | 450 | |
| 451 | + def OnWheel(self, evt): | |
| 452 | + print "OnWheel" | |
| 453 | + d = evt.GetWheelDelta() / evt.GetWheelRotation() | |
| 454 | + self.scroll.SetThumbPosition(self.scroll.GetThumbPosition() - d) | |
| 455 | + self.OnScroll() | |
| 446 | 456 | |
| 447 | 457 | class DicomPreviewSlice(wx.Panel): |
| 448 | 458 | """A dicom preview panel""" |
| ... | ... | @@ -493,6 +503,7 @@ class DicomPreviewSlice(wx.Panel): |
| 493 | 503 | def _bind_events(self): |
| 494 | 504 | # When the user scrolls the window |
| 495 | 505 | self.Bind(wx.EVT_SCROLL, self.OnScroll) |
| 506 | + self.Bind(wx.EVT_MOUSEWHEEL, self.OnWheel) | |
| 496 | 507 | |
| 497 | 508 | def SetDicomDirectory(self, directory): |
| 498 | 509 | print "Setting Dicom Directory", directory |
| ... | ... | @@ -580,11 +591,6 @@ class DicomPreviewSlice(wx.Panel): |
| 580 | 591 | for f, p in zip(self.files[initial:final], self.previews): |
| 581 | 592 | p.Show() |
| 582 | 593 | |
| 583 | - def OnScroll(self, evt): | |
| 584 | - if self.displayed_position != evt.GetPosition(): | |
| 585 | - self.displayed_position = evt.GetPosition() | |
| 586 | - self._display_previews() | |
| 587 | - | |
| 588 | 594 | def OnPreviewClick(self, evt): |
| 589 | 595 | print "Hey man, you've clicked over me" |
| 590 | 596 | my_evt = SerieEvent(myEVT_CLICK_SLICE, self.GetId()) |
| ... | ... | @@ -601,6 +607,20 @@ class DicomPreviewSlice(wx.Panel): |
| 601 | 607 | self.selected_dicom = self.selected_panel.dicom_info |
| 602 | 608 | self.GetEventHandler().ProcessEvent(my_evt) |
| 603 | 609 | |
| 610 | + def OnScroll(self, evt=None): | |
| 611 | + if evt: | |
| 612 | + if self.displayed_position != evt.GetPosition(): | |
| 613 | + self.displayed_position = evt.GetPosition() | |
| 614 | + else: | |
| 615 | + if self.displayed_position != self.scroll.GetThumbPosition(): | |
| 616 | + self.displayed_position = self.scroll.GetThumbPosition() | |
| 617 | + self._display_previews() | |
| 618 | + | |
| 619 | + def OnWheel(self, evt): | |
| 620 | + print "OnWheel" | |
| 621 | + d = evt.GetWheelDelta() / evt.GetWheelRotation() | |
| 622 | + self.scroll.SetThumbPosition(self.scroll.GetThumbPosition() - d) | |
| 623 | + self.OnScroll() | |
| 604 | 624 | |
| 605 | 625 | class SingleImagePreview(wx.Panel): |
| 606 | 626 | def __init__(self, parent): |
| ... | ... | @@ -753,6 +773,7 @@ class SingleImagePreview(wx.Panel): |
| 753 | 773 | ## Text related to slice position |
| 754 | 774 | value1 = STR_SPC %(dicom.image.spacing[2]) |
| 755 | 775 | value2 = STR_LOCAL %(dicom.image.position[2]) |
| 776 | + print "Este eh o meu tipo", type(value1) | |
| 756 | 777 | value = "%s\n%s" %(value1, value2) |
| 757 | 778 | self.text_image_location.SetValue(value) |
| 758 | 779 | ... | ... |