#include <stdlib.h>
#include <errno.h>
#include <string.h>
+#include <limits.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
EAPI char *elm_quicklaunch_exe_path_get(const char *exe);
EAPI void elm_object_scale_set(Evas_Object *obj, double scale);
- EAPI double elm_object_scale_get(Evas_Object *obj);
+ EAPI double elm_object_scale_get(const Evas_Object *obj);
EAPI void elm_object_focus(Evas_Object *obj);
EAPI void elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coord *h);
*/
/* X specific calls - won't work on non-x engines (return 0) */
- EAPI Ecore_X_Window elm_win_xwindow_get(Evas_Object *obj);
+ EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj);
/* smart callbacks called:
* "delete-request" - the user requested to delete the window
*/
EAPI void elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon);
EAPI void elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel);
EAPI void elm_toggle_state_set(Evas_Object *obj, Evas_Bool state);
- EAPI Evas_Bool elm_toggle_state_get(Evas_Object *obj);
+ EAPI Evas_Bool elm_toggle_state_get(const Evas_Object *obj);
EAPI void elm_toggle_state_pointer_set(Evas_Object *obj, Evas_Bool *statep);
/* smart callbacks called:
* "changed" - the user toggled the state
EAPI Evas_Object *elm_clock_add(Evas_Object *parent);
EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec);
- EAPI void elm_clock_time_get(Evas_Object *obj, int *hrs, int *min, int *sec);
+ EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec);
EAPI void elm_clock_edit_set(Evas_Object *obj, Evas_Bool edit);
EAPI void elm_clock_show_am_pm_set(Evas_Object *obj, Evas_Bool am_pm);
EAPI void elm_clock_show_seconds_set(Evas_Object *obj, Evas_Bool seconds);
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 void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
- EAPI Evas_Object *elm_layout_edje_get(Evas_Object *obj);
+ EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj);
/* smart callbacks called:
*/
* popout
* hoversel_vertical
*/
- EAPI const char *elm_hover_best_content_location_get(Evas_Object *obj, Elm_Hover_Axis pref_axis);
+ EAPI const char *elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_axis);
/* smart callbacks called:
* "clicked" - the user clicked the empty space in the hover to dismiss
*/
EAPI void elm_entry_single_line_set(Evas_Object *obj, Evas_Bool single_line);
EAPI void elm_entry_password_set(Evas_Object *obj, Evas_Bool password);
EAPI void elm_entry_entry_set(Evas_Object *obj, const char *entry);
- EAPI const char *elm_entry_entry_get(Evas_Object *obj);
- EAPI const char *elm_entry_selection_get(Evas_Object *obj);
+ EAPI const char *elm_entry_entry_get(const Evas_Object *obj);
+ EAPI const char *elm_entry_selection_get(const Evas_Object *obj);
EAPI void elm_entry_entry_insert(Evas_Object *obj, const char *entry);
EAPI void elm_entry_line_wrap_set(Evas_Object *obj, Evas_Bool wrap);
EAPI void elm_entry_editable_set(Evas_Object *obj, Evas_Bool editable);
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, Elementary_List_Mode mode);
- EAPI const Eina_List *elm_list_items_get(Evas_Object *obj);
- EAPI const Elm_List_Item *elm_list_selected_item_get(Evas_Object *obj);
- EAPI const Eina_List *elm_list_selected_items_get(Evas_Object *obj);
+ EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj);
+ EAPI Elm_List_Item *elm_list_selected_item_get(const Evas_Object *obj);
+ EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj);
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 const void *elm_list_item_data_get(Elm_List_Item *item);
- EAPI Evas_Object *elm_list_item_icon_get(Elm_List_Item *item);
- EAPI Evas_Object *elm_list_item_end_get(Elm_List_Item *item);
+ 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);
/* smart callbacks called:
* "clicked" - when the user double-clicked an item
* "selected" - when the user selected an item
EAPI void elm_slider_horizontal_set(Evas_Object *obj, Evas_Bool horizontal);
EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max);
EAPI void elm_slider_value_set(Evas_Object *obj, double val);
- EAPI double elm_slider_value_get(Evas_Object *obj);
+ EAPI double elm_slider_value_get(const Evas_Object *obj);
EAPI void elm_slider_inverted_set(Evas_Object *obj, Evas_Bool inverted);
/* smart callbacks called:
* "changed" - when the slider value changes
EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data);
EAPI void elm_genlist_clear(Evas_Object *obj);
- EAPI const Elm_Genlist_Item *elm_genlist_selected_item_get(Evas_Object *obj);
- EAPI const Eina_List *elm_genlist_selected_items_get(Evas_Object *obj);
- EAPI const Elm_Genlist_Item *elm_genlist_first_item_get(Evas_Object *obj);
- EAPI const Elm_Genlist_Item *elm_genlist_last_item_get(Evas_Object *obj);
- EAPI const Elm_Genlist_Item *elm_genlist_item_next_get(Elm_Genlist_Item *item);
- EAPI const Elm_Genlist_Item *elm_genlist_item_prev_get(Elm_Genlist_Item *item);
+ EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj);
+ EAPI const Eina_List *elm_genlist_selected_items_get(const Evas_Object *obj);
+ EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj);
+ EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj);
+ EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item);
+ EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item);
EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Evas_Bool selected);
- EAPI Evas_Bool elm_genlist_item_selected_get(Elm_Genlist_Item *item);
+ EAPI Evas_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item);
EAPI void elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Evas_Bool disabled);
- EAPI Evas_Bool elm_genlist_item_disabled_get(Elm_Genlist_Item *item);
+ EAPI Evas_Bool elm_genlist_item_disabled_get(const Elm_Genlist_Item *item);
EAPI void elm_genlist_item_show(Elm_Genlist_Item *item);
EAPI void elm_genlist_item_del(Elm_Genlist_Item *item);
- EAPI const void *elm_genlist_item_data_get(Elm_Genlist_Item *item);
+ EAPI const void *elm_genlist_item_data_get(const Elm_Genlist_Item *item);
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item);
/* smart callbacks called:
* "clicked" - the user clicked the hoversel button and popped up the sel
EAPI void elm_check_label_set(Evas_Object *obj, const char *label);
EAPI void elm_check_icon_set(Evas_Object *obj, Evas_Object *icon);
EAPI void elm_check_state_set(Evas_Object *obj, Evas_Bool state);
- EAPI Evas_Bool elm_check_state_get(Evas_Object *obj);
+ EAPI Evas_Bool elm_check_state_get(const Evas_Object *obj);
EAPI void elm_check_state_pointer_set(Evas_Object *obj, Evas_Bool *statep);
/* smart callbacks called:
* "changed" - the user toggled the state
EAPI void elm_radio_group_add(Evas_Object *obj, Evas_Object *group);
EAPI void elm_radio_state_value_set(Evas_Object *obj, int value);
EAPI void elm_radio_value_set(Evas_Object *obj, int value);
- EAPI int elm_radio_value_get(Evas_Object *obj);
+ EAPI int elm_radio_value_get(const Evas_Object *obj);
EAPI void elm_radio_value_pointer_set(Evas_Object *obj, int *valuep);
/* smart callbacks called:
* "changed" - the user toggled the state
// FIXME: this is NOT the carousel - yet!
typedef struct _Widget_Data Widget_Data;
-typedef struct _Item Item;
struct _Widget_Data
{
int icon_size;
};
-struct _Item
+struct _Elm_Carousel_Item
{
Evas_Object *obj;
Evas_Object *base;
static void _sizing_eval(Evas_Object *obj);
static void
-_item_show(Item *it)
+_item_show(Elm_Carousel_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Coord x, y, w, h, bx, by;
}
static void
-_item_select(Item *it)
+_item_select(Elm_Carousel_Item *it)
{
- Item *it2;
+ Elm_Carousel_Item *it2;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Object *obj2;
Eina_List *l;
{
Widget_Data *wd = elm_widget_data_get(obj);
Eina_List *l;
- Item *it;
+ Elm_Carousel_Item *it;
Evas_Coord mw, mh;
for (l = wd->items; l; l = l->next)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord mw, mh, vw, vh, w, h;
Eina_List *l;
- Item *it;
+ Elm_Carousel_Item *it;
elm_smart_scroller_child_viewport_size_get(wd->scr, &vw, &vh);
evas_object_size_hint_min_get(wd->bx, &mw, &mh);
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord mw, mh;
- Item *it = calloc(1, sizeof(Item));
+ Elm_Carousel_Item *it = calloc(1, sizeof(Elm_Carousel_Item));
if (!it) return NULL;
wd->items = eina_list_append(wd->items, it);
it->obj = obj;
_els_smart_box_pack_end(wd->bx, it->base);
evas_object_show(it->base);
_sizing_eval(obj);
- return (Elm_Carousel_Item *)it;
+ return it;
}
EAPI void
-elm_carousel_item_del(Elm_Carousel_Item *item)
+elm_carousel_item_del(Elm_Carousel_Item *it)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Object *obj2 = it->obj;
wd->items = eina_list_remove(wd->items, it);
}
EAPI Evas_Bool
-elm_check_state_get(Evas_Object *obj)
+elm_check_state_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->state;
}
EAPI void
-elm_clock_time_get(Evas_Object *obj, int *hrs, int *min, int *sec)
+elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (hrs) *hrs = wd->hrs;
_theme_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
- char *t;
- t = (char *)elm_entry_entry_get(obj);
- if (t) t = strdup(t);
+ const char *t;
+ t = eina_stringshare_ref(elm_entry_entry_get(obj));
_elm_theme_set(wd->ent, "entry", _getbase(obj), "default");
elm_entry_entry_set(obj, t);
- if (t) free(t);
+ eina_stringshare_del(t);
edje_object_scale_set(wd->ent, elm_widget_scale_get(obj) * _elm_config->scale);
_sizing_eval(obj);
}
p = strrchr(emission, ',');
if (p)
{
- Eina_List *geoms;
+ const Eina_List *geoms;
n = p + 1;
p2 = p -1;
if (geoms)
{
Evas_Textblock_Rectangle *r;
- Eina_List *l;
+ const Eina_List *l;
Evas_Coord px, py, x, y;
evas_object_geometry_get(wd->ent, &x, &y, NULL, NULL);
elm_entry_single_line_set(Evas_Object *obj, Evas_Bool single_line)
{
Widget_Data *wd = elm_widget_data_get(obj);
- char *t;
+ const char *t;
if (wd->single_line == single_line) return;
wd->single_line = single_line;
wd->linewrap = 0;
- t = elm_entry_entry_get(obj);
- if (t) t = strdup(t);
+ t = eina_stringshare_ref(elm_entry_entry_get(obj));
+ eina_stringshare_del(t);
_elm_theme_set(wd->ent, "entry", _getbase(obj), "default");
elm_entry_entry_set(obj, t);
- if (t) free(t);
+ eina_stringshare_del(t);
_sizing_eval(obj);
}
elm_entry_password_set(Evas_Object *obj, Evas_Bool password)
{
Widget_Data *wd = elm_widget_data_get(obj);
- char *t;
+ const char *t;
if (wd->password == password) return;
wd->password = password;
wd->single_line = 1;
wd->linewrap = 0;
- t = elm_entry_entry_get(obj);
- if (t) t = strdup(t);
+ t = eina_stringshare_ref(elm_entry_entry_get(obj));
_elm_theme_set(wd->ent, "entry", _getbase(obj), "default");
elm_entry_entry_set(obj, t);
- if (t) free(t);
+ eina_stringshare_del(t);
_sizing_eval(obj);
}
}
EAPI const char *
-elm_entry_entry_get(Evas_Object *obj)
+elm_entry_entry_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return edje_object_part_text_get(wd->ent, "elm.text");
}
EAPI const char *
-elm_entry_selection_get(Evas_Object *obj)
+elm_entry_selection_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return edje_object_part_text_selection_get(wd->ent, "elm.text");
elm_entry_line_wrap_set(Evas_Object *obj, Evas_Bool wrap)
{
Widget_Data *wd = elm_widget_data_get(obj);
- char *t;
+ const char *t;
if (wd->linewrap == wrap) return;
wd->linewrap = wrap;
- t = elm_entry_entry_get(obj);
- if (t) t = strdup(t);
+ t = eina_stringshare_ref(elm_entry_entry_get(obj));
_elm_theme_set(wd->ent, "entry", _getbase(obj), "default");
elm_entry_entry_set(obj, t);
- if (t) free(t);
+ eina_stringshare_del(t);
_sizing_eval(obj);
}
elm_entry_editable_set(Evas_Object *obj, Evas_Bool editable)
{
Widget_Data *wd = elm_widget_data_get(obj);
- char *t;
+ const char *t;
if (wd->editable == editable) return;
wd->editable = editable;
- t = elm_entry_entry_get(obj);
- if (t) t = strdup(t);
+ t = eina_stringshare_ref(elm_entry_entry_get(obj));
_elm_theme_set(wd->ent, "entry", _getbase(obj), "default");
elm_entry_entry_set(obj, t);
- if (t) free(t);
+ eina_stringshare_del(t);
_sizing_eval(obj);
}
#include "elm_priv.h"
typedef struct _Widget_Data Widget_Data;
-typedef struct _Item Item;
typedef struct _Item_Block Item_Block;
typedef struct _Pan Pan;
Ecore_Idler *queue_idler;
Eina_List *queue;
Eina_List *selected;
- Item *show_item;
+ Elm_Genlist_Item *show_item;
Evas_Bool on_hold : 1;
Evas_Bool multi : 1;
Evas_Bool min_w : 1;
Evas_Bool changed : 1;
};
-struct _Item
+struct _Elm_Genlist_Item
{
Eina_Inlist __header;
Widget_Data *wd;
Eina_List *labels, *icons, *states;
Eina_List *icon_objs;
- Item *rel;
+ Elm_Genlist_Item *rel;
int relcount;
Evas_Bool before : 1;
static void _sizing_eval(Evas_Object *obj);
static void _sub_del(void *data, Evas_Object *obj, void *event_info);
-static void _item_unrealize(Item *it);
+static void _item_unrealize(Elm_Genlist_Item *it);
static void _item_block_unrealize(Item_Block *itb);
static void _calc_job(void *data);
if (itb->realized) _item_block_unrealize(itb);
for (l = itb->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_Genlist_Item *it = l->data;
it->mincalcd = 0;
}
itb->changed = 1;
static void
_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
- Item *it = data;
+ Elm_Genlist_Item *it = data;
Evas_Event_Mouse_Down *ev = event_info;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) it->wd->on_hold = 1;
else it->wd->on_hold = 0;
}
static void
-_item_select(Item *it)
+_item_select(Elm_Genlist_Item *it)
{
const char *selectraise;
if (it->delete_me) return;
}
static void
-_item_unselect(Item *it)
+_item_unselect(Elm_Genlist_Item *it)
{
const char *stacking, *selectraise;
if (it->delete_me) return;
static void
_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
- Item *it = data;
+ Elm_Genlist_Item *it = data;
Evas_Event_Mouse_Up *ev = event_info;
Eina_List *l;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) it->wd->on_hold = 1;
{
for (l = it->wd->selected; l;)
{
- Item *it2 = l->data;
+ Elm_Genlist_Item *it2 = l->data;
l = l->next;
if ((it2 != it) && (it2->selected)) _item_unselect(it2);
}
}
static void
-_item_realize(Item *it, int in, int calc)
+_item_realize(Elm_Genlist_Item *it, int in, int calc)
{
const char *stacking;
char buf[1024];
}
static void
-_item_unrealize(Item *it)
+_item_unrealize(Elm_Genlist_Item *it)
{
if (!it->realized) return;
evas_object_del(it->base);
for (l = itb->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_Genlist_Item *it = l->data;
if (it->delete_me) continue;
showme |= it->showme;
if (!itb->realized)
if (itb->realized) return;
for (l = itb->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_Genlist_Item *it = l->data;
if (it->delete_me) continue;
_item_realize(it, in, 0);
in++;
if (!itb->realized) return;
for (l = itb->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_Genlist_Item *it = l->data;
_item_unrealize(it);
}
itb->realized = 0;
evas_object_geometry_get(itb->wd->pan_smart, &ox, &oy, NULL, NULL);
for (l = itb->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_Genlist_Item *it = l->data;
if (it->delete_me) continue;
it->x = 0;
return obj;
}
-static Item *
+static Elm_Genlist_Item *
_item_new(Widget_Data *wd, const Elm_Genlist_Item_Class *itc,
const void *data, Elm_Genlist_Item *parent,
Elm_Genlist_Item_Flags flags,
void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data)
{
- Item *it;
+ Elm_Genlist_Item *it;
- it = calloc(1, sizeof(Item));
+ it = calloc(1, sizeof(Elm_Genlist_Item));
if (!it) return NULL;
it->wd = wd;
it->itc = itc;
}
static void
-_item_block_del(Item *it)
+_item_block_del(Elm_Genlist_Item *it)
{
Eina_Inlist *il;
Item_Block *itb = it->block;
{
while (itb->items)
{
- Item *it2 = itb->items->data;
+ Elm_Genlist_Item *it2 = itb->items->data;
it2->block = itbp;
itbp->items = eina_list_append(itbp->items, it2);
itb->items = eina_list_remove_list(itb->items, itb->items);
while (itb->items)
{
Eina_List *last = eina_list_last(itb->items);
- Item *it2 = last->data;
+ Elm_Genlist_Item *it2 = last->data;
it2->block = itbn;
itb->items = eina_list_remove_list(itb->items, last);
itbn->items = eina_list_prepend(itbn->items, it2);
}
static void
-_item_del(Item *it)
+_item_del(Elm_Genlist_Item *it)
{
it->delete_me = 1;
if (it->wd->show_item == it) it->wd->show_item = NULL;
}
static void
-_item_block_add(Widget_Data *wd, Item *it, Item *itpar)
+_item_block_add(Widget_Data *wd, Elm_Genlist_Item *it, Elm_Genlist_Item *itpar)
{
Item_Block *itb = NULL;
for (n = 0; (wd->queue) && (n < 8); n++)
{
- Item *it;
+ Elm_Genlist_Item *it;
it = wd->queue->data;
wd->queue = eina_list_remove_list(wd->queue, wd->queue);
}
static void
-_item_queue(Widget_Data *wd, Item *it)
+_item_queue(Widget_Data *wd, Elm_Genlist_Item *it)
{
if (it->queued) return;
if (!wd->queue_idler) wd->queue_idler = ecore_idler_add(_item_idler, wd);
void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(wd, itc, data, parent, flags, func, func_data);
+ Elm_Genlist_Item *it = _item_new(wd, itc, data, parent, flags, func, func_data);
if (!it) return NULL;
if (!it->parent)
wd->items = eina_inlist_append(wd->items, (Eina_Inlist *)it);
it->rel = NULL;
it->before = 0;
_item_queue(wd, it);
- return (Elm_Genlist_Item *)it;
+ return it;
}
EAPI Elm_Genlist_Item *
void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(wd, itc, data, parent, flags, func, func_data);
+ Elm_Genlist_Item *it = _item_new(wd, itc, data, parent, flags, func, func_data);
if (!it) return NULL;
if (!it->parent)
wd->items = eina_inlist_prepend(wd->items, (Eina_Inlist *)it);
it->rel = NULL;
it->before = 1;
_item_queue(wd, it);
- return (Elm_Genlist_Item *)it;
+ return it;
}
EAPI Elm_Genlist_Item *
void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(wd, itc, data, NULL, flags, func, func_data);
+ Elm_Genlist_Item *it = _item_new(wd, itc, data, NULL, flags, func, func_data);
if (!it) return NULL;
if (!it->parent)
wd->items = eina_inlist_prepend_relative(wd->items, (Eina_Inlist *)it, (Eina_Inlist *)before);
{
// FIXME: tree. not done yet
}
- it->rel = (Item *)before;
+ it->rel = before;
it->rel->relcount++;
it->before = 1;
_item_queue(wd, it);
- return (Elm_Genlist_Item *)it;
+ return it;
}
EAPI Elm_Genlist_Item *
void (*func) (void *data, Evas_Object *obj, void *event_info), const void *func_data)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(wd, itc, data, NULL, flags, func, func_data);
+ Elm_Genlist_Item *it = _item_new(wd, itc, data, NULL, flags, func, func_data);
if (!it) return NULL;
if (!it->parent)
wd->items = eina_inlist_append_relative(wd->items, (Eina_Inlist *)it, (Eina_Inlist *)after);
{
// FIXME: tree. not done yet
}
- it->rel = (Item *)after;
+ it->rel = after;
it->rel->relcount++;
it->before = 0;
_item_queue(wd, it);
- return (Elm_Genlist_Item *)it;
+ return it;
}
EAPI void
Widget_Data *wd = elm_widget_data_get(obj);
while (wd->items)
{
- Item *it = (Item *)(wd->items);
+ Elm_Genlist_Item *it = (Elm_Genlist_Item *)(wd->items);
wd->items = eina_inlist_remove(wd->items, wd->items);
if (it->realized) _item_unrealize(it);
if (it->itc->func.del) it->itc->func.del(it->data, it->wd->obj);
wd->multi = multi;
}
-EAPI const Elm_Genlist_Item *
-elm_genlist_selected_item_get(Evas_Object *obj)
+EAPI Elm_Genlist_Item *
+elm_genlist_selected_item_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (wd->selected) return wd->selected->data;
}
EAPI const Eina_List *
-elm_genlist_selected_items_get(Evas_Object *obj)
+elm_genlist_selected_items_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->selected;
}
-EAPI const Elm_Genlist_Item *
-elm_genlist_first_item_get(Evas_Object *obj)
+EAPI Elm_Genlist_Item *
+elm_genlist_first_item_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = (Item *)(wd->items);
- while ((it) && (it->delete_me)) it = (Item *)(((Eina_Inlist *)it)->next);
- return (Elm_Genlist_Item *)it;
+ Elm_Genlist_Item *it = (Elm_Genlist_Item *)(wd->items);
+ while ((it) && (it->delete_me))
+ it = (Elm_Genlist_Item *)(((Eina_Inlist *)it)->next);
+ return it;
}
-EAPI const Elm_Genlist_Item *
-elm_genlist_last_item_get(Evas_Object *obj)
+EAPI Elm_Genlist_Item *
+elm_genlist_last_item_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd->items) return NULL;
- Item *it = (Item *)(wd->items->last);
- while ((it) && (it->delete_me)) it = (Item *)(((Eina_Inlist *)it)->prev);
- return (Elm_Genlist_Item *)it;
+ Elm_Genlist_Item *it = (Elm_Genlist_Item *)(wd->items->last);
+ while ((it) && (it->delete_me))
+ it = (Elm_Genlist_Item *)(((Eina_Inlist *)it)->prev);
+ return it;
}
-EAPI const Elm_Genlist_Item *
-elm_genlist_item_next_get(Elm_Genlist_Item *item)
+EAPI Elm_Genlist_Item *
+elm_genlist_item_next_get(const Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
while (it)
{
- it = (Item *)(((Eina_Inlist *)it)->next);
+ it = (Elm_Genlist_Item *)(((Eina_Inlist *)it)->next);
if ((it) && (!it->delete_me)) break;
}
return (Elm_Genlist_Item *)it;
}
-EAPI const Elm_Genlist_Item *
-elm_genlist_item_prev_get(Elm_Genlist_Item *item)
+EAPI Elm_Genlist_Item *
+elm_genlist_item_prev_get(const Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
while (it)
{
- it = (Item *)(((Eina_Inlist *)it)->prev);
+ it = (Elm_Genlist_Item *)(((Eina_Inlist *)it)->prev);
if ((it) && (!it->delete_me)) break;
}
return (Elm_Genlist_Item *)it;
}
EAPI void
-elm_genlist_item_selected_set(Elm_Genlist_Item *item, Evas_Bool selected)
+elm_genlist_item_selected_set(Elm_Genlist_Item *it, Evas_Bool selected)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->wd->obj);
- Eina_List *l;
+
if (it->delete_me) return;
+ selected = !!selected;
+ if (it->selected == selected) return;
+
if (selected)
{
if (!wd->multi)
{
- for (l = it->wd->selected; l;)
- {
- Item *it2 = l->data;
- l = l->next;
- if ((it2 != it) && (it2->selected)) _item_unselect(it2);
- }
+ while (wd->selected)
+ _item_unselect(wd->selected->data);
}
- if (!it->selected) _item_select(it);
+ _item_select(it);
}
- else if (it->selected)
+ else
_item_unselect(it);
}
EAPI Evas_Bool
-elm_genlist_item_selected_get(Elm_Genlist_Item *item)
+elm_genlist_item_selected_get(const Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
return it->selected;
}
}
EAPI Evas_Bool
-elm_genlist_item_expanded_get(Elm_Genlist_Item *item)
+elm_genlist_item_expanded_get(const Elm_Genlist_Item *item)
{
// FIXME: tree. not done yet
}
EAPI void
-elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Evas_Bool disabled)
+elm_genlist_item_disabled_set(Elm_Genlist_Item *it, Evas_Bool disabled)
{
- Item *it = (Item *)item;
if (it->disabled == disabled) return;
if (it->delete_me) return;
it->disabled = disabled;
}
EAPI Evas_Bool
-elm_genlist_item_disabled_get(Elm_Genlist_Item *item)
+elm_genlist_item_disabled_get(const Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
if (it->delete_me) return 0;
return it->disabled;
}
EAPI void
-elm_genlist_item_show(Elm_Genlist_Item *item)
+elm_genlist_item_show(Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
if (it->delete_me) return;
if ((it->queued) || (!it->mincalcd))
{
}
EAPI void
-elm_genlist_item_del(Elm_Genlist_Item *item)
+elm_genlist_item_del(Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
if (!it) return;
if (it->relcount > 0)
{
}
EAPI const void *
-elm_genlist_item_data_get(Elm_Genlist_Item *item)
+elm_genlist_item_data_get(const Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
return it->data;
}
EAPI void
-elm_genlist_item_update(Elm_Genlist_Item *item)
+elm_genlist_item_update(Elm_Genlist_Item *it)
{
- Item *it = (Item *)item;
if (!it->block) return;
if (it->delete_me) return;
it->mincalcd = 0;
}
EAPI const char *
-elm_hover_best_content_location_get(Evas_Object *obj, Elm_Hover_Axis pref_axis)
+elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_axis)
{
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;
static void _del_hook(Evas_Object *obj);
static void _theme_hook(Evas_Object *obj);
static void _sizing_eval(Evas_Object *obj);
-static void _mouse_up(void *data, Evas_Object *obj, void *event_info);
+static void _mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void
_del_hook(Evas_Object *obj)
}
static void
-_mouse_up(void *data, Evas_Object *obj, void *event_info)
+_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
evas_object_smart_callback_call(data, "clicked", NULL);
}
}
EAPI Evas_Object *
-elm_layout_edje_get(Evas_Object *obj)
+elm_layout_edje_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->lay;
#include "elm_priv.h"
typedef struct _Widget_Data Widget_Data;
-typedef struct _Item Item;
struct _Widget_Data
{
Evas_Bool multi : 1;
};
-struct _Item
+struct _Elm_List_Item
{
Evas_Object *obj;
Evas_Object *base;
Widget_Data *wd = elm_widget_data_get(obj);
while (wd->items)
{
- Item *it = wd->items->data;
+ Elm_List_Item *it = wd->items->data;
wd->items = eina_list_remove_list(wd->items, wd->items);
eina_stringshare_del(it->label);
if (!it->fixed)
for (l = wd->items; l; l = l->next)
{
- Item *it = l->data;
+ Elm_List_Item *it = l->data;
if ((sub == it->icon) || (sub == it->end))
{
static void
_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
- Item *it = data;
+ Elm_List_Item *it = data;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Event_Mouse_Down *ev = event_info;
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) wd->on_hold = 1;
}
static void
-_item_select(Item *it)
+_item_select(Elm_List_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
const char *selectraise;
}
static void
-_item_unselect(Item *it)
+_item_unselect(Elm_List_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
const char *stacking, *selectraise;
static void
_mouse_up(void *data, Evas *evas, Evas_Object *obj, void *event_info)
{
- Item *it = data;
+ Elm_List_Item *it = data;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Event_Mouse_Up *ev = event_info;
Eina_List *l;
{
for (l = wd->selected; l;)
{
- Item *it2 = l->data;
+ Elm_List_Item *it2 = l->data;
l = l->next;
if ((it2 != it) && (it2->selected)) _item_unselect(it2);
}
}
}
-static Item *
+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);
- Item *it;
+ Elm_List_Item *it;
- it = calloc(1, sizeof(Item));
+ it = calloc(1, sizeof(Elm_List_Item));
it->obj = obj;
it->label = eina_stringshare_add(label);
it->icon = icon;
for (l = wd->items; l; l = l->next)
{
Evas_Coord mw, mh;
- Item *it = l->data;
+ Elm_List_Item *it = l->data;
if (it->icon)
{
evas_object_size_hint_min_get(it->icon, &mw, &mh);
}
for (i = 0, l = wd->items; l; l = l->next, i++)
{
- Item *it = l->data;
+ Elm_List_Item *it = l->data;
it->even = i & 0x1;
if ((it->even != it->is_even) || (!it->fixed) || (redo))
{
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)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(obj, label, icon, end, func, data);
+ Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_append(wd->items, it);
elm_box_pack_end(wd->box, it->base);
- return (Elm_List_Item *)it;
+ return it;
}
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)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(obj, label, icon, end, func, data);
+ Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_prepend(wd->items, it);
elm_box_pack_start(wd->box, it->base);
- return (Elm_List_Item *)it;
+ return it;
}
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)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(obj, label, icon, end, func, data);
+ Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_prepend_relative(wd->items, it, before);
- elm_box_pack_before(wd->box, it->base, ((Item *)before)->base);
- return (Elm_List_Item *)it;
+ elm_box_pack_before(wd->box, it->base, before->base);
+ return it;
}
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)
{
Widget_Data *wd = elm_widget_data_get(obj);
- Item *it = _item_new(obj, label, icon, end, func, data);
+ Elm_List_Item *it = _item_new(obj, label, icon, end, func, data);
wd->items = eina_list_append_relative(wd->items, it, after);
- elm_box_pack_after(wd->box, it->base, ((Item *)after)->base);
- return (Elm_List_Item *)it;
+ elm_box_pack_after(wd->box, it->base, after->base);
+ return it;
}
EAPI void
}
EAPI const Eina_List *
-elm_list_items_get(Evas_Object *obj)
+elm_list_items_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->items;
}
-EAPI const Elm_List_Item *
-elm_list_selected_item_get(Evas_Object *obj)
+EAPI Elm_List_Item *
+elm_list_selected_item_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (wd->selected) return wd->selected->data;
}
EAPI const Eina_List *
-elm_list_selected_items_get(Evas_Object *obj)
+elm_list_selected_items_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->selected;
}
EAPI void
-elm_list_item_selected_set(Elm_List_Item *item, Evas_Bool selected)
+elm_list_item_selected_set(Elm_List_Item *it, Evas_Bool selected)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->obj);
- Eina_List *l;
+
+ selected = !!selected;
+ if (it->selected == selected) return;
+
if (selected)
{
if (!wd->multi)
{
- for (l = it->selected; l;)
- {
- Item *it2 = l->data;
- l = l->next;
- if ((it2 != it) && (it2->selected)) _item_unselect(it2);
- }
+ while (wd->selected)
+ _item_unselect(wd->selected->data);
}
- if (!it->selected) _item_select(it);
+ _item_select(it);
}
- else if (it->selected)
+ else
_item_unselect(it);
}
EAPI void
-elm_list_item_show(Elm_List_Item *item)
+elm_list_item_show(Elm_List_Item *it)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Coord bx, by, bw, bh;
Evas_Coord x, y, w, h;
}
EAPI void
-elm_list_item_del(Elm_List_Item *item)
+elm_list_item_del(Elm_List_Item *it)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->obj);
if (it->selected) _item_unselect(it);
wd->items = eina_list_remove(wd->items, it);
}
EAPI const void *
-elm_list_item_data_get(Elm_List_Item *item)
+elm_list_item_data_get(const Elm_List_Item *it)
{
- Item *it = (Item *)item;
return it->data;
}
EAPI Evas_Object *
-elm_list_item_icon_get(Elm_List_Item *item)
+elm_list_item_icon_get(const Elm_List_Item *it)
{
- Item *it = (Item *)item;
if (it->dummy_icon) return NULL;
return it->icon;
}
EAPI Evas_Object *
-elm_list_item_end_get(Elm_List_Item *item)
+elm_list_item_end_get(const Elm_List_Item *it)
{
- Item *it = (Item *)item;
if (it->dummy_end) return NULL;
return it->end;
}
char **args;
child = fork();
- if (child) return 1;
- chdir(cwd);
+ if (child > 0) return 1;
+ else if (child < 0)
+ {
+ perror("could not fork");
+ return 0;
+ }
+ if (chdir(cwd) != 0)
+ perror("could not chdir");
args = alloca((argc + 1) * sizeof(char *));
for (i = 0; i < argc; i++) args[i] = argv[i];
args[argc] = NULL;
exit(execvp(argv[0], args));
}
child = fork();
- if (child) return 1;
- chdir(cwd);
+ if (child > 0) return 1;
+ else if (child < 0)
+ {
+ perror("could not fork");
+ return 0;
+ }
+ if (chdir(cwd) != 0)
+ perror("could not chdir");
ret = qr_main(argc, argv);
exit(ret);
}
}
for (l = pathlist; l; l = l->next)
{
- snprintf(buf, sizeof(buf), "%s/%s", l->data, exe);
+ snprintf(buf, sizeof(buf), "%s/%s", (char *)l->data, exe);
if (access(buf, R_OK | X_OK) == 0) return strdup(buf);
}
return NULL;
}
EAPI double
-elm_object_scale_get(Evas_Object *obj)
+elm_object_scale_get(const Evas_Object *obj)
{
return elm_widget_scale_get(obj);
}
static void _del_hook(Evas_Object *obj);
static void _theme_hook(Evas_Object *obj);
static void _sizing_eval(Evas_Object *obj);
-static void _mouse_up(void *data, Evas_Object *obj, void *event_info);
+static void _mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void
_del_hook(Evas_Object *obj)
}
static void
-_mouse_up(void *data, Evas_Object *obj, void *event_info)
+_mouse_up(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
evas_object_smart_callback_call(data, "clicked", NULL);
}
EAPI void elm_widget_on_change_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data);
EAPI void elm_widget_on_show_region_hook_set(Evas_Object *obj, void (*func) (void *data, Evas_Object *obj), void *data);
EAPI void elm_widget_data_set(Evas_Object *obj, void *data);
-EAPI void *elm_widget_data_get(Evas_Object *obj);
+EAPI void *elm_widget_data_get(const Evas_Object *obj);
EAPI void elm_widget_sub_object_add(Evas_Object *obj, Evas_Object *sobj);
EAPI void elm_widget_sub_object_del(Evas_Object *obj, Evas_Object *sobj);
EAPI void elm_widget_resize_object_set(Evas_Object *obj, Evas_Object *sobj);
EAPI void elm_widget_hover_object_set(Evas_Object *obj, Evas_Object *sobj);
EAPI void elm_widget_can_focus_set(Evas_Object *obj, int can_focus);
-EAPI int elm_widget_can_focus_get(Evas_Object *obj);
-EAPI int elm_widget_focus_get(Evas_Object *obj);
-EAPI Evas_Object *elm_widget_focused_object_get(Evas_Object *obj);
-EAPI Evas_Object *elm_widget_top_get(Evas_Object *obj);
+EAPI int elm_widget_can_focus_get(const Evas_Object *obj);
+EAPI int elm_widget_focus_get(const Evas_Object *obj);
+EAPI Evas_Object *elm_widget_focused_object_get(const Evas_Object *obj);
+EAPI Evas_Object *elm_widget_top_get(const Evas_Object *obj);
EAPI int elm_widget_focus_jump(Evas_Object *obj, int forward);
EAPI void elm_widget_focus_set(Evas_Object *obj, int first);
EAPI void elm_widget_focused_object_clear(Evas_Object *obj);
-EAPI Evas_Object *elm_widget_parent_get(Evas_Object *obj);
+EAPI Evas_Object *elm_widget_parent_get(const Evas_Object *obj);
EAPI void elm_widget_focus_steal(Evas_Object *obj);
EAPI void elm_widget_activate(Evas_Object *obj);
EAPI void elm_widget_change(Evas_Object *obj);
EAPI void elm_widget_disabled_set(Evas_Object *obj, int disabled);
-EAPI int elm_widget_disabled_get(Evas_Object *obj);
+EAPI int elm_widget_disabled_get(const Evas_Object *obj);
EAPI void elm_widget_show_region_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-EAPI void elm_widget_show_region_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+EAPI void elm_widget_show_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
EAPI void elm_widget_scroll_hold_push(Evas_Object *obj);
EAPI void elm_widget_scroll_hold_pop(Evas_Object *obj);
-EAPI int elm_widget_scroll_hold_get(Evas_Object *obj);
+EAPI int elm_widget_scroll_hold_get(const Evas_Object *obj);
EAPI void elm_widget_scale_set(Evas_Object *obj, double scale);
-EAPI double elm_widget_scale_get(Evas_Object *obj);
+EAPI double elm_widget_scale_get(const Evas_Object *obj);
extern char *_elm_appname;
extern Elm_Config *_elm_config;
}
EAPI int
-elm_radio_value_get(Evas_Object *obj)
+elm_radio_value_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->group->value;
}
EAPI double
-elm_slider_value_get(Evas_Object *obj)
+elm_slider_value_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->val;
}
EAPI Evas_Bool
-elm_toggle_state_get(Evas_Object *obj)
+elm_toggle_state_get(const Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->state;
#include "elm_priv.h"
typedef struct _Widget_Data Widget_Data;
-typedef struct _Item Item;
struct _Widget_Data
{
Evas_Bool scrollable : 1;
};
-struct _Item
+struct _Elm_Toolbar_Item
{
Evas_Object *obj;
Evas_Object *base;
static void _sizing_eval(Evas_Object *obj);
static void
-_item_show(Item *it)
+_item_show(Elm_Toolbar_Item *it)
{
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Coord x, y, w, h, bx, by;
}
static void
-_item_select(Item *it)
+_item_select(Elm_Toolbar_Item *it)
{
- Item *it2;
+ Elm_Toolbar_Item *it2;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Object *obj2;
Eina_List *l;
Widget_Data *wd = elm_widget_data_get(obj);
while (wd->items)
{
- Item *it = wd->items->data;
+ Elm_Toolbar_Item *it = wd->items->data;
wd->items = eina_list_remove_list(wd->items, wd->items);
eina_stringshare_del(it->label);
if (it->icon) evas_object_del(it->icon);
{
Widget_Data *wd = elm_widget_data_get(obj);
Eina_List *l;
- Item *it;
+ Elm_Toolbar_Item *it;
Evas_Coord mw, mh;
for (l = wd->items; l; l = l->next)
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord mw, mh, vw, vh, w, h;
Eina_List *l;
- Item *it;
+ Elm_Toolbar_Item *it;
elm_smart_scroller_child_viewport_size_get(wd->scr, &vw, &vh);
evas_object_size_hint_min_get(wd->bx, &mw, &mh);
{
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Coord mw, mh;
- Item *it = calloc(1, sizeof(Item));
+ Elm_Toolbar_Item *it = calloc(1, sizeof(Elm_Toolbar_Item));
if (!it) return NULL;
wd->items = eina_list_append(wd->items, it);
it->obj = obj;
_els_smart_box_pack_end(wd->bx, it->base);
evas_object_show(it->base);
_sizing_eval(obj);
- return (Elm_Toolbar_Item *)it;
+ return it;
}
EAPI void
-elm_toolbar_item_del(Elm_Toolbar_Item *item)
+elm_toolbar_item_del(Elm_Toolbar_Item *it)
{
- Item *it = (Item *)item;
Widget_Data *wd = elm_widget_data_get(it->obj);
Evas_Object *obj2 = it->obj;
wd->items = eina_list_remove(wd->items, it);
}
EAPI void *
-elm_widget_data_get(Evas_Object *obj)
+elm_widget_data_get(const Evas_Object *obj)
{
API_ENTRY return NULL;
return sd->data;
}
EAPI int
-elm_widget_can_focus_get(Evas_Object *obj)
+elm_widget_can_focus_get(const Evas_Object *obj)
{
API_ENTRY return 0;
if (sd->can_focus) return 1;
}
EAPI int
-elm_widget_focus_get(Evas_Object *obj)
+elm_widget_focus_get(const Evas_Object *obj)
{
API_ENTRY return 0;
return sd->focused;
}
EAPI Evas_Object *
-elm_widget_focused_object_get(Evas_Object *obj)
+elm_widget_focused_object_get(const Evas_Object *obj)
{
- Eina_List *l;
+ const Evas_Object *subobj;
+ const Eina_List *l;
API_ENTRY return NULL;
if (!sd->focused) return NULL;
- for (l = sd->subobjs; l; l = l->next)
- {
- Evas_Object *fobj;
-
- fobj = elm_widget_focused_object_get(l->data);
+ EINA_LIST_FOREACH(sd->subobjs, l, subobj)
+ {
+ Evas_Object *fobj = elm_widget_focused_object_get(subobj);
if (fobj) return fobj;
}
- return obj;
+ return (Evas_Object *)obj;
}
EAPI Evas_Object *
-elm_widget_top_get(Evas_Object *obj)
+elm_widget_top_get(const Evas_Object *obj)
{
- Eina_List *l;
API_ENTRY return NULL;
if (sd->parent_obj) return elm_widget_top_get(sd->parent_obj);
- return obj;
+ return (Evas_Object *)obj;
}
EAPI int
}
EAPI Evas_Object *
-elm_widget_parent_get(Evas_Object *obj)
+elm_widget_parent_get(const Evas_Object *obj)
{
API_ENTRY return NULL;
return sd->parent_obj;
}
EAPI int
-elm_widget_disabled_get(Evas_Object *obj)
+elm_widget_disabled_get(const Evas_Object *obj)
{
API_ENTRY return 0;
return sd->disabled;
}
EAPI void
-elm_widget_show_region_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
+elm_widget_show_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
{
API_ENTRY return;
if (x) *x = sd->rx;
}
EAPI int
-elm_widget_scroll_hold_get(Evas_Object *obj)
+elm_widget_scroll_hold_get(const Evas_Object *obj)
{
API_ENTRY return 0;
return sd->scroll_hold;
}
EAPI double
-elm_widget_scale_get(Evas_Object *obj)
+elm_widget_scale_get(const Evas_Object *obj)
{
API_ENTRY return 1.0;
if (sd->scale == 0.0) return elm_widget_scale_get(sd->parent_obj);
/* windowing spcific calls - shall we do this differently? */
EAPI Ecore_X_Window
-elm_win_xwindow_get(Evas_Object *obj)
+elm_win_xwindow_get(const Evas_Object *obj)
{
- Elm_Win *win = elm_widget_data_get(obj);
+ Elm_Win *win = (Elm_Win *)elm_widget_data_get(obj);
if (!win) return 0;
_elm_win_xwindow_get(win);
return win->xwin;