File: command.py

package info (click to toggle)
python-traitsui 8.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,232 kB
  • sloc: python: 58,982; makefile: 113
file content (71 lines) | stat: -rw-r--r-- 2,113 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# (C) Copyright 2004-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

""" This module defines interaction objects that can be passed to
``UIWrapper.perform`` where the actions represent 'commands'.

Implementations for these actions are expected to produce the
documented side effects without returning any values.
"""


class MouseClick:
    """An object representing the user clicking a mouse button.
    Currently the left mouse button is assumed.

    In most circumstances, a widget can still be clicked on even if it is
    disabled. Therefore unlike key events, if the widget is disabled,
    implementations should not raise an exception.
    """

    pass


class MouseDClick:
    """ An object representing the user double clicking a mouse button.
    Currently the left mouse button is assumed.

    In most circumstances, a widget can still be clicked on even if it is
    disabled. Therefore unlike key events, if the widget is disabled,
    implementations should not raise an exception.
    """
    pass


class KeySequence:
    """An object representing the user typing a sequence of keys.

    Implementations should raise ``Disabled`` if the widget is disabled.

    Attributes
    ----------
    sequence : str
        A string that represents a sequence of key inputs.
        e.g. "Hello World"
    """

    def __init__(self, sequence):
        self.sequence = sequence


class KeyClick:
    """An object representing the user clicking a key on the keyboard.

    Implementations should raise ``Disabled`` if the widget is disabled.

    Attributes
    ----------
    key : str
        Standardized (pyface) name for a keyboard event.
        e.g. "Enter", "Tab", "Space", "0", "1", "A", ...
    """

    def __init__(self, key):
        self.key = key