forked from enlightenment/efl
Elm Dayselector Item: Migrate to Eo
This commit is contained in:
parent
e1d7009ff3
commit
1a56647934
|
@ -605,7 +605,8 @@ elm_web.eo \
|
||||||
elm_widget.eo \
|
elm_widget.eo \
|
||||||
elm_win.eo \
|
elm_win.eo \
|
||||||
elm_widget_item.eo \
|
elm_widget_item.eo \
|
||||||
elm_color_item.eo
|
elm_color_item.eo \
|
||||||
|
elm_dayselector_item.eo
|
||||||
|
|
||||||
elm_eolian_c = $(elm_eolian_files:%.eo=%.eo.c)
|
elm_eolian_c = $(elm_eolian_files:%.eo=%.eo.c)
|
||||||
elm_eolian_h = $(elm_eolian_files:%.eo=%.eo.h)
|
elm_eolian_h = $(elm_eolian_files:%.eo=%.eo.h)
|
||||||
|
@ -718,7 +719,8 @@ elementaryeolianfiles_DATA = \
|
||||||
elm_web.eo \
|
elm_web.eo \
|
||||||
elm_win.eo \
|
elm_win.eo \
|
||||||
elm_widget_item.eo \
|
elm_widget_item.eo \
|
||||||
elm_color_item.eo
|
elm_color_item.eo \
|
||||||
|
elm_dayselector_item.eo
|
||||||
|
|
||||||
EXTRA_DIST += ${elementaryeolianfiles_DATA}
|
EXTRA_DIST += ${elementaryeolianfiles_DATA}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ _elm_dayselector_elm_widget_translate(Eo *obj EINA_UNUSED, Elm_Dayselector_Data
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
struct tm time_daysel;
|
struct tm time_daysel;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
if (sd->weekdays_names_set)
|
if (sd->weekdays_names_set)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
|
@ -85,7 +85,7 @@ _update_items(Evas_Object *obj)
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Eina_Bool rtl;
|
Eina_Bool rtl;
|
||||||
unsigned int last_day;
|
unsigned int last_day;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ _update_items(Evas_Object *obj)
|
||||||
|
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
_item_location_get(Elm_Dayselector_Data *sd,
|
_item_location_get(Elm_Dayselector_Data *sd,
|
||||||
Elm_Dayselector_Item *it)
|
Elm_Dayselector_Item_Data *it)
|
||||||
{
|
{
|
||||||
return (ELM_DAYSELECTOR_MAX - sd->week_start + it->day) %
|
return (ELM_DAYSELECTOR_MAX - sd->week_start + it->day) %
|
||||||
ELM_DAYSELECTOR_MAX;
|
ELM_DAYSELECTOR_MAX;
|
||||||
|
@ -128,7 +128,7 @@ _elm_dayselector_elm_widget_theme_apply(Eo *obj, Elm_Dayselector_Data *sd)
|
||||||
|
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_theme_apply());
|
eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_theme_apply());
|
||||||
if (!int_ret) return EINA_FALSE;
|
if (!int_ret) return EINA_FALSE;
|
||||||
|
@ -158,7 +158,7 @@ _item_del_cb(void *data,
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
ELM_DAYSELECTOR_DATA_GET(data, sd);
|
ELM_DAYSELECTOR_DATA_GET(data, sd);
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ _item_del_cb(void *data,
|
||||||
elm_layout_signal_emit(obj, buf, "elm");
|
elm_layout_signal_emit(obj, buf, "elm");
|
||||||
|
|
||||||
VIEW(it) = NULL;
|
VIEW(it) = NULL;
|
||||||
elm_widget_item_free(it);
|
eo_del((Eo *)EO_OBJ(it));
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
elm_layout_sizing_eval(obj);
|
||||||
break;
|
break;
|
||||||
|
@ -187,7 +187,7 @@ _item_signal_emit_cb(void *data,
|
||||||
const char *emission,
|
const char *emission,
|
||||||
const char *source EINA_UNUSED)
|
const char *source EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Elm_Dayselector_Item *it = data;
|
Elm_Dayselector_Item_Data *it = data;
|
||||||
|
|
||||||
eina_stringshare_replace(&it->day_style, emission);
|
eina_stringshare_replace(&it->day_style, emission);
|
||||||
}
|
}
|
||||||
|
@ -197,17 +197,17 @@ _item_clicked_cb(void *data,
|
||||||
Evas_Object *obj EINA_UNUSED,
|
Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Elm_Dayselector_Item *it = data;
|
Elm_Dayselector_Item_Data *it = data;
|
||||||
|
|
||||||
evas_object_smart_callback_call(WIDGET(it), SIG_CHANGED, (void *)it->day);
|
evas_object_smart_callback_call(WIDGET(it), SIG_CHANGED, (void *)it->day);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Elm_Dayselector_Item *
|
static Elm_Dayselector_Item_Data *
|
||||||
_item_find(const Evas_Object *obj,
|
_item_find(const Evas_Object *obj,
|
||||||
Elm_Dayselector_Day day)
|
Elm_Dayselector_Day day)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
@ -224,7 +224,7 @@ _elm_dayselector_elm_container_content_set(Eo *obj, Elm_Dayselector_Data *sd, co
|
||||||
|
|
||||||
int day;
|
int day;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
Elm_Dayselector_Item *it = NULL;
|
Elm_Dayselector_Item_Data *it = NULL;
|
||||||
|
|
||||||
if (strcmp(elm_object_widget_type_get(content), "Elm_Check"))
|
if (strcmp(elm_object_widget_type_get(content), "Elm_Check"))
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
@ -249,7 +249,8 @@ _elm_dayselector_elm_container_content_set(Eo *obj, Elm_Dayselector_Data *sd, co
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
it = elm_widget_item_new(obj, Elm_Dayselector_Item);
|
Eo *eo_it = eo_add(ELM_DAYSELECTOR_ITEM_CLASS, obj);
|
||||||
|
it = eo_data_scope_get(eo_it, ELM_DAYSELECTOR_ITEM_CLASS);
|
||||||
it->day = day;
|
it->day = day;
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "day%d", _item_location_get(sd, it));
|
snprintf(buf, sizeof(buf), "day%d", _item_location_get(sd, it));
|
||||||
|
@ -257,7 +258,7 @@ _elm_dayselector_elm_container_content_set(Eo *obj, Elm_Dayselector_Data *sd, co
|
||||||
eo_do_super(obj, MY_CLASS, int_ret = elm_obj_container_content_set(buf, content));
|
eo_do_super(obj, MY_CLASS, int_ret = elm_obj_container_content_set(buf, content));
|
||||||
if (!int_ret)
|
if (!int_ret)
|
||||||
{
|
{
|
||||||
elm_widget_item_free(it);
|
eo_del(eo_it);
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,13 +288,20 @@ _elm_dayselector_elm_container_content_set(Eo *obj, Elm_Dayselector_Data *sd, co
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static void
|
||||||
|
_elm_dayselector_item_eo_base_constructor(Eo *eo_item, Elm_Dayselector_Item_Data *item)
|
||||||
|
{
|
||||||
|
eo_do_super(eo_item, ELM_DAYSELECTOR_ITEM_CLASS, eo_constructor());
|
||||||
|
item->base = eo_data_scope_get(eo_item, ELM_WIDGET_ITEM_CLASS);
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static Evas_Object*
|
EOLIAN static Evas_Object*
|
||||||
_elm_dayselector_elm_container_content_unset(Eo *obj, Elm_Dayselector_Data *sd, const char *item)
|
_elm_dayselector_elm_container_content_unset(Eo *obj, Elm_Dayselector_Data *sd, const char *item)
|
||||||
{
|
{
|
||||||
int day;
|
int day;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
Evas_Object *content;
|
Evas_Object *content;
|
||||||
Elm_Dayselector_Item *it = NULL;
|
Elm_Dayselector_Item_Data *it = NULL;
|
||||||
|
|
||||||
day = atoi(item + (strlen(item) - 1));
|
day = atoi(item + (strlen(item) - 1));
|
||||||
if (day < 0 || day > ELM_DAYSELECTOR_MAX) return NULL;
|
if (day < 0 || day > ELM_DAYSELECTOR_MAX) return NULL;
|
||||||
|
@ -323,7 +331,7 @@ _elm_dayselector_elm_container_content_unset(Eo *obj, Elm_Dayselector_Data *sd,
|
||||||
elm_layout_signal_emit(obj, buf, "elm");
|
elm_layout_signal_emit(obj, buf, "elm");
|
||||||
|
|
||||||
VIEW(it) = NULL;
|
VIEW(it) = NULL;
|
||||||
elm_widget_item_free(it);
|
eo_del((Eo *)EO_OBJ(it));
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
elm_layout_sizing_eval(obj);
|
||||||
|
|
||||||
|
@ -334,7 +342,7 @@ static void
|
||||||
_items_style_set(Evas_Object *obj)
|
_items_style_set(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
unsigned int weekend_last;
|
unsigned int weekend_last;
|
||||||
|
|
||||||
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
ELM_DAYSELECTOR_DATA_GET(obj, sd);
|
||||||
|
@ -424,13 +432,13 @@ _elm_dayselector_evas_object_smart_add(Eo *obj, Elm_Dayselector_Data *priv)
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_dayselector_evas_object_smart_del(Eo *obj, Elm_Dayselector_Data *sd)
|
_elm_dayselector_evas_object_smart_del(Eo *obj, Elm_Dayselector_Data *sd)
|
||||||
{
|
{
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
EINA_LIST_FREE(sd->items, it)
|
EINA_LIST_FREE(sd->items, it)
|
||||||
{
|
{
|
||||||
sd->items = eina_list_remove(sd->items, it);
|
sd->items = eina_list_remove(sd->items, it);
|
||||||
eina_stringshare_del(it->day_style);
|
eina_stringshare_del(it->day_style);
|
||||||
elm_widget_item_free(it);
|
eo_del((Eo *)EO_OBJ(it));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* handles freeing sd */
|
/* handles freeing sd */
|
||||||
|
@ -473,7 +481,7 @@ _elm_dayselector_week_start_set(Eo *obj, Elm_Dayselector_Data *sd, Elm_Dayselect
|
||||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
|
|
||||||
/* just shuffling items, so swalling them directly */
|
/* just shuffling items, so swalling them directly */
|
||||||
sd->week_start = day;
|
sd->week_start = day;
|
||||||
|
@ -529,7 +537,7 @@ _elm_dayselector_weekdays_names_set(Eo *obj, Elm_Dayselector_Data *sd, const cha
|
||||||
int idx;
|
int idx;
|
||||||
time_t now;
|
time_t now;
|
||||||
struct tm time_daysel;
|
struct tm time_daysel;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
|
||||||
if (weekdays)
|
if (weekdays)
|
||||||
|
@ -561,7 +569,7 @@ _elm_dayselector_weekdays_names_get(Eo *obj, Elm_Dayselector_Data *sd EINA_UNUSE
|
||||||
{
|
{
|
||||||
int idx;
|
int idx;
|
||||||
const char *weekday;
|
const char *weekday;
|
||||||
Elm_Dayselector_Item *it;
|
Elm_Dayselector_Item_Data *it;
|
||||||
Eina_List *weekdays = NULL;
|
Eina_List *weekdays = NULL;
|
||||||
|
|
||||||
for (idx = 0; idx < ELM_DAYSELECTOR_MAX; idx++)
|
for (idx = 0; idx < ELM_DAYSELECTOR_MAX; idx++)
|
||||||
|
@ -586,3 +594,5 @@ _elm_dayselector_class_constructor(Eo_Class *klass)
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "elm_dayselector.eo.c"
|
#include "elm_dayselector.eo.c"
|
||||||
|
#include "elm_dayselector_item.eo.c"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
class Elm_Dayselector_Item(Elm_Widget_Item)
|
||||||
|
{
|
||||||
|
legacy_prefix: null;
|
||||||
|
eo_prefix: elm_dayselector_item;
|
||||||
|
implements {
|
||||||
|
Eo.Base.constructor;
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,6 +2,9 @@
|
||||||
#define ELM_WIDGET_DAYSELECTOR_H
|
#define ELM_WIDGET_DAYSELECTOR_H
|
||||||
|
|
||||||
#include "Elementary.h"
|
#include "Elementary.h"
|
||||||
|
#include "elm_dayselector_item.eo.h"
|
||||||
|
|
||||||
|
#include "elm_object_item_migration_temp.h"
|
||||||
|
|
||||||
/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
|
/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
|
||||||
* CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
|
* CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
|
||||||
|
@ -33,10 +36,10 @@ struct _Elm_Dayselector_Data
|
||||||
Eina_Bool weekdays_names_set : 1;
|
Eina_Bool weekdays_names_set : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _Elm_Dayselector_Item Elm_Dayselector_Item;
|
typedef struct _Elm_Dayselector_Item_Data Elm_Dayselector_Item_Data;
|
||||||
struct _Elm_Dayselector_Item
|
struct _Elm_Dayselector_Item_Data
|
||||||
{
|
{
|
||||||
ELM_WIDGET_ITEM;
|
Elm_Widget_Item_Data *base;
|
||||||
Elm_Dayselector_Day day;
|
Elm_Dayselector_Day day;
|
||||||
const char *day_style;
|
const char *day_style;
|
||||||
};
|
};
|
||||||
|
@ -70,4 +73,7 @@ struct _Elm_Dayselector_Item
|
||||||
if (EINA_UNLIKELY(!eo_isa((obj), ELM_DAYSELECTOR_CLASS))) \
|
if (EINA_UNLIKELY(!eo_isa((obj), ELM_DAYSELECTOR_CLASS))) \
|
||||||
return
|
return
|
||||||
|
|
||||||
|
#define ELM_DAYSELECTOR_ITEM_DATA_GET(o, sd) \
|
||||||
|
Elm_Dayselector_Item_Data * sd = eo_data_scope_get((Eo *)o, ELM_DAYSELECTOR_ITEM_CLASS)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue