EAPI void elm_win_title_set(Evas_Object *obj, const char *title);
EAPI void elm_win_autodel_set(Evas_Object *obj, Evas_Bool autodel);
EAPI void elm_win_activate(Evas_Object *obj);
+ EAPI void elm_win_lower(Evas_Object *obj);
+ EAPI void elm_win_raise(Evas_Object *obj);
EAPI void elm_win_borderless_set(Evas_Object *obj, Evas_Bool borderless);
EAPI void elm_win_shaped_set(Evas_Object *obj, Evas_Bool shaped);
EAPI void elm_win_alpha_set(Evas_Object *obj, Evas_Bool alpha);
EAPI void elm_win_iconified_set(Evas_Object *obj, Evas_Bool iconified);
EAPI void elm_win_layer_set(Evas_Object *obj, int layer);
EAPI void elm_win_rotation_set(Evas_Object *obj, int rotation);
+ EAPI void elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky);
+
/*...
* ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
* ecore_x_icccm_hints_set -> window_group (add to ecore_evas)
*/
EAPI Evas_Object *elm_icon_add(Evas_Object *parent);
- EAPI void elm_icon_file_set(Evas_Object *obj, const char *file, const char *group);
+ EAPI Eina_Bool elm_icon_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_icon_standard_set(Evas_Object *obj, const char *name);
EAPI void elm_icon_smooth_set(Evas_Object *obj, Evas_Bool smooth);
EAPI void elm_icon_no_scale_set(Evas_Object *obj, Evas_Bool no_scale);
*/
EAPI Evas_Object *elm_layout_add(Evas_Object *parent);
- EAPI void elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
+ EAPI Eina_Bool elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj);
/* smart callbacks called:
*/
EAPI Evas_Object *elm_photo_add(Evas_Object *parent);
- EAPI void elm_photo_file_set(Evas_Object *obj, const char *file);
+ EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file);
EAPI void elm_photo_size_set(Evas_Object *obj, int size);
/* smart callbacks called:
* "clicked" - the user clicked the icon
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);
EAPI Elm_List_Item *elm_list_item_insert_before(Evas_Object *obj, Elm_List_Item *before, const char *label, Evas_Object *icon, Evas_Object *end, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
EAPI Elm_List_Item *elm_list_item_insert_after(Evas_Object *obj, Elm_List_Item *after, const char *label, Evas_Object *icon, Evas_Object *end, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
+ EAPI void elm_list_clear(Evas_Object *obj);
EAPI void elm_list_go(Evas_Object *obj);
EAPI void elm_list_multi_select_set(Evas_Object *obj, Evas_Bool multi);
EAPI void elm_list_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode);
EAPI void elm_list_item_selected_set(Elm_List_Item *item, Evas_Bool selected);
EAPI void elm_list_item_show(Elm_List_Item *item);
EAPI void elm_list_item_del(Elm_List_Item *item);
+ EAPI void elm_list_item_del_cb_set(Elm_List_Item *item, void (*func)(void *data, Evas_Object *obj, void *event_info));
EAPI const void *elm_list_item_data_get(const Elm_List_Item *item);
EAPI Evas_Object *elm_list_item_icon_get(const Elm_List_Item *item);
EAPI Evas_Object *elm_list_item_end_get(const Elm_List_Item *item);
+ EAPI Evas_Object *elm_list_item_base_get(const Elm_List_Item *item);
+ EAPI const char *elm_list_item_label_get(const Elm_List_Item *item);
/* smart callbacks called:
* "clicked" - when the user double-clicked an item
* "selected" - when the user selected an item
return obj;
}
-EAPI void
+EAPI Eina_Bool
elm_icon_file_set(Evas_Object *obj, const char *file, const char *group)
{
Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
+ Eina_Bool ret;
+ if (!wd) return 0;
const char *p;
-
- if (!file) return;
+
+ if (!file) return 0;
if (wd->stdicon) eina_stringshare_del(wd->stdicon);
wd->stdicon = NULL;
if (((p = strrchr(file, '.'))) && (!strcasecmp(p, ".edj")))
- _els_smart_icon_file_edje_set(wd->img, file, group);
- else
- _els_smart_icon_file_key_set(wd->img, file, group);
+ ret = _els_smart_icon_file_edje_set(wd->img, file, group);
+ else
+ ret = _els_smart_icon_file_key_set(wd->img, file, group);
_sizing_eval(obj);
+ return ret;
}
EAPI void
return obj;
}
-EAPI void
+EAPI Eina_Bool
elm_layout_file_set(Evas_Object *obj, const char *file, const char *group)
{
Widget_Data *wd = elm_widget_data_get(obj);
- edje_object_file_set(wd->lay, file, group);
- _sizing_eval(obj);
+ Eina_Bool ret = edje_object_file_set(wd->lay, file, group);
+ if (ret)
+ _sizing_eval(obj);
+ return ret;
}
EAPI void
const char *label;
Evas_Object *icon, *end;
void (*func) (void *data, Evas_Object *obj, void *event_info);
+ void (*del_cb) (void *data, Evas_Object *obj, void *event_info);
const void *data;
Evas_Bool even : 1;
Evas_Bool is_even : 1;
Elm_List_Item *it;
EINA_LIST_FREE(wd->items, it)
{
+ if (it->del_cb) it->del_cb((void *)it->data, it->obj, it);
eina_stringshare_del(it->label);
if (!it->fixed)
{
}
EAPI void
+elm_list_clear(Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ while (wd->items)
+ elm_list_item_del(wd->items->data);
+}
+
+EAPI void
elm_list_go(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
elm_list_item_del(Elm_List_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
+ if (it->del_cb) it->del_cb((void *)it->data, it->obj, it);
if (it->selected) _item_unselect(it);
wd->items = eina_list_remove(wd->items, it);
eina_stringshare_del(it->label);
free(it);
}
+EAPI void
+elm_list_item_del_cb_set(Elm_List_Item *it, void (*func)(void *data, Evas_Object *obj, void *event_info))
+{
+ it->del_cb = func;
+}
+
EAPI const void *
elm_list_item_data_get(const Elm_List_Item *it)
{
if (it->dummy_end) return NULL;
return it->end;
}
+
+EAPI Evas_Object *
+elm_list_item_base_get(const Elm_List_Item *it)
+{
+ return it->base;
+}
+
+EAPI const char *
+elm_list_item_label_get(const Elm_List_Item *it)
+{
+ return it->label;
+}
return obj;
}
-EAPI void
+EAPI Eina_Bool
elm_photo_file_set(Evas_Object *obj, const char *file)
{
Widget_Data *wd = elm_widget_data_get(obj);
- _els_smart_icon_file_key_set(wd->img, file, NULL);
+ if (!_els_smart_icon_file_key_set(wd->img, file, NULL))
+ return 0;
_sizing_eval(obj);
+ return 1;
}
EAPI void
if (win->ee) win->xwin = ecore_evas_gl_x11_window_get(win->ee);
break;
case ELM_SOFTWARE_WIN32:
- if (win->ee) win->xwin = (int)ecore_evas_win32_window_get(win->ee);
+ if (win->ee) win->xwin = (long)ecore_evas_win32_window_get(win->ee);
break;
default:
break;
}
EAPI void
+elm_win_lower(Evas_Object *obj)
+{
+ Elm_Win *win = elm_widget_data_get(obj);
+ if (!win) return;
+ ecore_evas_lower(win->ee);
+}
+
+EAPI void
+elm_win_raise(Evas_Object *obj)
+{
+ Elm_Win *win = elm_widget_data_get(obj);
+ if (!win) return;
+ ecore_evas_raise(win->ee);
+}
+
+EAPI void
elm_win_borderless_set(Evas_Object *obj, Evas_Bool borderless)
{
Elm_Win *win = elm_widget_data_get(obj);
}
EAPI void
+elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky)
+{
+ Elm_Win *win = elm_widget_data_get(obj);
+ if (!win) return;
+ ecore_evas_sticky_set(win->ee, sticky);
+ _elm_win_xwin_update(win);
+}
+
+EAPI void
elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode)
{
Elm_Win *win = elm_widget_data_get(obj);
return evas_object_smart_add(evas, _e_smart);
}
-void
+Eina_Bool
_els_smart_icon_file_key_set(Evas_Object *obj, const char *file, const char *key)
{
Smart_Data *sd;
sd = evas_object_smart_data_get(obj);
- if (!sd) return;
+ if (!sd) return 0;
/* smart code here */
if (sd->size != 0)
evas_object_image_load_size_set(sd->obj, sd->size, sd->size);
evas_object_image_file_set(sd->obj, file, key);
+ if (evas_object_image_load_error_get(sd->obj) != EVAS_LOAD_ERROR_NONE)
+ return 0;
_smart_reconfigure(sd);
+ return 1;
}
-void
+Eina_Bool
_els_smart_icon_file_edje_set(Evas_Object *obj, const char *file, const char *part)
{
Smart_Data *sd;
-
+
sd = evas_object_smart_data_get(obj);
- if (!sd) return;
+ if (!sd) return 0;
/* smart code here */
if (sd->obj) evas_object_del(sd->obj);
sd->obj = edje_object_add(evas_object_evas_get(obj));
- edje_object_file_set(sd->obj, file, part);
evas_object_smart_member_add(sd->obj, obj);
+ if (!edje_object_file_set(sd->obj, file, part))
+ return 0;
_smart_reconfigure(sd);
+ return 1;
}
void
Evas_Object *_els_smart_icon_add (Evas *evas);
-void _els_smart_icon_file_key_set (Evas_Object *obj, const char *file, const char *key);
-void _els_smart_icon_file_edje_set (Evas_Object *obj, const char *file, const char *part);
+Eina_Bool _els_smart_icon_file_key_set (Evas_Object *obj, const char *file, const char *key);
+Eina_Bool _els_smart_icon_file_edje_set (Evas_Object *obj, const char *file, const char *part);
void _els_smart_icon_smooth_scale_set (Evas_Object *obj, int smooth);
void _els_smart_icon_size_get (Evas_Object *obj, int *w, int *h);
void _els_smart_icon_fill_inside_set (Evas_Object *obj, int fill_inside);