Commit 1e9ebddde05b4b9a14fd7d0b998320cd3a95611d
1 parent
a2e45b2a
Exists in
master
and in
6 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 | ... | ... |