4c1a284812ed22818df316e9824bd38d8da679bf
[profile/ivi/eobj.git] / src / examples / evas / elw_boxedbutton.c
1 #include <Elementary.h>
2
3 #include "Eo.h"
4 #include "evas_obj.h"
5 #include "elw_box.h"
6 #include "elw_button.h"
7 #include "elw_boxedbutton.h"
8
9 #include "config.h"
10
11 typedef struct
12 {
13 //   Evas_Object *bx;
14 } Widget_Data;
15
16 #define MY_CLASS ELW_BOXEDBUTTON_CLASS
17
18 static void
19 _constructor(Eo *obj, void *class_data EINA_UNUSED, va_list *list EINA_UNUSED)
20 {
21    eo_do_super(obj, eo_constructor());
22
23    Eo *bt = eo_add(ELW_BUTTON_CLASS, obj);
24    eo_composite_attach(bt, obj);
25    eo_do(bt, eo_event_callback_forwarder_add(EV_CLICKED, obj));
26    eo_do(bt, evas_obj_visibility_set(EINA_TRUE));
27
28    eo_do(obj, elw_box_pack_end(bt));
29    eo_unref(bt);
30 }
31
32 static void
33 _class_constructor(Eo_Class *klass)
34 {
35    const Eo_Op_Func_Description func_desc[] = {
36         EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
37         EO_OP_FUNC_SENTINEL
38    };
39
40    eo_class_funcs_set(klass, func_desc);
41 }
42
43 static const Eo_Class_Description class_desc = {
44      "Elw BoxedButton",
45      EO_CLASS_TYPE_REGULAR,
46      EO_CLASS_DESCRIPTION_OPS(NULL, NULL, 0),
47      NULL,
48      sizeof(Widget_Data),
49      _class_constructor,
50      NULL
51 };
52
53 EO_DEFINE_CLASS(elw_boxedbutton_class_get, &class_desc, ELW_BOX_CLASS, ELW_BUTTON_CLASS, NULL)
54