more warning fixes!

SVN revision: 47076
This commit is contained in:
Carsten Haitzler 2010-03-09 11:42:53 +00:00
parent 6792e2db2c
commit d32e700fe3
9 changed files with 199 additions and 219 deletions

View File

@ -28,6 +28,7 @@ static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->label) eina_stringshare_del(wd->label);
if (wd->info) eina_stringshare_del(wd->info);
free(wd);
@ -37,6 +38,7 @@ static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_elm_theme_set(wd->bbl, "bubble", "base", elm_widget_style_get(obj));
edje_object_part_text_set(wd->bbl, "elm.text", wd->label);
edje_object_part_text_set(wd->bbl, "elm.info", wd->info);
@ -49,7 +51,7 @@ _sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
if (!wd) return;
edje_object_size_min_calc(wd->bbl, &minw, &minh);
evas_object_size_hint_min_set(obj, minw, minh);
evas_object_size_hint_max_set(obj, maxw, maxh);
@ -59,6 +61,7 @@ static void
_changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
_sizing_eval(data);
}
@ -67,7 +70,7 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *sub = event_info;
if (!wd) return;
evas_object_event_callback_del_full(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
if (sub == wd->content) wd->content = NULL;
@ -128,6 +131,7 @@ elm_bubble_label_set(Evas_Object *obj, const char *label)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->label) eina_stringshare_del(wd->label);
if (label) wd->label = eina_stringshare_add(label);
else wd->label = NULL;
@ -138,7 +142,7 @@ elm_bubble_label_set(Evas_Object *obj, const char *label)
EAPI const char*
elm_bubble_label_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->label;
@ -162,6 +166,7 @@ elm_bubble_info_set(Evas_Object *obj, const char *info)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->info) eina_stringshare_del(wd->info);
if (info) wd->info = eina_stringshare_add(info);
else wd->info = NULL;
@ -185,6 +190,7 @@ elm_bubble_content_set(Evas_Object *obj, Evas_Object *content)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if ((wd->content != content) && (wd->content))
elm_widget_sub_object_del(obj, wd->content);
wd->content = content;
@ -214,6 +220,7 @@ elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if ((wd->icon != icon) && (wd->icon))
elm_widget_sub_object_del(obj, wd->icon);
wd->icon = icon;
@ -230,7 +237,7 @@ elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon)
EAPI Evas_Object *
elm_bubble_icon_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->icon;
@ -251,6 +258,7 @@ elm_bubble_corner_set(Evas_Object *obj, const char *corner)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_elm_theme_set(wd->bbl, "bubble", corner, elm_widget_style_get(obj));
if (wd->icon)
edje_object_part_swallow(wd->bbl, "elm.swallow.icon", wd->icon);

View File

