summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_focus_manager_calc.eo
blob: fec5875f4a6293af575f5cf797c5cd55098f5851 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
class Efl.Ui.Focus.Manager.Calc (Efl.Object, Efl.Ui.Focus.Manager) {
    [[Calculates the directions of Efl.Ui.Focus.Direction

      Each registered item will get a other registered object into each
      direction, you can get those items for the currently focused item if
      you call request move.

      @since 1.20
    ]]
    methods {
        register {
            [[Register a new item in the graph.

              $parent can not be $null, it will be used as the parent in the
              logical tree.
              $redirect will be set as redirect property on that manager, once
              $child gets focused.
            ]]
            params {
                child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
                parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
                                                        the logical tree]]
                redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
                    once this child is focused can be NULL for no redirect]]
            }
            return : bool; [[$true if successful, $false otherwise]]
        }
        register_logical {
            [[Register a new item just for the logical parent.

              The item can never get focus, it just helps to build a tree out
              of the items that are getting focus.
            ]]
            params {
                child : Efl.Ui.Focus.Object @nonull; [[The object to register]]
                parent : Efl.Ui.Focus.Object @nonull; [[The parent to use in
                                                        the logical tree]]
                redirect : Efl.Ui.Focus.Manager; [[The redirect manager to set
                    once this child is focused can be $null for no redirect]]
            }
            return : bool; [[$true if successful, $false otherwise]]
        }
        update_redirect {
            [[Set a new redirect object for the given child.

              Once $child is focused the redirect manager will be set
              in the redirect property. Set redirect to $null if nothing should happen.
            ]]
            params {
                child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
                redirect : Efl.Ui.Focus.Manager; [[Once $child got focused this
                    element will be set as redirect]]
            }
            return : bool; [[$true if successful, $false otherwise]]
        }
        update_parent {
            [[Set a new logical parent for the given child.]]
            params {
                child : Efl.Ui.Focus.Object @nonull; [[The child to update]]
                parent : Efl.Ui.Focus.Object @nonull; [[The parent which now
                    will be the logical parent of child]]
            }
            return : bool; [[$true if successful, $false otherwise]]
        }
        update_children {
            [[Give the list of children a different order.]]
            params {
                parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
                children : own(list<Efl.Ui.Focus.Object>); [[the list with the new order]]
            }
            return : bool; [[$true if successful, $false otherwise]]
        }
        update_order {
            [[Give the given order to the parent's child.

              Children from the list which are no real children are ignored.
            ]]
            params {
                parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
                children : list<Efl.Ui.Focus.Object>; [[the order of items]]
            }
        }
        unregister {
            [[Unregister the given item from the focus graph.]]
            params {
                child : Efl.Ui.Focus.Object; [[The child to unregister.]]
            }
        }
    }
    implements {
        class.constructor;
        class.destructor;
        Efl.Ui.Focus.Manager.move;
        Efl.Ui.Focus.Manager.request_move;
        Efl.Ui.Focus.Manager.focus {get; set;}
        Efl.Ui.Focus.Manager.redirect {set; get;}
        Efl.Ui.Focus.Manager.border_elements {get;}
        Efl.Ui.Focus.Manager.root {set; get;}
        Efl.Ui.Focus.Manager.fetch;
        Efl.Ui.Focus.Manager.logical_end;
        Efl.Object.constructor;
        Efl.Object.finalize;
        Efl.Object.provider_find;
        Efl.Object.destructor;
    }
}