pyudev.wx – wxPython integration — pyudev 0.21.0 documentation

# `pyudev.wx` – wxPython integration

Wx integration.

`MonitorObserver` integrates device monitoring into the wxPython_ mainloop by turing device events into wx events.

`wx` from wxPython_ must be available when importing this module.

New in version 0.14.

class `pyudev.wx.` `MonitorObserver`(monitor)

  An observer for device events integrating into the `wx` mainloop.

  This class inherits `EvtHandler` to turn device events into wx events:

      >>> from pyudev import Context, Monitor
      >>> from pyudev.wx import MonitorObserver
      >>> context = Context()
      >>> monitor = Monitor.from_netlink(context)
      >>> monitor.filter_by(subsystem='input')
      >>> observer = MonitorObserver(monitor)
      >>> def device_event(event):
      ...     print('action {0} on device {1}'.format(event.device.action, event.device))
      >>> observer.Bind(EVT_DEVICE_EVENT, device_event)
      >>> monitor.start()

  This class is a child of `wx.EvtHandler`.

  New in version 0.17.

  `monitor`

    The `Monitor` observed by this object.

  `enabled`

    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.

Events

`MonitorObserver` posts the following event:

`pyudev.wx.` `EVT_DEVICE_EVENT`

  Emitted upon any device event. Receivers get a `DeviceEvent` object as argument.

class `pyudev.wx.` `DeviceEvent`

  Argument object for `EVT_DEVICE_EVENT`.

  `device`

    The `Device` object that caused this event.

    Use `action` to get the type of event.

  Deprecated members

  `action`

    A unicode string containing the action name.

    Deprecated since version 0.17: Will be removed in 1.0. Use `action` instead.

## Deprecated API

class `pyudev.wx.` `WxUDevMonitorObserver`(monitor)

  An observer for device events integrating into the `wx` mainloop.

  Deprecated since version 0.17: Will be removed in 1.0. Use `MonitorObserver` instead.

  `monitor`

    The `Monitor` observed by this object.

  `enabled`

    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.

Events

`WxUDevMonitorObserver` posts the following events in addition to `EVT_DEVICE_EVENT`:

`pyudev.wx.` `EVT_DEVICE_ADDED`

  Emitted if a `Device` is added (e.g a USB device was plugged). Receivers get a `DeviceAddedEvent` object as argument.

  Deprecated since version 0.17: Will be removed in 1.0.

`pyudev.wx.` `EVT_DEVICE_REMOVED`

  Emitted if a `Device` is removed (e.g. a USB device was unplugged). Receivers get a `DeviceRemovedEvent` object as argument.

  Deprecated since version 0.17: Will be removed in 1.0.

`pyudev.wx.` `EVT_DEVICE_CHANGED`

  Emitted if a `Device` was somehow changed (e.g. a change of a property). Receivers get a `DeviceChangedEvent` object as argument.

  Deprecated since version 0.17: Will be removed in 1.0.

`pyudev.wx.` `EVT_DEVICE_MOVED`

  Emitted if a `Device` was renamed, moved or re-parented. Receivers get a `DeviceMovedEvent` object as argument.

class `pyudev.wx.` `DeviceAddedEvent`
class `pyudev.wx.` `DeviceRemovedEvent`
class `pyudev.wx.` `DeviceChangedEvent`
class `pyudev.wx.` `DeviceMovedEvent`

  Argument objects for `EVT_DEVICE_ADDED`, `EVT_DEVICE_REMOVED`, `EVT_DEVICE_CHANGED` and `EVT_DEVICE_MOVED`.

  Deprecated since version 0.17: Will be removed in 1.0.

  `device`

    The `Device` object that caused this event.