[focus] update child_can_focus on parents, when an widget becomes focusable
[framework/uifw/elementary.git] / src / lib / elm_plug.h
1 /**
2  * @defgroup Plug Plug
3  * @ingroup Elementary
4  *
5  * @image html plug_inheritance_tree.png
6  * @image latex plug_inheritance_tree.eps
7  *
8  * An object that allows one to show an image which other process created.
9  * It can be used anywhere like any other elementary widget.
10  *
11  */
12
13 /**
14  * @addtogroup Plug
15  * @{
16  */
17
18 /**
19  * @typedef Elm_Plug_Message
20  *
21  * Structure holding the message
22  * which elm plug received from ecore evas
23  *
24  */
25 struct _Elm_Plug_Message
26 {
27    int msg_domain;
28    int msg_id;
29    void *data;
30    int size;
31 };
32
33 typedef struct _Elm_Plug_Message Elm_Plug_Message;
34
35 /**
36  * Add a new plug image to the parent.
37  *
38  * @param parent The parent object
39  * @return The new plug image object or NULL if it cannot be created
40  *
41  * @ingroup Plug
42  */
43 EAPI Evas_Object    *elm_plug_add(Evas_Object *parent);
44
45 /**
46  * Connect a plug widget to service provided by socket image.
47  *
48  * @param obj The Evas_Object where the new image object will live.
49  * @param svcname The service name to connect to set up by the socket.
50  * @param svcnum The service number to connect to (set up by socket).
51  * @param svcsys Boolean to set if the service is a system one or not (set up by socket).
52  * @return (@c EINA_TRUE = success, @c EINA_FALSE = error)
53  *
54  * @ingroup Plug
55  */
56 EAPI Eina_Bool       elm_plug_connect(Evas_Object *obj, const char *svcname, int svcnum, Eina_Bool svcsys);
57
58 /**
59  * Get the basic Evas_Image object from this object (widget).
60  *
61  * @param obj The image object to get the inlined image from
62  * @return The inlined image object, or NULL if none exists
63  *
64  * This function allows one to get the underlying @c Evas_Object of type
65  * Image from this elementary widget. It can be useful to do things like get
66  * the pixel data, save the image to a file, etc.
67  *
68  * @note Be careful to not manipulate it, as it is under control of
69  * elementary.
70  *
71  * @ingroup Plug
72  */
73 EAPI Evas_Object    *elm_plug_image_object_get(const Evas_Object *obj);
74
75 /**
76  * Send message to plug widget's socket
77  *
78  * @param obj The plug object to send message
79  * @param msg_domain The domain of message
80  * @param msg_id The id of message
81  * @param data The data of message
82  * @param size The size of message data
83  *
84  * @warning Support for this depends on the underlying windowing system.
85  * @since 1.8.0
86  *
87  */
88 EAPI Eina_Bool       elm_plug_msg_send(Evas_Object *obj, int msg_domain, int msg_id, void *data, int size); 
89
90 /**
91  * @}
92  */