%PDF- %PDF-
| Direktori : /snap/core/17247/usr/lib/python3/dist-packages/pyudev/__pycache__/ |
| Current File : //snap/core/17247/usr/lib/python3/dist-packages/pyudev/__pycache__/wx.cpython-35.pyc |
��P� � @ s� d Z d d l m Z m Z m Z m Z d d l m Z m Z d d l m
Z
d d l m Z e
� \ Z
Z e
� \ Z Z e
� \ Z Z e
� \ Z Z e
� \ Z Z Gd d � d e � Z d S) a�
pyudev.wx
=========
Wx integration.
:class:`WxUDevMonitorObserver` integrates device monitoring into the
wxPython_ mainloop by turing device events into wx events.
:mod:`wx` from wxPython_ must be available when importing this module.
.. _wxPython: http://wxpython.org/
.. moduleauthor:: Tobias Eberle <tobias.eberle@gmx.de>
.. versionadded:: 0.14
� )�print_function�division�unicode_literals�absolute_import)�
EvtHandler� PostEvent)�NewEvent)�MonitorObserverc @ s� e Z d Z d Z d e d e d e d e i Z d d � Z e
d d � � Z e j d
d � � Z d d � Z
d
d � Z d d � Z d S)�WxUDevMonitorObservera�
An observer for device events integrating into the :mod:`wx` mainloop.
This class inherits :class:`~wx.EvtHandler` to turn device events into
wx events:
>>> from pyudev import Context, Device
>>> from pyudev.wx import WxUDevMonitorObserver
>>> context = Context()
>>> monitor = Monitor.from_netlink(context)
>>> monitor.filter_by(subsystem='input')
>>> observer = WxUDevMonitorObserver(monitor)
>>> def device_connected(event):
... print('{0!r} added'.format(event.device))
>>> observer.Bind(EVT_DEVICE_ADDED, device_connected)
>>> monitor.start()
This class is a child of :class:`wx.EvtHandler`.
�add�removeZchangeZmovec C s- t j | � | | _ d | _ | j � d S)N)r �__init__�monitor�_observer_thread�start)�selfr � r �+/usr/lib/python3/dist-packages/pyudev/wx.pyr
L s
zWxUDevMonitorObserver.__init__c C s
| j d k S)z�
Whether this observer is enabled or not.
If ``True`` (the default), this observer is enabled, and emits events.
Otherwise it is disabled and does not emit any events.
N)r )r r r r �enabledR s zWxUDevMonitorObserver.enabledc C s! | r | j � n
| j � d S)N)r �stop)r �valuer r r r \ s
c C sE | j d k r d St | j d | j d d �| _ | j j � d S)z`
Enable this observer.
Do nothing, if the observer is already enabled.
N�callback�namezwx-observer-thread)r r r �_emit_eventsr )r r r r r c s zWxUDevMonitorObserver.startc C s$ | j d k r d S| j j � d S)zb
Disable this observer.
Do nothing, if the observer is already disabled.
N)r r )r r r r r p s zWxUDevMonitorObserver.stopc C sZ t | t d | j d | � � | j j | j � } | d k rV t | | d | � � d S)N�action�device)r �DeviceEventr �_action_event_map�get)r r Zevent_classr r r r z s z"WxUDevMonitorObserver._emit_eventsN)�__name__�
__module__�__qualname__�__doc__�DeviceAddedEvent�DeviceRemovedEvent�DeviceChangedEvent�DeviceMovedEventr r
�propertyr �setterr r r r r r r r
0 s
r
N)r"