Beispiel #1
0
class _Event(QEvent):
    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self, callback):
        # Thread-safe
        QEvent.__init__(self, _Event.EVENT_TYPE)
        self.callback = callback
Beispiel #2
0
class ThunkEvent(QEvent):
    """
    A QEvent subclass that holds a callable which can be executed by its listeners.
    Sort of like a "queued connection" signal.
    """

    EventType = QEvent.Type(QEvent.registerEventType())

    def __init__(self, func, *args):
        QEvent.__init__(self, self.EventType)
        if len(args) > 0:
            self.thunk = partial(func, *args)
        else:
            self.thunk = func

    def __call__(self):
        self.thunk()

    @classmethod
    def post(cls, handlerObject, func, *args):
        e = ThunkEvent(func, *args)
        QApplication.postEvent(handlerObject, e)

    @classmethod
    def send(cls, handlerObject, func, *args):
        e = ThunkEvent(func, *args)
        QApplication.sendEvent(handlerObject, e)
Beispiel #3
0
class Event(QEvent):
    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self, data):
        #thread-safe
        QEvent.__init__(self, Event.EVENT_TYPE)
        self.data = data
Beispiel #4
0
class QSlotEvent(QEvent):
    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self, reference, *args, **kwargs):
        QEvent.__init__(self, QSlotEvent.EVENT_TYPE)
        self.reference = reference
        self.args = args
        self.kwargs = kwargs
Beispiel #5
0
class PacketEvent(QEvent):
    """
    This Qt event is fired when a new packet is received by the client,
    urging it to go check the incoming messages queue.
    """

    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self):
        super(PacketEvent, self).__init__(PacketEvent.EVENT_TYPE)
Beispiel #6
0
class ReenterEvent(QEvent):
    REENTER_EVENT = QEvent.Type(QEvent.registerEventType())

    def __init__(self, fn):
        self._fn = fn
        super().__init__(self.REENTER_EVENT)

    def consume(self):
        self._fn()
        return False
Beispiel #7
0
class SocketEvent(QEvent):
    """
        This Event is being sent when a new socket event is happening,
        for instance, when an incoming packet has arrived
    """

    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self):
        super(SocketEvent, self).__init__(SocketEvent.EVENT_TYPE)
Beispiel #8
0
class WorkerEvent(QEvent):
    """ thread-safe callback execution by raising
        these custom events in the main ui loop
    """
    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    def __init__(self, callback, response):
        """ A WorkerEvent encapsulates a function to be called in the main ui loop and its argument
            :param callback: The function to be called when the event gets processed
            :type callback: function
            :param response: Response message from the worker, passed as argument to the callback function
            :type response: str
        """
        QEvent.__init__(self, WorkerEvent.EVENT_TYPE)
        self.callback = callback
        self.response = response
Beispiel #9
0
class DeferredExecute(QEvent):
    EVENT_TYPE = QEvent.Type(QEvent.registerEventType())

    __processor = _Processor()

    def __init__(self, func, *args, **kwargs):
        QEvent.__init__(self, self.EVENT_TYPE)

        self.func = func
        self.args = args
        self.kwargs = kwargs

    def dispatch(self):
        QApplication.postEvent(self.__processor, self)

    def process(self):
        self.func(*self.args, **self.kwargs)
Beispiel #10
0
 def __init__(self):
     """
     Initializes the new packet event.
     """
     evtype = QEvent.Type(QEvent.registerEventType())
     super(PacketEvent, self).__init__(evtype)
Beispiel #11
0
            target = EventDistributor.__CustomEventReceiver.get(receiver, None)
            if target is None:
                print(str(EventReceiver(receiver[1]).name),
                      "is currently not added as receiver yet!")
            else:
                QApplication.sendEvent(target, event)
        else:
            for identifier, receiver in EventDistributor.__CustomEventReceiver.items(
            ):
                QApplication.sendEvent(receiver, event)


############################################################################ Player Event Types between 1001 - 1050 ###

PlayerVideoTimeChanged \
    = QEvent.Type(1001)

PlayerRemainingVideoTimeChanged \
    = QEvent.Type(1002)

PlayerPercentChanged \
    = QEvent.Type(1003)

##################################################################### Comment Table Event Types between 1051 - 1070 ###

CommentAmountChanged \
    = QEvent.Type(1051)

CommentCurrentSelectionChanged \
    = QEvent.Type(1052)
Beispiel #12
0
 def updateTarget(self):
     event = QEvent(QEvent.Type(StyleAnimationUpdate))
     event.setAccepted(False)
     QCoreApplication.sendEvent(self.target(), event)
     if not event.isAccepted():
         self.stop()
Beispiel #13
0
class ReleasePosEvent(QEvent):
    EventType = QEvent.Type(QEvent.registerEventType())

    def __init__(self, point):
        QEvent.__init__(self, ReleasePosEvent.EventType)
        self.point = point
Beispiel #14
0
    def eventTest(self, event):
        if event.type() != QEvent.Type(QEvent.User + 1):
            return False

        return event.mode == self.value
Beispiel #15
0
 def __init__(self, mode, parent=None):
     super(FlightModeEvent, self).__init__(QEvent.Type(QEvent.User + 1))
     self.mode = mode