summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_focus_object.eo
blob: a8ce1130b8a07250a982bd7c623d9fdd6193be6c (plain)
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
72
73
74
75
76
77
78
79
80
81
import eina_types;

mixin Efl.Ui.Focus.Object
{
    [[Functions of focusable objects.

      @since 1.20
    ]]
    methods {
        @property focus_geometry {
            [[The geometry used to calculate relationships between other objects.]]
            get {

            }
            values {
                rect : Eina.Rect; [[The geometry to use.]]
            }
        }
        @property focus {
            [[This is called by the manager and should never be called by
              anyone else.

             It can be used by configuring a focus object to adapt to
             any changes that are required.

             The function emits the focus state events, if focus is
             different to the previous state.
            ]]
            get {

            }
            set @protected {

            }
            values {
                focus : bool; [[The state in which the object should be put]]
            }
        }
        @property focus_manager {
            [[Describes which manager is used to register.

              If an instance of this interface is the root of a manager, this instance should not have a manager where as root of this property. The other manager in this instance will be set as focused in the corresponding manager.
              This instance should be registered with its own manager as redirect.
            ]]
            get {}
            values {
                manager : Efl.Ui.Focus.Manager; [[The manager object]]
            }
        }
        @property focus_parent {
            [[Describes which logical parent is used by this object.]]
            get {}
            values {
                logical_parent : Efl.Ui.Focus.Object; [[The focus parent.]]
            }
        }
        prepare_logical {
            [[Tells the object that its children will be queried soon by the given manager.

              Deleting manager items in this call will result in undefied behaviour and may cause your system to crash.
            ]]
        }
        on_focus_update @protected @pure_virtual {
           [[Virtual function handling focus in/out events on the widget]]
           return: bool; [[$true if this widget can handle focus, $false otherwise]]
        }
    }
    implements {
        @empty .focus_geometry;
        @empty .prepare_logical;
        @empty .focus_manager;
        @empty .focus_parent;
    }
    events {
        focus,changed : bool; [[Emitted if the focus state has changed]]
        manager,changed: Efl.Ui.Focus.Manager; [[Emitted when a new manager is
                                                 the parent for this object.]]
        logical,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
                                                parent should be used.]]
    }
}