Evas_Coord w_box, h_box;\r
};\r
\r
+static const char *widtype = NULL;\r
\r
static void _del_hook(Evas_Object *obj);\r
static void _theme_hook(Evas_Object *obj);\r
static void\r
_del_hook(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if(!wd) return;\r
\r
static void\r
_theme_hook(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd) return;\r
\r
_elm_theme_object_set(obj, wd->base, "multibuttonentry", "base", elm_widget_style_get(obj));\r
+ // re swallow \r
+ //edje_object_scale_set(wd->btn, elm_widget_scale_get(obj) * _elm_config->scale);\r
+ // refer to button\r
_sizing_eval(obj);\r
}\r
\r
static void\r
_sizing_eval(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
Evas_Coord minw = -1, minh = -1, minw_box = -1, minh_box = -1;\r
Evas_Coord left_padding, right_padding, top_padding, bottom_padding;\r
static void \r
_resize_cb(void *data, Evas *evas, Evas_Object *obj, void *event)\r
{\r
+ ELM_CHECK_WIDTYPE(data, widtype);\r
Widget_Data *wd = elm_widget_data_get(data); \r
if (!wd) return;\r
- evas_object_geometry_get(wd->box, NULL, NULL, &wd->w_box, &wd->h_box);\r
+\r
+ evas_object_geometry_get(wd->box, NULL, NULL, &wd->w_box, &wd->h_box); \r
+ evas_object_resize(wd->box, 0, 0);\r
+ edje_object_part_swallow(wd->base, "box.swallow", wd->box);\r
}\r
\r
static void\r
_event_init(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if(!wd || !wd->base) return;\r
evas_object_event_callback_add(wd->base, EVAS_CALLBACK_RESIZE, _resize_cb, obj);\r
static void\r
_set_label(Evas_Object *obj, const char* str)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if(!wd) return;\r
\r
static void\r
_change_current_button(Evas_Object *obj, Evas_Object *btn)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
+ Widget_Data *wd = elm_widget_data_get(obj);\r
Eina_List *l;\r
Elm_Multibuttonentry_Item *item;\r
- Widget_Data *wd = elm_widget_data_get(obj);\r
Evas_Object *label;\r
if (!wd) return;\r
\r
static void\r
_button_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)\r
{\r
+ ELM_CHECK_WIDTYPE(data, widtype);\r
Widget_Data *wd = elm_widget_data_get(data);\r
if (!wd) return;\r
\r
static void\r
_del_button_obj(Evas_Object *obj, Evas_Object *btn)\r
{\r
- Evas_Object *label;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
+ Evas_Object *label;\r
if(!wd || !btn) return;\r
\r
if(btn){ \r
if(!item) return;\r
Widget_Data *wd;\r
\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd) return;\r
\r
static void\r
_del_button(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
Elm_Multibuttonentry_Item *item;\r
if(!wd || !wd->items) return;\r
Evas_Object *btn;\r
Evas_Object *label;\r
Evas_Coord w_label, h_label, w_btn, h_btn, padding_outer, padding_inner;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if(!wd || !wd->box || !wd->entry) return NULL;\r
\r
static void\r
_add_button(Evas_Object *obj, char *str)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if(!wd) return;\r
\r
static void\r
_evas_key_up_cb(void *data, Evas *e , Evas_Object *obj , void *event_info )\r
{\r
- Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info;\r
+ ELM_CHECK_WIDTYPE(data, widtype);\r
Widget_Data *wd = elm_widget_data_get(data);\r
+ Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info;\r
static char str[MAX_STR]; \r
if(!wd || !wd->base || !wd->box) return;\r
\r
static void \r
_view_init(Evas_Object *obj)\r
{ \r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj); \r
if (!wd) return;\r
\r
wd = ELM_NEW(Widget_Data);\r
e = evas_object_evas_get(parent);\r
obj = elm_widget_add(e);\r
+ ELM_SET_WIDTYPE(widtype, "multibuttonentry");\r
elm_widget_type_set(obj, "multibuttonentry");\r
elm_widget_sub_object_add(parent, obj);\r
elm_widget_data_set(obj, wd);\r
EAPI const char *\r
elm_multibuttonentry_label_get(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd) return NULL;\r
\r
EAPI void\r
elm_multibuttonentry_label_set(Evas_Object *obj, const char *label)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd) return;\r
\r
EAPI Evas_Object *\r
elm_multibuttonentry_entry_get(Evas_Object *obj)\r
{\r
- Widget_Data *wd = elm_widget_data_get(obj);\r
- if (!wd) return NULL;\r
- \r
- return wd->entry;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
+ Widget_Data *wd = elm_widget_data_get(obj);\r
+ if (!wd) return NULL;\r
+\r
+ return wd->entry;\r
}\r
\r
/**\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_add_start(Evas_Object *obj, const char *label, void *data)\r
{\r
- Elm_Multibuttonentry_Item *item;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
+ Elm_Multibuttonentry_Item *item;\r
if (!wd) return NULL;\r
\r
item = _add_button_item(obj, label, MULTIBUTONENTRY_POS_START, NULL, data);\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_add_end(Evas_Object *obj, const char *label, void *data)\r
{\r
- Elm_Multibuttonentry_Item *item;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
+ Elm_Multibuttonentry_Item *item;\r
if (!wd) return NULL;\r
\r
item = _add_button_item(obj, label, MULTIBUTONENTRY_POS_END, NULL, data);\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_add_before(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *before, void *data)\r
{\r
- Elm_Multibuttonentry_Item *item;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
+ Elm_Multibuttonentry_Item *item;\r
if (!wd) return NULL;\r
\r
item = _add_button_item(obj, label, MULTIBUTONENTRY_POS_BEFORE, before, data);\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_add_after(Evas_Object *obj, const char *label, Elm_Multibuttonentry_Item *after, void *data)\r
{\r
- Elm_Multibuttonentry_Item *item;\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
+ Elm_Multibuttonentry_Item *item;\r
if (!wd) return NULL;\r
\r
item = _add_button_item(obj, label, MULTIBUTONENTRY_POS_AFTER, after, data);\r
EAPI const Eina_List *\r
elm_multibuttonentry_items_get(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd) return NULL;\r
return wd->items;\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_first_get(Evas_Object *obj)\r
{\r
- Widget_Data *wd;\r
- if (!obj) return NULL;\r
- wd = elm_widget_data_get(obj);\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
+ Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd || !wd->items) return NULL;\r
return eina_list_data_get(wd->items);\r
}\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_last_get(Evas_Object *obj)\r
{\r
- Widget_Data *wd;\r
- if (!obj) return NULL;\r
- wd = elm_widget_data_get(obj);\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
+ Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd || !wd->items) return NULL;\r
return eina_list_data_get(eina_list_last(wd->items));\r
}\r
EAPI Elm_Multibuttonentry_Item *\r
elm_multibuttonentry_item_selected_get(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd || !wd->current) return NULL;\r
return eina_list_data_get(wd->current);\r
Elm_Multibuttonentry_Item *_item;\r
\r
if (!item) return;\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd) return;\r
\r
EAPI void\r
elm_multibuttonentry_items_del(Evas_Object *obj)\r
{\r
+ ELM_CHECK_WIDTYPE(obj, widtype);\r
Widget_Data *wd = elm_widget_data_get(obj);\r
if (!wd) return;\r
\r
Elm_Multibuttonentry_Item *_item;\r
\r
if (!item) return NULL;\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd || !wd->items) return NULL;\r
\r
Elm_Multibuttonentry_Item *_item;\r
\r
if (!item || !str) return;\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd || !wd->items) return;\r
\r
Elm_Multibuttonentry_Item *_item;\r
\r
if (!item) return NULL;\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd || !wd->items) return NULL;\r
\r
Elm_Multibuttonentry_Item *_item;\r
\r
if (!item) return NULL;\r
+ ELM_CHECK_WIDTYPE(item->multibuttonentry, widtype);\r
wd = elm_widget_data_get(item->multibuttonentry);\r
if (!wd || !wd->items) return NULL;\r
\r