summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_tree_view_seg_array_depth_model.c
blob: 4b6caceb1c5a80bd28f8584ccdd4d4f95e1fbb09 (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
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif

#include "Eina.h"
#include <Efl.h>
#include <Ecore.h>
#include "Eo.h"
#include <assert.h>

#define MY_CLASS EFL_UI_TREE_VIEW_SEG_ARRAY_DEPTH_MODEL_CLASS
#define MY_CLASS_NAME "Efl.Ui.Tree_View_Seg_Array_Depth_Model"

#include "efl_ui_tree_view_seg_array_depth_model.eo.h"
#include "efl_model_accessor_view_private.h"
#include "efl_composite_model_private.h"

typedef struct _Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data
{
   unsigned int depth;
   Eina_Bool readonly;

} Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data;

EOLIAN static Efl_Object *
_efl_ui_tree_view_seg_array_depth_model_efl_object_constructor(Eo *obj, Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data *pd)
{
   obj = efl_constructor(efl_super(obj, MY_CLASS));
   pd->readonly = EINA_FALSE;

   return obj;
}

EOLIAN static Efl_Object *
_efl_ui_tree_view_seg_array_depth_model_efl_object_finalize(Eo *obj, Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data *pd)
{
   pd->readonly = EINA_TRUE;

   return obj;
}

EOLIAN static Eina_Value *
_efl_ui_tree_view_seg_array_depth_model_efl_model_property_get(const Eo *obj,
                                                              Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data *pd,
                                                              const char *property)
{
   if (strcmp("depth", property))
     return efl_model_property_get(efl_super(obj, MY_CLASS), property);

   return eina_value_uint_new(pd->depth);
}

EOLIAN static Eina_Future *
_efl_ui_tree_view_seg_array_depth_model_efl_model_property_set(Eo *obj,
                                                              Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data *pd,
                                                              const char *property, Eina_Value *value)
{
   if (strcmp("depth", property))
     return efl_model_property_set(efl_super(obj, MY_CLASS), property, value);

   if (pd->readonly)
     return efl_loop_future_rejected(obj, EFL_MODEL_ERROR_READ_ONLY);

   eina_value_uint_get(value, &pd->depth);
   return efl_loop_future_resolved(obj, eina_value_uint_init(pd->depth));
}

static Eina_Iterator *
_efl_ui_tree_view_seg_array_depth_model_efl_model_properties_get(const Eo *obj,
                                                              Efl_Ui_Tree_View_Seg_Array_Depth_Model_Data *pd EINA_UNUSED)
{
   EFL_COMPOSITE_MODEL_PROPERTIES_SUPER(props,
                                        obj, MY_CLASS,
                                        NULL,
                                        "depth");
   return props;
}

#include "efl_ui_tree_view_seg_array_depth_model.eo.c"