def mouseInteraction(self, event): """ RPC Callback for mouse interactions. """ view = self.getView(event['view']) buttons = 0 if event["buttonLeft"]: buttons |= vtkWebInteractionEvent.LEFT_BUTTON if event["buttonMiddle"]: buttons |= vtkWebInteractionEvent.MIDDLE_BUTTON if event["buttonRight"]: buttons |= vtkWebInteractionEvent.RIGHT_BUTTON modifiers = 0 if event["shiftKey"]: modifiers |= vtkWebInteractionEvent.SHIFT_KEY if event["ctrlKey"]: modifiers |= vtkWebInteractionEvent.CTRL_KEY if event["altKey"]: modifiers |= vtkWebInteractionEvent.ALT_KEY if event["metaKey"]: modifiers |= vtkWebInteractionEvent.META_KEY pvevent = vtkWebInteractionEvent() pvevent.SetButtons(buttons) pvevent.SetModifiers(modifiers) if "x" in event: pvevent.SetX(event["x"]) if "y" in event: pvevent.SetY(event["y"]) if "scroll" in event: pvevent.SetScroll(event["scroll"]) if event["action"] == 'dblclick': pvevent.SetRepeatCount(2) #pvevent.SetKeyCode(event["charCode"]) retVal = self.getApplication().HandleInteractionEvent(view, pvevent) del pvevent if event["action"] == 'down': self.getApplication().InvokeEvent('StartInteractionEvent') if event["action"] == 'up': self.getApplication().InvokeEvent('EndInteractionEvent') if retVal: self.getApplication().InvokeEvent('UpdateEvent') return retVal
def mouseInteraction(self, event): """ RPC Callback for mouse interactions. """ view = self.getView(event['view']) buttons = 0 if event["buttonLeft"]: buttons |= vtkWebInteractionEvent.LEFT_BUTTON; if event["buttonMiddle"]: buttons |= vtkWebInteractionEvent.MIDDLE_BUTTON; if event["buttonRight"]: buttons |= vtkWebInteractionEvent.RIGHT_BUTTON; modifiers = 0 if event["shiftKey"]: modifiers |= vtkWebInteractionEvent.SHIFT_KEY if event["ctrlKey"]: modifiers |= vtkWebInteractionEvent.CTRL_KEY if event["altKey"]: modifiers |= vtkWebInteractionEvent.ALT_KEY if event["metaKey"]: modifiers |= vtkWebInteractionEvent.META_KEY pvevent = vtkWebInteractionEvent() pvevent.SetButtons(buttons) pvevent.SetModifiers(modifiers) if "x" in event: pvevent.SetX(event["x"]) if "y" in event: pvevent.SetY(event["y"]) if "scroll" in event: pvevent.SetScroll(event["scroll"]) if event["action"] == 'dblclick': pvevent.SetRepeatCount(2) #pvevent.SetKeyCode(event["charCode"]) retVal = self.getApplication().HandleInteractionEvent(view, pvevent) del pvevent if event["action"] == 'down': self.getApplication().InvokeEvent('StartInteractionEvent') if event["action"] == 'up': self.getApplication().InvokeEvent('EndInteractionEvent') if retVal: self.getApplication().InvokeEvent('UpdateEvent') return retVal