Commit a00db00acbb9b09eeeeea2bfb8aaa80740926139
1 parent
64b968f7
Exists in
master
and in
68 other branches
ENH: Popup menu in the right button
Showing
2 changed files
with
15 additions
and
14 deletions
Show diff stats
invesalius/data/viewer_slice.py
| ... | ... | @@ -52,6 +52,7 @@ class Viewer(wx.Panel): |
| 52 | 52 | self.modes = []#['DEFAULT'] |
| 53 | 53 | self.left_pressed = 0 |
| 54 | 54 | self.right_pressed = 0 |
| 55 | + self.last_position_mouse_move = () | |
| 55 | 56 | |
| 56 | 57 | # All renderers and image actors in this viewer |
| 57 | 58 | self.slice_data_list = [] |
| ... | ... | @@ -104,8 +105,13 @@ class Viewer(wx.Panel): |
| 104 | 105 | |
| 105 | 106 | def OnContextMenu(self, evt): |
| 106 | 107 | self.right_pressed = 0 |
| 107 | - self.PopupMenu(self.menu) | |
| 108 | - | |
| 108 | + if (self.last_position_mouse_move ==\ | |
| 109 | + self.interactor.GetLastEventPosition()): | |
| 110 | + self.PopupMenu(self.menu) | |
| 111 | + | |
| 112 | + evt.Skip() | |
| 113 | + | |
| 114 | + | |
| 109 | 115 | def SetPopupMenu(self, menu): |
| 110 | 116 | self.menu = menu |
| 111 | 117 | |
| ... | ... | @@ -253,6 +259,9 @@ class Viewer(wx.Panel): |
| 253 | 259 | |
| 254 | 260 | def OnRightClick(self, evt, obj): |
| 255 | 261 | print "OnRightClick" |
| 262 | + self.last_position_mouse_move = \ | |
| 263 | + self.interactor.GetLastEventPosition() | |
| 264 | + | |
| 256 | 265 | self.right_pressed = 1 |
| 257 | 266 | |
| 258 | 267 | def OnReleaseRightButton(self, evt, obj): |
| ... | ... | @@ -261,7 +270,6 @@ class Viewer(wx.Panel): |
| 261 | 270 | ps.Publisher().sendMessage('Update slice viewer') |
| 262 | 271 | |
| 263 | 272 | def OnLeftClick(self, evt, obj): |
| 264 | - print "OnLeftClick" | |
| 265 | 273 | self.left_pressed = 1 |
| 266 | 274 | |
| 267 | 275 | def OnZoomLeftClick(self, evt, obj): |
| ... | ... | @@ -640,6 +648,8 @@ class Viewer(wx.Panel): |
| 640 | 648 | coord[2]) |
| 641 | 649 | |
| 642 | 650 | def OnZoomMoveRight(self, evt, obj): |
| 651 | + | |
| 652 | + | |
| 643 | 653 | if (self.right_pressed): |
| 644 | 654 | print "OnZoomMoveRight" |
| 645 | 655 | evt.Dolly() | ... | ... |
invesalius/mode.py
| ... | ... | @@ -97,19 +97,10 @@ class SliceMode(object): |
| 97 | 97 | |
| 98 | 98 | level = const.LEVEL[state] |
| 99 | 99 | max_level = max(self.stack.keys()) |
| 100 | - | |
| 101 | - | |
| 100 | + | |
| 102 | 101 | # Insert new state into stack |
| 103 | 102 | self.stack[level] = state |
| 104 | - #print "ADD---->" | |
| 105 | - #print self.stack | |
| 106 | - #print level | |
| 107 | - #print state | |
| 108 | - # Only will affect InVesalius behaviour if it is the highest | |
| 109 | - # level in stack | |
| 110 | - #if level == max_level: | |
| 111 | - # let viewer slice and other classes know this | |
| 112 | - # change (cursor, interaction, etc) | |
| 103 | + | |
| 113 | 104 | ps.Publisher().sendMessage('Set slice mode', state) |
| 114 | 105 | |
| 115 | 106 | def RemoveState(self, state): | ... | ... |