@ -43,6 +43,7 @@ static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
int i;
for (i = 0; i < 6; i++)
{
@ -57,6 +58,7 @@ static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->cur.am_pm = !wd->cur.am_pm; /* hack - force update */
_time_update(obj);
}
@ -69,7 +71,7 @@ _ticker(void *data)
struct timeval timev;
struct tm *tm;
time_t tt;
if (!wd) return 0;
gettimeofday(&timev, NULL);
t = ((double)(1000000 - timev.tv_usec)) / 1000000.0;
wd->ticker = ecore_timer_add(t, _ticker, data);
@ -93,7 +95,7 @@ static void
_signal_clock_val_up(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (!wd->edit) return;
if (obj == wd->digit[0])
{
@ -138,7 +140,7 @@ static void
_signal_clock_val_down(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (!wd->edit) return;
if (obj == wd->digit[0])
{
@ -186,7 +188,7 @@ _time_update(Evas_Object *obj)
Edje_Message_Int msg;
int ampm = 0;
const char *style = elm_widget_style_get(obj);
if (!wd) return;
if ((wd->cur.seconds != wd->seconds) || (wd->cur.am_pm != wd->am_pm) ||
(wd->cur.edit != wd->edit))
{
@ -356,8 +358,6 @@ _time_update(Evas_Object *obj)
if (wd->hrs >= 12) ampm = 1;
if (ampm != wd->cur.ampm)
{
int d1, d2, dc1, dc2;
if (wd->cur.ampm != ampm)
{
msg.val = ampm;
@ -428,6 +428,7 @@ elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->hrs = hrs;
wd->min = min;
wd->sec = sec;
@ -455,6 +456,7 @@ elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (hrs) *hrs = wd->hrs;
if (min) *min = wd->min;
if (sec) *sec = wd->sec;
@ -475,6 +477,7 @@ elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->edit = edit;
_time_update(obj);
}
@ -498,6 +501,7 @@ elm_clock_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->am_pm = am_pm;
_time_update(obj);
}
@ -519,6 +523,7 @@ elm_clock_show_seconds_set(Evas_Object *obj, Eina_Bool seconds)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->seconds = seconds;
_time_update(obj);
}

View File

@ -95,7 +95,6 @@ static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Eina_List *l;
Elm_Entry_Context_Menu_Item *it;
if ((wd->api) && (wd->api->obj_unhook)) wd->api->obj_unhook(obj); // module - unhook
@ -154,9 +153,9 @@ static void
_elm_win_recalc_job(void *data)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
Evas_Coord minw = -1, minh = -1, maxh = -1;
Evas_Coord resw, resh, minminw;
if (!wd) return;
wd->deferred_recalc_job = NULL;
evas_object_geometry_get(wd->ent, NULL, NULL, &resw, &resh);
resh = 0;
@ -178,8 +177,8 @@ _sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
Evas_Coord resw, resh, minminw;
Evas_Coord resw, resh;
if (!wd) return;
if (wd->linewrap || wd->char_linewrap)
{
evas_object_geometry_get(wd->ent, NULL, NULL, &resw, &resh);
@ -205,7 +204,7 @@ _on_focus_hook(void *data, Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *top = elm_widget_top_get(obj);
if (!wd) return;
if (!wd->editable) return;
if (elm_widget_focus_get(obj))
{
@ -226,7 +225,7 @@ _hoversel_position(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord cx, cy, cw, ch, x, y, mw, mh;
if (!wd) return;
evas_object_geometry_get(wd->ent, &x, &y, NULL, NULL);
edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
&cx, &cy, &cw, &ch);
@ -257,7 +256,7 @@ static void
_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (wd->linewrap || wd->char_linewrap)
{
_sizing_eval(data);
@ -271,7 +270,7 @@ static void
_dismissed(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (wd->hoversel) evas_object_hide(wd->hoversel);
if (wd->selmode)
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 1);
@ -282,7 +281,7 @@ static void
_select(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->selmode = EINA_TRUE;
edje_object_part_text_select_none(wd->ent, "elm.text");
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 1);
@ -294,7 +293,7 @@ static void
_paste(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "selection,paste", NULL);
if (wd->sel_notify_handler)
{
@ -318,7 +317,7 @@ _store_selection(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
const char *sel = edje_object_part_text_selection_get(wd->ent, "elm.text");
if (!wd) return;
if (wd->cut_sel) eina_stringshare_del(wd->cut_sel);
wd->cut_sel = eina_stringshare_add(sel);
}
@ -341,7 +340,7 @@ static void
_copy(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->selmode = EINA_FALSE;
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
@ -354,7 +353,7 @@ static void
_cancel(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->selmode = EINA_FALSE;
edje_object_part_text_select_allow_set(wd->ent, "elm.text", 0);
edje_object_signal_emit(wd->ent, "elm,state,select,off", "elm");
@ -367,7 +366,6 @@ _item_clicked(void *data, Evas_Object *obj, void *event_info)
{
Elm_Entry_Context_Menu_Item *it = data;
Evas_Object *obj2 = it->obj;
if (it->func) it->func(it->data, obj2, NULL);
}
@ -378,7 +376,7 @@ _long_press(void *data)
Evas_Object *top;
const Eina_List *l;
const Elm_Entry_Context_Menu_Item *it;
if (!wd) return 0;
if ((wd->api) && (wd->api->obj_longpress))
{
wd->api->obj_longpress(data);
@ -449,7 +447,7 @@ _mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Event_Mouse_Down *ev = event_info;
if (!wd) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
if (ev->button != 1) return;
// if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK)
@ -464,7 +462,7 @@ _mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Event_Mouse_Up *ev = event_info;
if (!wd) return;
if (ev->button != 1) return;
if (wd->longpress_timer)
{
@ -478,7 +476,7 @@ _mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Event_Mouse_Move *ev = event_info;
if (!wd) return;
if (!wd->selmode)
{
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
@ -528,7 +526,7 @@ static const char *
_getbase(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return "base";
if (wd->editable)
{
if (wd->password) return "base-password";
@ -602,7 +600,7 @@ _mkup_to_text(const char *mkup)
{
if (tag_end)
{
char *ttag, *match;
char *ttag;
ttag = malloc(tag_end - tag_start);
if (ttag)
@ -717,7 +715,7 @@ _text_to_mkup(const char *text)
for (;;)
{
pos = pos2;
pos2 = evas_string_char_next_get((unsigned char *)(text), pos2, &ch);
pos2 = evas_string_char_next_get((char *)(text), pos2, &ch);
if ((ch <= 0) || (pos2 <= 0)) break;
if (ch == '\n')
str = _str_append(str, "<br>", &str_len, &str_alloc);
@ -745,7 +743,7 @@ static void
_signal_entry_changed(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->changed = EINA_TRUE;
_sizing_eval(data);
if (wd->stripped) eina_stringshare_del(wd->stripped);
@ -759,7 +757,7 @@ _signal_selection_start(void *data, Evas_Object *obj, const char *emission, cons
Widget_Data *wd = elm_widget_data_get(data);
const Eina_List *l;
Evas_Object *entry;
if (!wd) return;
EINA_LIST_FOREACH(entries, l, entry)
{
if (entry != data) elm_entry_select_none(entry);
@ -789,7 +787,7 @@ static void
_signal_selection_changed(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->have_selection = EINA_TRUE;
evas_object_smart_callback_call(data, "selection,changed", NULL);
if (wd->sel_notify_handler)
@ -815,7 +813,7 @@ static void
_signal_selection_cleared(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (!wd->have_selection) return;
wd->have_selection = EINA_FALSE;
evas_object_smart_callback_call(data, "selection,cleared", NULL);
@ -860,7 +858,7 @@ static void
_signal_entry_paste_request(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "selection,paste", NULL);
if (wd->sel_notify_handler)
{
@ -882,7 +880,7 @@ static void
_signal_entry_copy_notify(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "selection,copy", NULL);
}
@ -891,7 +889,7 @@ _signal_entry_cut_notify(void *data, Evas_Object *obj, const char *emission, con
{
Widget_Data *wd = elm_widget_data_get(data);
char *txt;
if (!wd) return;
evas_object_smart_callback_call(data, "selection,cut", NULL);
if (wd->cut_sel) eina_stringshare_del(wd->cut_sel);
wd->cut_sel = NULL;
@ -911,7 +909,7 @@ _signal_cursor_changed(void *data, Evas_Object *obj, const char *emission, const
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord cx, cy, cw, ch;
if (!wd) return;
evas_object_smart_callback_call(data, "cursor,changed", NULL);
edje_object_part_text_cursor_geometry_get(wd->ent, "elm.text",
&cx, &cy, &cw, &ch);
@ -931,6 +929,7 @@ static void
_signal_anchor_down(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
}
static void
@ -938,9 +937,8 @@ _signal_anchor_up(void *data, Evas_Object *obj, const char *emission, const char
{
Widget_Data *wd = elm_widget_data_get(data);
Elm_Entry_Anchor_Info ei;
char *buf, *buf2, *p, *p2, *n;
int buflen;
char *buf2, *p, *p2, *n;
if (!wd) return;
p = strrchr(emission, ',');
if (p)
{
@ -992,24 +990,28 @@ static void
_signal_anchor_move(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
}
static void
_signal_anchor_in(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
}
static void
_signal_anchor_out(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
}
static void
_signal_key_enter(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "activated", NULL);
}
@ -1017,6 +1019,7 @@ static void
_signal_mouse_down(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "press", NULL);
}
@ -1024,6 +1027,7 @@ static void
_signal_mouse_up(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "clicked", NULL);
}
@ -1031,6 +1035,7 @@ static void
_signal_mouse_double(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_smart_callback_call(data, "clicked,double", NULL);
}
@ -1040,7 +1045,7 @@ _event_selection_notify(void *data, int type, void *event)
{
Widget_Data *wd = elm_widget_data_get(data);
Ecore_X_Event_Selection_Notify *ev = event;
if (!wd) return 1;
if (!wd->selection_asked) return 1;
if ((ev->selection == ECORE_X_SELECTION_CLIPBOARD) ||
(ev->selection == ECORE_X_SELECTION_PRIMARY))
@ -1071,7 +1076,7 @@ _event_selection_clear(void *data, int type, void *event)
{
Widget_Data *wd = elm_widget_data_get(data);
Ecore_X_Event_Selection_Clear *ev = event;
if (!wd) return 1;
if (!wd->have_selection) return 1;
if ((ev->selection == ECORE_X_SELECTION_CLIPBOARD) ||
(ev->selection == ECORE_X_SELECTION_PRIMARY))
@ -1186,7 +1191,7 @@ elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line)
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
const char *t;
if (!wd) return;
if (wd->single_line == single_line) return;
wd->single_line = single_line;
wd->linewrap = EINA_FALSE;
@ -1204,7 +1209,7 @@ elm_entry_password_set(Evas_Object *obj, Eina_Bool password)
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
const char *t;
if (!wd) return;
if (wd->password == password) return;
wd->password = password;
wd->single_line = EINA_TRUE;
@ -1222,7 +1227,7 @@ elm_entry_entry_set(Evas_Object *obj, const char *entry)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (!entry) entry = "<br>";
edje_object_part_text_set(wd->ent, "elm.text", entry);
wd->changed = EINA_TRUE;
@ -1232,11 +1237,10 @@ elm_entry_entry_set(Evas_Object *obj, const char *entry)
EAPI const char *
elm_entry_entry_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
const char *text, *s = NULL;
size_t len;
if (!wd) return NULL;
// Strip ending <br> that is added by the textblock
// need to check if <br> is present? seems it is always there
@ -1263,9 +1267,8 @@ elm_entry_entry_get(const Evas_Object *obj)
EAPI const char *
elm_entry_selection_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return edje_object_part_text_selection_get(wd->ent, "elm.text");
}
@ -1275,7 +1278,7 @@ elm_entry_entry_insert(Evas_Object *obj, const char *entry)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_insert(wd->ent, "elm.text", entry);
wd->changed = EINA_TRUE;
_sizing_eval(obj);
@ -1287,7 +1290,7 @@ elm_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap)
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
const char *t;
if (!wd) return;
if (wd->linewrap == wrap) return;
wd->linewrap = wrap;
if(wd->linewrap)
@ -1305,7 +1308,7 @@ elm_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap)
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
const char *t;
if (!wd) return;
if (wd->char_linewrap == wrap) return;
wd->char_linewrap = wrap;
if(wd->char_linewrap)
@ -1323,7 +1326,7 @@ elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable)
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
const char *t;
if (!wd) return;
if (wd->editable == editable) return;
wd->editable = editable;
t = eina_stringshare_add(elm_entry_entry_get(obj));
@ -1338,7 +1341,7 @@ elm_entry_select_none(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->selmode)
{
wd->selmode = EINA_FALSE;
@ -1354,7 +1357,7 @@ elm_entry_select_all(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->selmode)
{
wd->selmode = EINA_FALSE;
@ -1368,32 +1371,36 @@ elm_entry_select_all(Evas_Object *obj)
EAPI Eina_Bool
elm_entry_cursor_next(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_next(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
EAPI Eina_Bool
elm_entry_cursor_prev(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_prev(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
EAPI Eina_Bool
elm_entry_cursor_up(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_up(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
EAPI Eina_Bool
elm_entry_cursor_down(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_down(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1402,6 +1409,7 @@ elm_entry_cursor_begin_set(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_cursor_begin_set(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1410,6 +1418,7 @@ elm_entry_cursor_end_set(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_cursor_end_set(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1418,6 +1427,7 @@ elm_entry_cursor_line_begin_set(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_cursor_line_begin_set(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1426,6 +1436,7 @@ elm_entry_cursor_line_end_set(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_cursor_line_end_set(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1434,6 +1445,7 @@ elm_entry_cursor_selection_begin(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_select_all(wd->ent, "elm.text");
edje_object_part_text_cursor_copy(wd->ent, "elm.text", EDJE_CURSOR_MAIN, EDJE_CURSOR_SELECTION_BEGIN);
edje_object_part_text_cursor_copy(wd->ent, "elm.text", EDJE_CURSOR_MAIN, EDJE_CURSOR_SELECTION_END);
@ -1444,30 +1456,34 @@ elm_entry_cursor_selection_end(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_cursor_copy(wd->ent, "elm.text", EDJE_CURSOR_MAIN, EDJE_CURSOR_SELECTION_END);
}
EAPI Eina_Bool
elm_entry_cursor_is_format_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_is_format_get(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
EAPI Eina_Bool
elm_entry_cursor_is_visible_format_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return edje_object_part_text_cursor_is_visible_format_get(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
EAPI const char *
elm_entry_cursor_content_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return edje_object_part_text_cursor_content_get(wd->ent, "elm.text", EDJE_CURSOR_MAIN);
}
@ -1476,6 +1492,7 @@ elm_entry_selection_cut(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_cut(obj, NULL, NULL);
}
@ -1484,6 +1501,7 @@ elm_entry_selection_copy(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_copy(obj, NULL, NULL);
}
@ -1492,6 +1510,7 @@ elm_entry_selection_paste(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_paste(obj, NULL, NULL);
}
@ -1500,9 +1519,7 @@ elm_entry_context_menu_clear(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
Eina_List *l;
Elm_Entry_Context_Menu_Item *it;
if (!wd) return;
EINA_LIST_FREE(wd->items, it)
{
@ -1519,7 +1536,6 @@ elm_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
Elm_Entry_Context_Menu_Item *it;
if (!wd) return;
it = calloc(1, sizeof(Elm_Entry_Context_Menu_Item));
if (!it) return;
@ -1545,7 +1561,7 @@ elm_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled)
EAPI Eina_Bool
elm_entry_context_menu_disabled_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return !wd->context_menu;

View File

@ -27,6 +27,7 @@ static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
free(wd);
}
@ -34,7 +35,7 @@ static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_elm_theme_set(wd->frm, "frame", "base", elm_widget_style_get(obj));
if (wd->content)
edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
@ -47,6 +48,7 @@ _sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1;
if (!wd) return;
edje_object_size_min_calc(wd->frm, &minw, &minh);
evas_object_size_hint_min_set(obj, minw, minh);
evas_object_size_hint_max_set(obj, -1, -1);
@ -58,6 +60,7 @@ _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
Widget_Data *wd = elm_widget_data_get(data);
// FIXME: why is this needed? how does edje get this unswallowed or
// lose its callbacks to edje
if (!wd) return;
edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
_sizing_eval(data);
}
@ -67,7 +70,7 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *sub = event_info;
if (!wd) return;
if (sub == wd->content)
{
evas_object_event_callback_del_full(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
@ -125,7 +128,7 @@ elm_frame_label_set(Evas_Object *obj, const char *label)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_part_text_set(wd->frm, "elm.text", label);
_sizing_eval(obj);
}
@ -139,12 +142,11 @@ elm_frame_label_set(Evas_Object *obj, const char *label)
*
* @ingroup Frame
*/
EAPI const char*
EAPI const char *
elm_frame_label_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if ((!wd) || (!wd->frm)) return NULL;
return edje_object_part_text_get(wd->frm, "elm.text");
}
@ -162,7 +164,7 @@ elm_frame_content_set(Evas_Object *obj, Evas_Object *content)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if ((wd->content != content) && (wd->content))
elm_widget_sub_object_del(obj, wd->content);
wd->content = content;

View File

@ -36,7 +36,7 @@ _del_pre_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return;
if (evas_object_visible_get(obj))
evas_object_smart_callback_call(obj, "clicked", NULL);
elm_hover_target_set(obj, NULL);
@ -57,7 +57,7 @@ static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
free(wd);
}
@ -65,7 +65,7 @@ static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
// FIXME: hover contents doesnt seem to propagate resizes properly
_elm_theme_set(wd->cov, "hover", "base", elm_widget_style_get(obj));
edje_object_scale_set(wd->cov, elm_widget_scale_get(obj) *
@ -81,7 +81,7 @@ _sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord x = 0, y = 0, w = 0, h = 0, x2 = 0, y2 = 0, w2 = 0, h2 = 0;
if (!wd) return;
if (wd->parent) evas_object_geometry_get(wd->parent, &x, &y, &w, &h);
if (wd->hov) evas_object_geometry_get(wd->hov, &x2, &y2, &w2, &h2);
evas_object_move(wd->cov, x, y);
@ -98,7 +98,7 @@ _reval_content(Evas_Object *obj)
Widget_Data *wd = elm_widget_data_get(obj);
const Eina_List *l;
const Subinfo *si;
if (!wd) return;
EINA_LIST_FOREACH(wd->subs, l, si)
edje_object_part_swallow(wd->cov, si->swallow, si->obj);
}
@ -110,7 +110,7 @@ _sub_del(void *data, Evas_Object *obj, void *event_info)
Evas_Object *sub = event_info;
Eina_List *l;
Subinfo *si;
if (!wd) return;
EINA_LIST_FOREACH(wd->subs, l, si)
{
if (si->obj == sub)
@ -129,7 +129,7 @@ _hov_show_do(Evas_Object *obj)
Widget_Data *wd = elm_widget_data_get(obj);
const Eina_List *l;
const Subinfo *si;
if (!wd) return;
if (wd->cov)
{
evas_object_show(wd->cov);
@ -173,7 +173,7 @@ _hov_hide(void *data, Evas *e, Evas_Object *obj, void *event_info)
Widget_Data *wd = elm_widget_data_get(data);
const Eina_List *l;
const Subinfo *si;
if (!wd) return;
if (wd->cov)
{
edje_object_signal_emit(wd->cov, "elm,action,hide", "elm");
@ -195,18 +195,16 @@ _hov_hide(void *data, Evas *e, Evas_Object *obj, void *event_info)
static void
_target_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
wd->target = NULL;
}
static void
_signal_dismiss(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
evas_object_hide(data);
evas_object_smart_callback_call(data, "clicked", NULL);
}
@ -226,25 +224,21 @@ _parent_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
static void
_parent_show(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
}
static void
_parent_hide(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (wd) evas_object_hide(wd->cov);
}
static void
_parent_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
elm_hover_parent_set(data, NULL);
_sizing_eval(data);
}
@ -365,7 +359,7 @@ elm_hover_content_set(Evas_Object *obj, const char *swallow, Evas_Object *conten
Subinfo *si;
const Eina_List *l;
char buf[1024];
if (!wd) return;
snprintf(buf, sizeof(buf), "elm.swallow.slot.%s", swallow);
EINA_LIST_FOREACH(wd->subs, l, si)
{
@ -398,11 +392,11 @@ elm_hover_style_set(Evas_Object *obj, const char *style)
EAPI const char *
elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_axis)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) "left";
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord x = 0, y = 0, w = 0, h = 0, x2 = 0, y2 = 0, w2 = 0, h2 = 0;
Evas_Coord spc_l, spc_r, spc_t, spc_b;
if (!wd) return "left";
if (wd->parent) evas_object_geometry_get(wd->parent, &x, &y, &w, &h);
if (wd->target) evas_object_geometry_get(wd->target, &x2, &y2, &w2, &h2);
spc_l = x2 - x;

View File

@ -36,10 +36,9 @@ static void _sub_del(void *data, Evas_Object *obj, void *event_info);
static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return;
EINA_LIST_FREE(wd->subs, si)
{
eina_stringshare_del(si->swallow);
@ -51,9 +50,8 @@ _del_hook(Evas_Object *obj)
static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_scale_set(wd->lay, elm_widget_scale_get(obj) *
_elm_config->scale);
_sizing_eval(obj);
@ -62,8 +60,8 @@ _theme_hook(Evas_Object *obj)
static void
_changed_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->needs_size_calc)
{
_sizing_eval(obj);
@ -74,10 +72,9 @@ _changed_hook(Evas_Object *obj)
static void
_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1;
if (!wd) return;
edje_object_size_min_calc(wd->lay, &minw, &minh);
evas_object_size_hint_min_set(obj, minw, minh);
evas_object_size_hint_max_set(obj, -1, -1);
@ -86,8 +83,8 @@ _sizing_eval(Evas_Object *obj)
static void
_request_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->needs_size_calc) return;
wd->needs_size_calc = 1;
evas_object_smart_changed(obj);
@ -102,12 +99,11 @@ _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
static void
_sub_del(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *sub = event_info;
Eina_List *l;
Subinfo *si;
if (!wd) return;
EINA_LIST_FOREACH(wd->subs, l, si)
{
if (si->obj == sub)
@ -181,10 +177,10 @@ elm_layout_add(Evas_Object *parent)
EAPI Eina_Bool
elm_layout_file_set(Evas_Object *obj, const char *file, const char *group)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
Eina_Bool ret = edje_object_file_set(wd->lay, file, group);
if (ret) _request_sizing_eval(obj);
return ret;
}
@ -204,10 +200,10 @@ elm_layout_file_set(Evas_Object *obj, const char *file, const char *group)
EAPI Eina_Bool
elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
Eina_Bool ret = _elm_theme_set(wd->lay, clas, group, style);
if (ret) _request_sizing_eval(obj);
return ret;
}
@ -228,7 +224,7 @@ elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *conte
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
const Eina_List *l;
if (!wd) return;
EINA_LIST_FOREACH(wd->subs, l, si)
{
if (!strcmp(swallow, si->swallow))
@ -272,9 +268,9 @@ elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *conte
EAPI Evas_Object *
elm_layout_edje_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->lay;
}
@ -294,6 +290,5 @@ EAPI void
elm_layout_sizing_eval(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
_request_sizing_eval(obj);
}

View File

@ -157,38 +157,30 @@ _elm_list_unwalk(Widget_Data *wd)
static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it;
Eina_List *n;
if (!wd) return;
if (wd->walking != 0)
fprintf(stderr, "ERROR: list deleted while walking.\n");
_elm_list_walk(wd);
EINA_LIST_FOREACH(wd->items, n, it)
_elm_list_item_call_del_cb(it);
EINA_LIST_FOREACH(wd->items, n, it) _elm_list_item_call_del_cb(it);
_elm_list_unwalk(wd);
if (wd->to_delete)
fprintf(stderr, "ERROR: leaking nodes!\n");
EINA_LIST_FREE(wd->items, it)
_elm_list_item_free(it);
if (wd->to_delete) fprintf(stderr, "ERROR: leaking nodes!\n");
EINA_LIST_FREE(wd->items, it) _elm_list_item_free(it);
eina_list_free(wd->selected);
free(wd);
}
static void
_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
if (!wd) return;
evas_object_size_hint_min_get(wd->scr, &minw, &minh);
evas_object_size_hint_max_get(wd->scr, &maxw, &maxh);
evas_object_size_hint_min_set(obj, minw, minh);
@ -198,11 +190,11 @@ _sizing_eval(Evas_Object *obj)
static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it;
Eina_List *n;
if (!wd) return;
elm_smart_scroller_theme_set(wd->scr, "list", "base", elm_widget_style_get(obj));
edje_object_scale_set(wd->scr, elm_widget_scale_get(obj) * _elm_config->scale);
EINA_LIST_FOREACH(wd->items, n, it)
@ -216,8 +208,8 @@ _theme_hook(Evas_Object *obj)
static void
_on_focus_hook(void *data, Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
// if (elm_widget_focus_get(obj))
// elm_widget_focus_steal(wd->entry);
}
@ -225,8 +217,8 @@ _on_focus_hook(void *data, Evas_Object *obj)
static void
_changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
// _fix_items(data);
// _sizing_eval(data);
}
@ -234,12 +226,12 @@ _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
static void
_sub_del(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *sub = event_info;
const Eina_List *l;
Elm_List_Item *it;
if (!wd) return;
EINA_LIST_FOREACH(wd->items, l, it)
{
if ((sub == it->icon) || (sub == it->end))
@ -267,6 +259,7 @@ _item_hilight(Elm_List_Item *it)
Widget_Data *wd = elm_widget_data_get(it->obj);
const char *selectraise;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (it->hilighted) return;
_elm_list_walk(wd);
@ -284,8 +277,8 @@ static void
_item_select(Elm_List_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
const char *selectraise;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (it->selected)
{
@ -309,6 +302,7 @@ _item_unselect(Elm_List_Item *it)
Widget_Data *wd = elm_widget_data_get(it->obj);
const char *stacking, *selectraise;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (!it->hilighted) return;
_elm_list_walk(wd);
@ -339,8 +333,8 @@ _mouse_move(void *data, Evas *evas, Evas_Object *obj, void *event_info)
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Event_Mouse_Move *ev = event_info;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
{
if (!wd->on_hold)
@ -362,10 +356,9 @@ _long_press(void *data)
Elm_List_Item *it = data;
Widget_Data *wd = elm_widget_data_get(it->obj);
if (!wd) return 0;
it->long_timer = NULL;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, 0);
wd->longpressed = EINA_TRUE;
evas_object_smart_callback_call(it->obj, "longpressed", it);
return 0;
@ -378,8 +371,8 @@ _mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Event_Mouse_Down *ev = event_info;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (ev->button != 1) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) wd->on_hold = EINA_TRUE;
else wd->on_hold = EINA_FALSE;
@ -400,8 +393,8 @@ _mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Event_Mouse_Up *ev = event_info;
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (ev->button != 1) return;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) wd->on_hold = EINA_TRUE;
else wd->on_hold = EINA_FALSE;
@ -461,10 +454,10 @@ _mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
static Elm_List_Item *
_item_new(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data)
{
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it;
if (!wd) return NULL;
it = calloc(1, sizeof(Elm_List_Item));
it->obj = obj;
it->label = eina_stringshare_add(label);
@ -499,7 +492,6 @@ _item_new(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *e
static void
_fix_items(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
const Eina_List *l;
Elm_List_Item *it;
@ -508,6 +500,7 @@ _fix_items(Evas_Object *obj)
int i, redo = 0;
const char *style = elm_widget_style_get(obj);
if (!wd) return;
if (wd->walking)
{
wd->fix_pending = EINA_TRUE;
@ -649,9 +642,7 @@ _fix_items(Evas_Object *obj)
static void
_hold_on(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_widget_scroll_hold_push(wd->scr);
}
@ -659,9 +650,7 @@ _hold_on(void *data, Evas_Object *obj, void *event_info)
static void
_hold_off(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_widget_scroll_hold_pop(wd->scr);
}
@ -669,9 +658,7 @@ _hold_off(void *data, Evas_Object *obj, void *event_info)
static void
_freeze_on(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_widget_scroll_hold_push(wd->scr);
}
@ -679,9 +666,7 @@ _freeze_on(void *data, Evas_Object *obj, void *event_info)
static void
_freeze_off(void *data, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_widget_scroll_hold_pop(wd->scr);
}
@ -732,7 +717,7 @@ elm_list_add(Evas_Object *parent)
EAPI Elm_List_Item *
elm_list_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
@ -745,7 +730,7 @@ elm_list_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Eva
EAPI Elm_List_Item *
elm_list_item_prepend(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
@ -764,8 +749,9 @@ elm_list_item_insert_before(Evas_Object *obj, Elm_List_Item *before, const char
if ((!before) || (!before->node)) return NULL;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(before, NULL);
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
wd = elm_widget_data_get(obj);
if (!wd) return NULL;
it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_prepend_relative_list(wd->items, it, before->node);
it->node = before->node->prev;
@ -782,8 +768,9 @@ elm_list_item_insert_after(Evas_Object *obj, Elm_List_Item *after, const char *l
if ((!after) || (!after->node)) return NULL;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(after, NULL);
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
wd = elm_widget_data_get(obj);
if (!wd) return NULL;
it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_append_relative_list(wd->items, it, after->node);
it->node = after->node->next;
@ -798,8 +785,8 @@ elm_list_clear(Evas_Object *obj)
Widget_Data *wd = elm_widget_data_get(obj);
Elm_List_Item *it;
if (!wd->items)
return;
if (!wd) return;
if (!wd->items) return;
eina_list_free(wd->selected);
wd->selected = NULL;
@ -810,8 +797,7 @@ elm_list_clear(Evas_Object *obj)
Elm_List_Item *it;
EINA_LIST_FOREACH(wd->items, n, it)
{
if (it->deleted)
continue;
if (it->deleted) continue;
it->deleted = EINA_TRUE;
wd->to_delete = eina_list_append(wd->to_delete, it);
}
@ -837,7 +823,7 @@ elm_list_go(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
_fix_items(obj);
}
@ -846,16 +832,16 @@ elm_list_multi_select_set(Evas_Object *obj, Eina_Bool multi)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->multi = multi;
}
EAPI Eina_Bool
elm_list_multi_select_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return wd->multi;
}
@ -864,7 +850,7 @@ elm_list_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->mode == mode) return;
wd->mode = mode;
if (wd->mode == ELM_LIST_LIMIT)
@ -876,9 +862,9 @@ elm_list_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode)
EAPI Elm_List_Mode
elm_list_horizontal_mode_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) ELM_LIST_SCROLL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return ELM_LIST_SCROLL;
return wd->mode;
}
@ -887,25 +873,25 @@ elm_list_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->always_select = always_select;
}
EAPI const Eina_List *
elm_list_items_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->items;
}
EAPI Elm_List_Item *
elm_list_selected_item_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
if (wd->selected) return wd->selected->data;
return NULL;
}
@ -913,9 +899,9 @@ elm_list_selected_item_get(const Evas_Object *obj)
EAPI const Eina_List *
elm_list_selected_items_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->selected;
}
@ -923,9 +909,8 @@ EAPI void
elm_list_item_selected_set(Elm_List_Item *it, Eina_Bool selected)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
selected = !!selected;
if (it->selected == selected) return;
@ -950,8 +935,7 @@ elm_list_item_selected_set(Elm_List_Item *it, Eina_Bool selected)
EAPI Eina_Bool
elm_list_item_selected_get(Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, EINA_FALSE);
return it->selected;
}
@ -963,7 +947,6 @@ elm_list_item_show(Elm_List_Item *it)
Evas_Coord x, y, w, h;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
evas_object_geometry_get(wd->box, &bx, &by, &bw, &bh);
evas_object_geometry_get(it->base, &x, &y, &w, &h);
x -= bx;
@ -975,7 +958,7 @@ EAPI void
elm_list_item_del(Elm_List_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
if (!wd) return;
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (it->selected) _item_unselect(it);
@ -1010,7 +993,6 @@ EAPI void
elm_list_item_del_cb_set(Elm_List_Item *it, void (*func)(void *data, Evas_Object *obj, void *event_info))
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
it->del_cb = func;
}
@ -1018,7 +1000,6 @@ EAPI void *
elm_list_item_data_get(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
return (void *)it->data;
}
@ -1026,7 +1007,6 @@ EAPI Evas_Object *
elm_list_item_icon_get(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
if (it->dummy_icon) return NULL;
return it->icon;
}
@ -1035,7 +1015,6 @@ EAPI void
elm_list_item_icon_set(Elm_List_Item *it, Evas_Object *icon)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (it->icon == icon) return;
if (it->dummy_icon && !icon) return;
if (it->dummy_icon) evas_object_del(it->icon);
@ -1054,7 +1033,6 @@ EAPI Evas_Object *
elm_list_item_end_get(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
if (it->dummy_end) return NULL;
return it->end;
}
@ -1063,7 +1041,6 @@ EAPI void
elm_list_item_end_set(Elm_List_Item *it, Evas_Object *end)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (it->end == end) return;
if (it->dummy_end && !end) return;
if (it->dummy_end) evas_object_del(it->end);
@ -1082,7 +1059,6 @@ EAPI Evas_Object *
elm_list_item_base_get(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
return it->base;
}
@ -1090,7 +1066,6 @@ EAPI const char *
elm_list_item_label_get(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
return it->label;
}
@ -1098,7 +1073,6 @@ EAPI void
elm_list_item_label_set(Elm_List_Item *it, const char *text)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it);
if (!eina_stringshare_replace(&it->label, text)) return;
if (it->base)
edje_object_part_text_set(it->base, "elm.text", it->label);
@ -1108,22 +1082,16 @@ EAPI Elm_List_Item *
elm_list_item_prev(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
if (it->node->prev)
return it->node->prev->data;
else
return NULL;
if (it->node->prev) return it->node->prev->data;
else return NULL;
}
EAPI Elm_List_Item *
elm_list_item_next(const Elm_List_Item *it)
{
ELM_LIST_ITEM_CHECK_DELETED_RETURN(it, NULL);
if (it->node->next)
return it->node->next->data;
else
return NULL;
if (it->node->next) return it->node->next->data;
else return NULL;
}
/**
@ -1143,6 +1111,7 @@ elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_smart_scroller_bounce_allow_set(wd->scr, h_bounce, v_bounce);
}
@ -1166,5 +1135,6 @@ elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_scroller_policy_set(wd->scr, policy_h, policy_v);
}

View File

@ -31,16 +31,16 @@ static void _mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
free(wd);
}
static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
edje_object_scale_set(wd->frm, elm_widget_scale_get(obj) * _elm_config->scale);
_sizing_eval(obj);
}
@ -48,10 +48,9 @@ _theme_hook(Evas_Object *obj)
static void
_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
if (!wd) return;
evas_object_size_hint_min_set(wd->img,
wd->size * elm_widget_scale_get(obj) * _elm_config->scale,
wd->size * elm_widget_scale_get(obj) * _elm_config->scale);
@ -133,8 +132,9 @@ elm_photo_add(Evas_Object *parent)
EAPI Eina_Bool
elm_photo_file_set(Evas_Object *obj, const char *file)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) 0;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return 0;
if (!_els_smart_icon_file_key_set(wd->img, file, NULL))
return 0;
_sizing_eval(obj);
@ -154,6 +154,7 @@ elm_photo_size_set(Evas_Object *obj, int size)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (size < 0) size = 0;
wd->size = size;
_sizing_eval(obj);

View File

@ -64,9 +64,8 @@ _item_select(Elm_Toolbar_Item *it)
{
Elm_Toolbar_Item *it2;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Object *obj2, *bt, *hv, *bx, *ic;
Evas_Object *obj2;
const Eina_List *l;
Evas_Coord x,y,w,h;
if (!wd) return;
if ((it->selected) || (it->disabled) || (it->separator)) return;
@ -141,7 +140,6 @@ _item_disable(Elm_Toolbar_Item *it, Eina_Bool disabled)
static void
_del_pre_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Elm_Toolbar_Item *it;
@ -160,7 +158,6 @@ _del_pre_hook(Evas_Object *obj)
static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
@ -170,7 +167,6 @@ _del_hook(Evas_Object *obj)
static void
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
const Eina_List *l;
Elm_Toolbar_Item *it;
@ -221,7 +217,6 @@ _theme_hook(Evas_Object *obj)
static void
_sizing_eval(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord minw = -1, minh = -1;
Evas_Coord vw = 0, vh = 0;
@ -253,9 +248,8 @@ _sizing_eval(Evas_Object *obj)
static void
_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord mw, mh, vw, vh, x, y, w, h;
Evas_Coord mw, mh, vw, vh, w, h;
const Eina_List *l;
Elm_Toolbar_Item *it;
@ -287,7 +281,7 @@ static void
_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
{
Widget_Data *wd = data;
if (!wd) return;
_els_box_layout(o, priv, 1, wd->homogeneous);
}
@ -341,7 +335,6 @@ elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (icon_size > 48) return;
if (wd->icon_size == icon_size) return;
@ -352,9 +345,8 @@ elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size)
EAPI int
elm_toolbar_icon_size_get(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) 0;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return 0;
return wd->icon_size;
}
@ -362,7 +354,7 @@ elm_toolbar_icon_size_get(Evas_Object *obj)
EAPI Elm_Toolbar_Item *
elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data)
{
ELM_CHECK_WIDTYPE(obj, widtype);
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord mw, mh;
Elm_Toolbar_Item *it;
@ -574,15 +566,13 @@ elm_toolbar_item_unselect_all(Evas_Object *obj)
EAPI void
elm_toolbar_align_set(Evas_Object *obj, double align)
{
Eina_List *l;
Elm_Toolbar_Item *it;
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if(wd->align != align)
if (wd->align != align)
evas_object_size_hint_align_set(wd->bx, align, 0.5);
wd->align = align;
wd->align = align;
}
EAPI void
@ -593,8 +583,7 @@ elm_toolbar_item_menu_set(Elm_Toolbar_Item *item, Eina_Bool menu)
if ((!wd) || (!item)) return;
if (item->menu == menu) return;
item->menu = menu;
if(menu)
if (menu)
{
item->o_menu = elm_menu_add(item->base);
if (wd->menu_parent)