Location: Stomach Annotator for SPARC @ 9ea33dda840d / digitiser / scene.py

Author:
rjag008 <rjag008@auckland.ac.nz>
Date:
2018-08-18 17:01:42+12:00
Desc:
Final Release
Permanent Source URI:
https://models.physiomeproject.org/workspace/51d/rawfile/9ea33dda840d259caf68e26d21300bece4eeff3f/digitiser/scene.py

'''
Created on 15/06/2018

@author: rjag008
'''
try:
    from PySide import QtCore, QtGui
    signalHandle = QtCore.Signal
except ImportError:
    #from PyQt4 import QtCore, QtGui
    #signalHandle = QtCore.pyqtSignal
    pass
            
class PaintGraphicsScene(QtGui.QGraphicsScene):

    # Signal emitted when the mouse is moved and pressed
    mouseMoved = signalHandle(float, float)
    mousePressed = signalHandle(QtGui.QGraphicsSceneMouseEvent, object)
    # Signal emitted when point and axis items are moved
    pointItemMoved = signalHandle(int, QtCore.QPointF)

    def __init__(self, parent=None):
        QtGui.QGraphicsScene.__init__(self, parent)

    def mousePressEvent(self, event):
        pos = event.scenePos()
        self.mousePressed.emit(event, self.itemAt(pos))
        QtGui.QGraphicsScene.mousePressEvent(self, event)

    def mouseMoveEvent(self, event):
        pos = event.scenePos()
        self.mouseMoved.emit(pos.x(), pos.y())
        QtGui.QGraphicsScene.mouseMoveEvent(self, event)

    def setPointItemMoved(self, key, pos):
        self.pointItemMoved.emit(key, pos)