summaryrefslogtreecommitdiff
path: root/legacy/elementary/src/lib/elm_hover.eo
blob: 04017354a0197d9a5e35936a48dba4fa3f391ea0 (plain) (blame)
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
enum Elm.Hover.Axis
{
   [[
     @addtogroup Hover
     The orientation axis for the hover object
   ]]
   none, [[ELM_HOVER_AXIS_NONE -- no preferred orientation.]]
   horizontal, [[ELM_HOVER_AXIS_HORIZONTAL -- horizontal.]]
   vertical, [[ELM_HOVER_AXIS_VERTICAL -- vertical.]]
   both [[ELM_HOVER_AXIS_BOTH -- both.]]
}

class Elm.Hover (Elm.Layout, Evas.Clickable_Interface)
{
   eo_prefix: elm_obj_hover;
   methods {
      @property target {
         set {
            /*@
            @brief Sets the target object for the hover.

            This function will cause the hover to be centered on the target object.

            @ingroup Hover */
         }
         get {
            /*@
            @brief Get the target object for the hover.

            @return The target object for the hover.

            @see elm_hover_target_set()

            @ingroup Hover */
         }
         values {
            target: Evas.Object *; /*@ The object to center the hover onto. */
         }
      }
      best_content_location_get @const {
         /*@
         @brief Returns the best swallow location for content in the hover.

         @return The edje location to place content into the hover or @c
         NULL, on errors.

         Best is defined here as the location at which there is the most available
         space.

         @p pref_axis may be one of
         - #ELM_HOVER_AXIS_NONE -- no preferred orientation
         - #ELM_HOVER_AXIS_HORIZONTAL -- horizontal
         - #ELM_HOVER_AXIS_VERTICAL -- vertical
         - #ELM_HOVER_AXIS_BOTH -- both

         If #ELM_HOVER_AXIS_HORIZONTAL is chosen the returned position will
         necessarily be along the horizontal axis("left" or "right"). If
         #ELM_HOVER_AXIS_VERTICAL is chosen the returned position will necessarily
         be along the vertical axis("top" or "bottom"). Choosing
         #ELM_HOVER_AXIS_BOTH or #ELM_HOVER_AXIS_NONE has the same effect and the
         returned position may be in either axis.

         @see elm_object_part_content_set()

         @ingroup Hover */
         return: const(char)*;
         params {
            @in pref_axis: Elm.Hover.Axis; /*@ The preferred orientation axis for the hover object to use */
         }
      }
      dismiss {
         /*@
         @brief Dismiss a hover object

         @ingroup Hover */

      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Evas.Object_Smart.del;
      Evas.Object_Smart.hide;
      Evas.Object_Smart.show;
      Evas.Object_Smart.move;
      Evas.Object_Smart.add;
      Evas.Object_Smart.resize;
      Elm.Widget.theme_apply;
      Elm.Widget.sub_object_add;
      Elm.Widget.parent;
      Elm.Widget.focus_direction_manager_is;
      Elm.Widget.focus_next_manager_is;
      Elm.Widget.sub_object_del;
      Elm.Container.content_get;
      Elm.Container.content_set;
      Elm.Container.content_unset;
      Elm.Layout.sizing_eval;
      Elm.Layout.content_aliases.get;
   }
   events {
      smart,changed;
      dismissed;
   }

}