}
}
}
-<<<<<<< HEAD
- part { name: "over1";
-=======
part { name: "over1";
->>>>>>> remotes/origin/upstream
mouse_events: 0;
clip_to: "clip2";
description { state: "default" 0.0;
}
}
}
-<<<<<<< HEAD
-=======
group { name: "elm/index/base/horizontal/default";
images {
image: "bt_base1.png" COMP;
}
}
}
->>>>>>> remotes/origin/upstream
description { state: "default" 0.0;
min: 40 40;
max: 40 40;
-<<<<<<< HEAD
- fixed: 1 1;
-=======
fixed: 1 1;
->>>>>>> remotes/origin/upstream
align: 1 0.5;
rel1.to: "elm.text.title";
rel1.relative: 0 0;
list_it = elm_list_item_append(o, dict[i], NULL, NULL, NULL, NULL);
snprintf(buf, sizeof(buf), "%c", dict[i][0]);
-<<<<<<< HEAD
- elm_index_item_append(id, buf, list_it);
- }
-
-elm_index_active_set(id, EINA_TRUE);
-=======
elm_index_item_append(id, buf, NULL, list_it);
}
elm_index_autohide_disabled_set(id, EINA_FALSE);
->>>>>>> remotes/origin/upstream
#include "widget_preview_tmpl_foot.c"
#include <Elementary.h>
-<<<<<<< HEAD
-=======
#include "test.h"
->>>>>>> remotes/origin/upstream
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
{
Evas_Object *win, *bg, *bx, *sl;
-<<<<<<< HEAD
- win = elm_win_add(NULL, "3d", ELM_WIN_BASIC);
- elm_win_title_set(win, "3D");
-=======
win = elm_win_add(NULL, "box-vert", ELM_WIN_BASIC);
elm_win_title_set(win, "Box Vert");
->>>>>>> remotes/origin/upstream
elm_win_autodel_set(win, EINA_TRUE);
bg = elm_bg_add(win);
snprintf(buf, sizeof(buf), "%s/images/g_layer/%s_1.png",
elm_app_data_dir_get(), icons[idx].name);
elm_icon_file_set(icons[idx].icon, buf, NULL);
-<<<<<<< HEAD
- elm_icon_scale_set(icons[idx].icon, 0, 0);
-=======
elm_icon_resizable_set(icons[idx].icon, 0, 0);
->>>>>>> remotes/origin/upstream
evas_object_size_hint_align_set(icons[idx].icon, 0.5, 0.5);
_icon_color_set(&icons[idx], INI_R, INI_G, INI_B, INI_A);
elm_box_pack_end(bx, icons[idx].icon);
{
Photo_Object *po = (Photo_Object *) _po;
Elm_Gesture_Momentum_Info *p = (Elm_Gesture_Momentum_Info *) event_info;
-<<<<<<< HEAD
- printf("momentum move <%d,%d>\n", p->x2, p->y2);
-=======
printf("momentum move <%d,%d> fingers=<%d> mx,my=<%d,%d>\n", p->x2, p->y2, p->n, p->mx, p->my);
->>>>>>> remotes/origin/upstream
po->bx = p->x2 - po->dx;
po->by = p->y2 - po->dy;
" gl_FragColor = color + white * dot(light_direction, rotated_normal);\n"
"}\n";
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
static void
gears_init(GLData *gld)
{
gld->gear3 = make_gear(gld, 1.3, 2.0, 0.5, 10, 0.7);
}
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
static void
gldata_init(GLData *gld)
{
free(gld);
}
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
static void
_resize_gl(Evas_Object *obj)
{
gears_reshape(gld, w,h);
}
-<<<<<<< HEAD
-
-
-=======
->>>>>>> remotes/origin/upstream
static void
_draw_gl(Evas_Object *obj)
{
evas_object_del((Evas_Object*)data);
}
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
static void
_del(void *data __UNUSED__, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
ecore_animator_del(ani);
}
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
static void
_key_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
{
gld->mouse_down = 0;
}
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
void
test_glview(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
elm_win_title_set(win, "GLView");
elm_win_autodel_set(win, EINA_TRUE);
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
// add a standard bg
bg = elm_bg_add(win);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_UP, _mouse_up, gl);
evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move, gl);
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
// Animator and other vars
ani = ecore_animator_add(_anim, gl);
gld->glapi = elm_glview_gl_api_get(gl);
evas_object_data_set(gl, "gld", gld);
evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, _del, gl);
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
/* add an ok button */
bt = elm_button_add(win);
elm_object_text_set(bt, "OK");
if (!(gld = calloc(1, sizeof(GLData)))) return;
// Set the engine to opengl_x11
-<<<<<<< HEAD
- elm_engine_set("opengl_x11");
-
- win = elm_win_add(NULL, "glview simple", ELM_WIN_BASIC);
-=======
elm_config_preferred_engine_set("opengl_x11");
win = elm_win_add(NULL, "glview simple", ELM_WIN_BASIC);
// Set preferred engine back to default from config
elm_config_preferred_engine_set(NULL);
->>>>>>> remotes/origin/upstream
elm_win_title_set(win, "GLView Simple");
elm_win_autodel_set(win, EINA_TRUE);
#include <Elementary.h>
-<<<<<<< HEAD
-=======
#include "test.h"
->>>>>>> remotes/origin/upstream
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#ifndef ELM_LIB_QUICKLAUNCH
-<<<<<<< HEAD
-=======
struct _Idx_Data_Type
{
Evas_Object *id; /* Pointer to Index */
elm_object_disabled_set(obj, a->state == API_STATE_LAST);
}
->>>>>>> remotes/origin/upstream
static Elm_Genlist_Item_Class itci;
char *gli_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__)
{
}
void
-<<<<<<< HEAD
-index_changed2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
- // called on a change but delayed in case multiple changes happen in a
- // short timespan
- elm_genlist_item_top_bring_in(elm_object_item_data_get(event_info));
-}
-
-void
-index_changed(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-=======
_index_delay_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
{
// called on a change but delayed in case multiple changes happen in a
void
_index_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
// this is calld on every change, no matter how often
// elm_genlist_item_bring_in(event_info);
}
void
-<<<<<<< HEAD
-index_selected(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
-{
- // called on final select
- elm_genlist_item_top_bring_in(elm_object_item_data_get(event_info));
-=======
_index_selected_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
{
// called on final select
id_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
{
printf("Current Index : %s\n", elm_index_item_letter_get((const Elm_Object_Item *)event_info));
->>>>>>> remotes/origin/upstream
}
void
test_index(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
-<<<<<<< HEAD
- Evas_Object *win, *bg, *gl, *id;
- Elm_Object_Item *glit;
- int i, j;
-=======
Evas_Object *win, *bg, *bxx, *gl, *id, *bt;
Elm_Object_Item *glit;
int i, j;
api_data *api = calloc(1, sizeof(api_data));
->>>>>>> remotes/origin/upstream
win = elm_win_add(NULL, "index", ELM_WIN_BASIC);
elm_win_title_set(win, "Index");
elm_win_autodel_set(win, EINA_TRUE);
-<<<<<<< HEAD
-=======
evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _cleanup_cb, api);
->>>>>>> remotes/origin/upstream
bg = elm_bg_add(win);
elm_win_resize_object_add(win, bg);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
-<<<<<<< HEAD
- gl = elm_genlist_add(win);
- evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, gl);
- evas_object_show(gl);
-
- id = elm_index_add(win);
- evas_object_size_hint_weight_set(id, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, id);
-
-=======
bxx = elm_box_add(win);
elm_win_resize_object_add(win, bxx);
evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bxx, gl);
->>>>>>> remotes/origin/upstream
evas_object_show(id);
itci.item_style = "default";
char buf[32];
snprintf(buf, sizeof(buf), "%c", 'A' + ((j >> 4) & 0xf));
-<<<<<<< HEAD
- elm_index_item_append(id, buf, glit);
- }
- j += 2;
- }
- evas_object_smart_callback_add(id, "delay,changed", index_changed2, NULL);
- evas_object_smart_callback_add(id, "changed", index_changed, NULL);
- evas_object_smart_callback_add(id, "selected", index_selected, NULL);
- elm_index_item_go(id, 0);
-
-=======
elm_index_item_append(id, buf, id_cb, glit);
if (*buf == 'G') /* Just init dt->item later used in API test */
api->dt.item = glit;
evas_object_smart_callback_add(id, "changed", _index_changed_cb, NULL);
evas_object_smart_callback_add(id, "selected", _index_selected_cb, NULL);
elm_index_level_go(id, 0);
->>>>>>> remotes/origin/upstream
evas_object_resize(win, 320, 480);
evas_object_show(win);
}
snprintf(letter, sizeof(letter), "%c", label[0]);
list_it = elm_list_item_sorted_insert(gui->lst, label, NULL, NULL, NULL,
NULL, test_index2_cmp);
-<<<<<<< HEAD
- elm_index_item_sorted_insert(gui->id, letter, list_it, test_index2_icmp,
-=======
elm_index_item_sorted_insert(gui->id, letter, NULL, list_it, test_index2_icmp,
->>>>>>> remotes/origin/upstream
test_index2_cmp);
elm_list_go(gui->lst);
/* FIXME it's not showing the recently added item */
{
Test_Index2_Elements *gui = data;
const char *label, *label_next;
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
Elm_Object_Item *list_it, *list_it_next;
Elm_Object_Item *iit;
{
iit = elm_index_item_find(gui->id, list_it);
if (iit) elm_object_item_del(iit);
-<<<<<<< HEAD
- elm_list_item_del(list_it);
-=======
elm_object_item_del(list_it);
->>>>>>> remotes/origin/upstream
return;
}
else
elm_object_item_del(iit);
-<<<<<<< HEAD
- elm_list_item_del(list_it);
-=======
elm_object_item_del(list_it);
->>>>>>> remotes/origin/upstream
}
void
gui->id = elm_index_add(win);
evas_object_size_hint_weight_set(gui->id, EVAS_HINT_EXPAND,
-<<<<<<< HEAD
- EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, gui->id);
- evas_object_smart_callback_add(gui->id, "delay,changed",
- test_index2_id_changed, NULL);
-=======
EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, gui->id);
evas_object_smart_callback_add(gui->id, "delay,changed",
test_index2_id_changed, NULL);
->>>>>>> remotes/origin/upstream
evas_object_show(gui->id);
gui->entry = elm_entry_add(win);
gui->lst = elm_list_add(win);
elm_box_pack_end(box, gui->lst);
evas_object_size_hint_weight_set(gui->lst, EVAS_HINT_EXPAND,
-<<<<<<< HEAD
- EVAS_HINT_EXPAND);
- evas_object_size_hint_fill_set(gui->lst, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(gui->lst, "selected", test_index2_it_del,
- gui);
-=======
EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(gui->lst, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_smart_callback_add(gui->lst, "selected", test_index2_it_del,
gui);
->>>>>>> remotes/origin/upstream
elm_list_go(gui->lst);
evas_object_show(gui->lst);
evas_object_resize(win, 320, 480);
evas_object_show(win);
}
-<<<<<<< HEAD
-=======
->>>>>>> remotes/origin/upstream
#endif
}
void
-<<<<<<< HEAD
-_title_visible(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-=======
_title_visible(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
elm_naviframe_item_title_visible_set(data,
!elm_naviframe_item_title_visible_get(data));
}
void
-<<<<<<< HEAD
-_promote(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
-=======
_promote(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
elm_naviframe_item_promote(data);
}
evas_object_data_get(nf, "page1"));
content = _content_new(nf, img5);
-<<<<<<< HEAD
- it = elm_naviframe_item_insert_after(elm_naviframe_top_item_get(nf),
-=======
it = elm_naviframe_item_insert_after(obj,
elm_naviframe_top_item_get(nf),
->>>>>>> remotes/origin/upstream
"Page 5",
bt,
bt2,
EINA_LIST_FOREACH(objs, elist, obj)
evas_object_resize(obj, w, h);
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
}
static Elm_Transit_Effect *
evas_object_resize(win, 400, 400);
evas_object_show(win);
}
-<<<<<<< HEAD
-
-
-=======
->>>>>>> remotes/origin/upstream
#endif
else return;
if (p->active_exists)
-<<<<<<< HEAD
- elm_index_active_set(obj, p->active_exists);
-=======
elm_index_autohide_disabled_set(obj, p->active_exists);
->>>>>>> remotes/origin/upstream
}
static Eina_Bool
{
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
{
-<<<<<<< HEAD
- elm_index_active_set(obj, param->i);
-=======
elm_index_autohide_disabled_set(obj, param->i);
->>>>>>> remotes/origin/upstream
return EINA_TRUE;
}
}
{
if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
{
-<<<<<<< HEAD
- param->i = elm_index_active_get(obj);
-=======
param->i = elm_index_autohide_disabled_get(obj);
->>>>>>> remotes/origin/upstream
return EINA_TRUE;
}
}
data == elm_index_item_data_get(event_info) ? "OK" :
"FAIL, something went wrong");
-<<<<<<< HEAD
- elm_list_item_del(data);
-=======
elm_object_item_del(data);
->>>>>>> remotes/origin/upstream
}
/* delete an index item */
{
Evas_Object *win, *bg, *hbox, *vbox, *bt, *sep;
Elm_Object_Item *lit;
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
unsigned int i;
char curr = 0;
/* indexing by first letters */
snprintf(buf, sizeof(buf), "%c", curr);
-<<<<<<< HEAD
-
- elm_index_item_append(d.index, buf, lit);
-=======
elm_index_item_append(d.index, buf, NULL, lit);
->>>>>>> remotes/origin/upstream
index_it = elm_index_item_find(d.index, lit);
elm_object_item_del_cb_set(index_it, _index_item_del);
Evas_Object *obj __UNUSED__,
void *event_info)
{
-<<<<<<< HEAD
- elm_gengrid_item_bring_in(event_info);
-=======
elm_gengrid_item_bring_in(event_info, ELM_GENGRID_ITEM_SCROLLTO_IN);
->>>>>>> remotes/origin/upstream
}
static void
char **argv __UNUSED__)
{
Evas_Object *win, *bg, *grid, *index;
-<<<<<<< HEAD
- Elm_Gengrid_Item *it;
-=======
Elm_Object_Item *gg_it;
->>>>>>> remotes/origin/upstream
unsigned int i;
Elm_Gengrid_Item_Class gic;
{
char buf[32];
-<<<<<<< HEAD
- it = elm_gengrid_item_append(grid, &gic, (void *)i, NULL, NULL);
-
- /* indexing by first letters */
- snprintf(buf, sizeof(buf), "%c", items[i][0]);
- elm_index_item_sorted_insert(index, buf, it, _index_icmp, NULL);
-=======
gg_it = elm_gengrid_item_append(grid, &gic, (void *)i, NULL, NULL);
/* indexing by first letters */
snprintf(buf, sizeof(buf), "%c", items[i][0]);
elm_index_item_sorted_insert(index, buf, NULL, gg_it, _index_icmp, NULL);
->>>>>>> remotes/origin/upstream
}
evas_object_smart_callback_add(index, "delay,changed", _index_changed, NULL);
ELM_FILE_LAST
} Elm_Fileselector_Type;
-<<<<<<< HEAD
-static Elm_Genlist_Item_Class list_itc[ELM_FILE_LAST] = {
- { "default", { NULL, NULL, NULL, NULL } },
- { "default", { NULL, NULL, NULL, NULL } },
- { "default", { NULL, NULL, NULL, NULL } }
-};
-static Elm_Gengrid_Item_Class grid_itc[ELM_FILE_LAST] = {
- { "default", { NULL, NULL, NULL, NULL } },
- { "default", { NULL, NULL, NULL, NULL } },
- { "default", { NULL, NULL, NULL, NULL } }
-};
-=======
static Elm_Genlist_Item_Class *list_itc[ELM_FILE_LAST];
static Elm_Gengrid_Item_Class *grid_itc[ELM_FILE_LAST];
->>>>>>> remotes/origin/upstream
static const char *widtype = NULL;
_del_hook(Evas_Object *obj)
{
Widget_Data *wd;
-<<<<<<< HEAD
-=======
int i;
->>>>>>> remotes/origin/upstream
wd = elm_widget_data_get(obj);
if (!wd) return;
-<<<<<<< HEAD
-=======
for (i = 0; i < ELM_FILE_LAST; ++i)
{
elm_genlist_item_class_free(list_itc[i]);
elm_gengrid_item_class_free(grid_itc[i]);
}
->>>>>>> remotes/origin/upstream
#ifdef HAVE_EIO
if (wd->current)
eio_file_cancel(wd->current);
Widget_Data *wd;
void *old_sd;
char *dir;
-<<<<<<< HEAD
-=======
//This event_info could be a list or gengrid item
Elm_Object_Item *it = event_info;
->>>>>>> remotes/origin/upstream
wd = elm_widget_data_get(data);
if (!wd) return;
sd = malloc(sizeof(*sd));
sd->fs = data;
-<<<<<<< HEAD
- sd->path = wd->mode == ELM_FILESELECTOR_LIST ?
- elm_object_item_data_get(event_info) :
- elm_gengrid_item_data_get(event_info);
-=======
sd->path = elm_object_item_data_get(it);
->>>>>>> remotes/origin/upstream
if (!sd->path)
{
if (info->type == EINA_FILE_DIR)
{
-<<<<<<< HEAD
- eio_file_associate_direct_add(handler, "type/grid", &grid_itc[ELM_DIRECTORY], NULL);
- eio_file_associate_direct_add(handler, "type/list", &list_itc[ELM_DIRECTORY], NULL);
-=======
eio_file_associate_direct_add(handler, "type/grid", grid_itc[ELM_DIRECTORY], NULL);
eio_file_associate_direct_add(handler, "type/list", list_itc[ELM_DIRECTORY], NULL);
->>>>>>> remotes/origin/upstream
}
else
{
if (evas_object_image_extension_can_load_get(info->path + info->name_start))
{
-<<<<<<< HEAD
- eio_file_associate_direct_add(handler, "type/grid", &grid_itc[ELM_FILE_IMAGE], NULL);
- eio_file_associate_direct_add(handler, "type/list", &list_itc[ELM_FILE_IMAGE], NULL);
- }
- else
- {
- eio_file_associate_direct_add(handler, "type/grid", &grid_itc[ELM_FILE_UNKNOW], NULL);
- eio_file_associate_direct_add(handler, "type/list", &list_itc[ELM_FILE_UNKNOW], NULL);
-=======
eio_file_associate_direct_add(handler, "type/grid", grid_itc[ELM_FILE_IMAGE], NULL);
eio_file_associate_direct_add(handler, "type/list", list_itc[ELM_FILE_IMAGE], NULL);
}
{
eio_file_associate_direct_add(handler, "type/grid", grid_itc[ELM_FILE_UNKNOW], NULL);
eio_file_associate_direct_add(handler, "type/list", list_itc[ELM_FILE_UNKNOW], NULL);
->>>>>>> remotes/origin/upstream
}
}
static int
_file_grid_cmp(const void *a, const void *b)
{
-<<<<<<< HEAD
- const Elm_Gengrid_Item *ga = a;
- const Elm_Gengrid_Item *gb = b;
- const Elm_Gengrid_Item_Class *ca = elm_gengrid_item_item_class_get(ga);
- const Elm_Gengrid_Item_Class *cb = elm_gengrid_item_item_class_get(gb);
-
- if (ca == &grid_itc[ELM_DIRECTORY])
- {
- if (cb != &grid_itc[ELM_DIRECTORY])
- return -1;
- }
- else if (cb == &grid_itc[ELM_DIRECTORY])
-=======
const Elm_Object_Item *ga = a;
const Elm_Object_Item *gb = b;
const Elm_Gengrid_Item_Class *ca = elm_gengrid_item_item_class_get(ga);
return -1;
}
else if (cb == grid_itc[ELM_DIRECTORY])
->>>>>>> remotes/origin/upstream
{
return 1;
}
-<<<<<<< HEAD
- return strcoll(elm_gengrid_item_data_get(ga), elm_gengrid_item_data_get(gb));
-=======
return strcoll(elm_object_item_data_get(ga), elm_object_item_data_get(gb));
->>>>>>> remotes/origin/upstream
}
static int
const Elm_Genlist_Item_Class *ca = elm_genlist_item_item_class_get(la);
const Elm_Genlist_Item_Class *cb = elm_genlist_item_item_class_get(lb);
-<<<<<<< HEAD
- if (ca == &list_itc[ELM_DIRECTORY])
- {
- if (cb != &list_itc[ELM_DIRECTORY])
- return -1;
- }
- else if (cb == &list_itc[ELM_DIRECTORY])
-=======
if (ca == list_itc[ELM_DIRECTORY])
{
if (cb != list_itc[ELM_DIRECTORY])
return -1;
}
else if (cb == list_itc[ELM_DIRECTORY])
->>>>>>> remotes/origin/upstream
{
return 1;
}
if (wr->wd->mode == ELM_FILESELECTOR_LIST)
{
-<<<<<<< HEAD
- Eina_Bool is_dir = (eio_file_associate_find(handler, "type/list") == &list_itc[ELM_DIRECTORY]);
-
- elm_genlist_item_direct_sorted_insert(wr->wd->files_list, eio_file_associate_find(handler, "type/list"),
- eina_stringshare_ref(eio_file_associate_find(handler, "filename")),
- wr->parent, wr->wd->expand && is_dir ? ELM_GENLIST_ITEM_SUBITEMS : ELM_GENLIST_ITEM_NONE,
- _file_list_cmp, NULL, NULL);
- }
- else if (wr->wd->mode == ELM_FILESELECTOR_GRID)
- elm_gengrid_item_direct_sorted_insert(wr->wd->files_grid, eio_file_associate_find(handler, "type/grid"),
-=======
Eina_Bool is_dir = (eio_file_associate_find(handler, "type/list") == list_itc[ELM_DIRECTORY]);
elm_genlist_item_sorted_insert(wr->wd->files_list, eio_file_associate_find(handler, "type/list"),
}
else if (wr->wd->mode == ELM_FILESELECTOR_GRID)
elm_gengrid_item_sorted_insert(wr->wd->files_grid, eio_file_associate_find(handler, "type/grid"),
->>>>>>> remotes/origin/upstream
eina_stringshare_ref(eio_file_associate_find(handler, "filename")),
_file_grid_cmp, NULL, NULL);
}
EINA_LIST_FREE(dirs, real)
{
if (wd->mode == ELM_FILESELECTOR_LIST)
-<<<<<<< HEAD
- elm_genlist_item_append(wd->files_list, &list_itc[ELM_DIRECTORY],
- real, /* item data */
- parent,
- wd->expand ? ELM_GENLIST_ITEM_SUBITEMS :
- ELM_GENLIST_ITEM_NONE,
- NULL, NULL);
- else if (wd->mode == ELM_FILESELECTOR_GRID)
- elm_gengrid_item_append(wd->files_grid, &grid_itc[ELM_DIRECTORY],
-=======
elm_genlist_item_append(wd->files_list, list_itc[ELM_DIRECTORY],
real, /* item data */
parent,
NULL, NULL);
else if (wd->mode == ELM_FILESELECTOR_GRID)
elm_gengrid_item_append(wd->files_grid, grid_itc[ELM_DIRECTORY],
->>>>>>> remotes/origin/upstream
real, /* item data */
NULL, NULL);
}
ELM_FILE_IMAGE : ELM_FILE_UNKNOW;
if (wd->mode == ELM_FILESELECTOR_LIST)
-<<<<<<< HEAD
- elm_genlist_item_append(wd->files_list, &list_itc[type],
-=======
elm_genlist_item_append(wd->files_list, list_itc[type],
->>>>>>> remotes/origin/upstream
real, /* item data */
parent, ELM_GENLIST_ITEM_NONE,
NULL, NULL);
else if (wd->mode == ELM_FILESELECTOR_GRID)
-<<<<<<< HEAD
- elm_gengrid_item_append(wd->files_grid, &grid_itc[type],
-=======
elm_gengrid_item_append(wd->files_grid, grid_itc[type],
->>>>>>> remotes/origin/upstream
real, /* item data */
NULL, NULL);
}
#else
-<<<<<<< HEAD
-=======
if (wd->expand && wd->current) return ;
->>>>>>> remotes/origin/upstream
if (wd->current)
eio_file_cancel(wd->current);
wr = malloc(sizeof (Widget_Request));
elm_widget_sub_object_add(obj, bt);
wd->home_button = bt;
-<<<<<<< HEAD
- list_itc[ELM_DIRECTORY].func.content_get = grid_itc[ELM_DIRECTORY].func.content_get = _itc_icon_folder_get;
- list_itc[ELM_FILE_IMAGE].func.content_get = grid_itc[ELM_FILE_IMAGE].func.content_get = _itc_icon_image_get;
- list_itc[ELM_FILE_UNKNOW].func.content_get = grid_itc[ELM_FILE_UNKNOW].func.content_get = _itc_icon_file_get;
-
- for (i = 0; i < ELM_FILE_LAST; ++i)
- {
- list_itc[i].func.text_get = grid_itc[i].func.text_get = _itc_text_get;
- list_itc[i].func.state_get = grid_itc[i].func.state_get = _itc_state_get;
- list_itc[i].func.del = grid_itc[i].func.del = _itc_del;
- }
-
-=======
for (i = 0; i < ELM_FILE_LAST; ++i)
{
list_itc[i] = elm_genlist_item_class_new();
list_itc[ELM_FILE_UNKNOW]->func.content_get =
grid_itc[ELM_FILE_UNKNOW]->func.content_get = _itc_icon_file_get;
->>>>>>> remotes/origin/upstream
li = elm_genlist_add(parent);
elm_widget_mirrored_automatic_set(li, EINA_FALSE);
evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-<<<<<<< HEAD
- s = elm_finger_size_get() * 2;
-=======
// XXX: will fail for dynamic finger size changing
s = _elm_config->finger_size * 2;
->>>>>>> remotes/origin/upstream
elm_gengrid_item_size_set(grid, s, s);
elm_gengrid_align_set(grid, 0.0, 0.0);
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
-<<<<<<< HEAD
- return elm_object_disabled_get(wd->filename_entry);
-=======
return !elm_object_disabled_get(wd->filename_entry);
->>>>>>> remotes/origin/upstream
}
EAPI void
EAPI void
elm_fileselector_path_set(Evas_Object *obj,
-<<<<<<< HEAD
- const char *path)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- _populate(obj, path, NULL);
-=======
const char *_path)
{
ELM_CHECK_WIDTYPE(obj, widtype);
path = ecore_file_realpath(_path);
_populate(obj, path, NULL);
free(path);
->>>>>>> remotes/origin/upstream
}
EAPI const char *
if (wd->mode == ELM_FILESELECTOR_LIST)
{
-<<<<<<< HEAD
- Elm_Object_Item *it;
- it = elm_genlist_selected_item_get(wd->files_list);
- if (it) return elm_genlist_item_data_get(it);
- }
- else
- {
- Elm_Object_Item *it;
- it = elm_gengrid_selected_item_get(wd->files_grid);
- if (it) return elm_object_item_data_get(it);
-=======
Elm_Object_Item *gl_it = elm_genlist_selected_item_get(wd->files_list);
if (gl_it) return elm_object_item_data_get(gl_it);
}
{
Elm_Object_Item *gg_it = elm_gengrid_selected_item_get(wd->files_grid);
if (gg_it) return elm_object_item_data_get(gg_it);
->>>>>>> remotes/origin/upstream
}
return wd->path;
EAPI Eina_Bool
elm_fileselector_selected_set(Evas_Object *obj,
-<<<<<<< HEAD
- const char *path)
-=======
const char *_path)
->>>>>>> remotes/origin/upstream
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
-<<<<<<< HEAD
-=======
Eina_Bool ret = EINA_TRUE;
char *path;
path = ecore_file_realpath(_path);
->>>>>>> remotes/origin/upstream
if (ecore_file_is_dir(path))
_populate(obj, path, NULL);
else
{
if (!ecore_file_exists(path))
-<<<<<<< HEAD
- return EINA_FALSE;
-=======
{
ret = EINA_FALSE;
goto clean_up;
}
->>>>>>> remotes/origin/upstream
_populate(obj, ecore_file_dir_get(path), NULL);
if (wd->filename_entry)
}
}
-<<<<<<< HEAD
- return EINA_TRUE;
-=======
clean_up:
free(path);
return ret;
->>>>>>> remotes/origin/upstream
}
{
EINA_INLIST;
const char *part;
-<<<<<<< HEAD
- Evas_Object *content;
-=======
->>>>>>> remotes/origin/upstream
Elm_Naviframe_Item *it;
};
{
EINA_INLIST;
const char *part;
-<<<<<<< HEAD
- const char *text;
-=======
->>>>>>> remotes/origin/upstream
};
struct _Elm_Naviframe_Item
static const char *widtype = NULL;
-<<<<<<< HEAD
-static const char SIG_TRANSITION_FINISHED[] = "transition,finished";
-static const char SIG_PUSH_FINISHED[] = "push,finished";
-static const char SIG_POP_FINISHED[] = "pop,finished";
-static const char SIG_TITLE_CLICKED[] = "title,clicked";
-
-static const Evas_Smart_Cb_Description _signals[] = {
- {SIG_TRANSITION_FINISHED, ""},
- {SIG_TITLE_CLICKED, ""},
- {NULL, NULL}
-};
-
-=======
//widget signals
static const char SIG_TRANSITION_FINISHED[] = "transition,finished";
static const char SIG_TITLE_CLICKED[] = "title,clicked";
Evas_Object *content);
static Evas_Object *_content_get_hook(const Evas_Object *obj, const char *part);
static Evas_Object *_content_unset_hook(Evas_Object *obj, const char *part);
->>>>>>> remotes/origin/upstream
static void _del_hook(Evas_Object *obj);
static void _theme_hook(Evas_Object *obj);
static void _emit_hook(Evas_Object *obj,
const char *emission,
const char *source);
static void _disable_hook(Evas_Object *obj);
-<<<<<<< HEAD
-static void _mirrored_set(Evas_Object *obj, Eina_Bool rtl);
-=======
->>>>>>> remotes/origin/upstream
static void _item_text_set_hook(Elm_Object_Item *it,
const char *part,
const char *label);
Evas_Object *next_btn,
Evas_Object *content,
const char *item_style);
-<<<<<<< HEAD
-=======
static Eina_Bool _focus_next_hook(const Evas_Object *obj,
Elm_Focus_Direction dir,
Evas_Object **next);
->>>>>>> remotes/origin/upstream
static void
_del_hook(Evas_Object *obj)
Elm_Naviframe_Item);
wd->stack = eina_inlist_remove(wd->stack, wd->stack->last);
_item_del(it);
-<<<<<<< HEAD
-=======
elm_widget_item_free(it);
->>>>>>> remotes/origin/upstream
if (!wd->stack) break;
}
}
_item_style_set(it, it->style);
_item_title_visible_update(it);
}
-<<<<<<< HEAD
-
- _elm_widget_mirrored_reload(obj);
- _mirrored_set(obj, elm_widget_mirrored_get(obj));
-=======
->>>>>>> remotes/origin/upstream
}
static void _emit_hook(Evas_Object *obj,
const char *emission,
const char *source)
{
-<<<<<<< HEAD
- ELM_CHECK_WIDTYPE(obj, widtype);
-
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- edje_object_signal_emit(wd->base, emission, source);
-=======
Elm_Object_Item *it = elm_naviframe_top_item_get(obj);
if (!it) return;
return elm_object_item_signal_emit(it, emission, source);
->>>>>>> remotes/origin/upstream
}
static void
}
static void
-<<<<<<< HEAD
-_mirrored_set(Evas_Object *obj, Eina_Bool rtl)
-{
- Widget_Data *wd;
- Elm_Naviframe_Item *it;
-
- wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- EINA_INLIST_FOREACH(wd->stack, it)
- edje_object_mirrored_set(VIEW(it), rtl);
- edje_object_mirrored_set(wd->base, rtl);
-}
-
-static void
-=======
->>>>>>> remotes/origin/upstream
_item_text_set_hook(Elm_Object_Item *it,
const char *part,
const char *label)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-
- Elm_Naviframe_Text_Item_Pair *pair = NULL;
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-=======
Elm_Naviframe_Text_Item_Pair *pair = NULL;
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
char buf[1024];
if (!part || !strcmp(part, "default"))
navi_it->text_list = eina_inlist_append(navi_it->text_list,
EINA_INLIST_GET(pair));
}
-<<<<<<< HEAD
-
- eina_stringshare_replace(&pair->text, label);
- edje_object_part_text_set(VIEW(navi_it), buf, label);
-=======
elm_object_part_text_set(VIEW(navi_it), buf, label);
->>>>>>> remotes/origin/upstream
if (label)
{
snprintf(buf, sizeof(buf), "elm,state,%s,show", buf);
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(navi_it), buf, "elm");
-=======
elm_object_signal_emit(VIEW(navi_it), buf, "elm");
->>>>>>> remotes/origin/upstream
}
else
{
snprintf(buf, sizeof(buf), "elm,state,%s,hide", buf);
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(navi_it), buf, "elm");
-=======
elm_object_signal_emit(VIEW(navi_it), buf, "elm");
->>>>>>> remotes/origin/upstream
}
_sizing_eval(WIDGET(navi_it));
static const char *
_item_text_get_hook(const Elm_Object_Item *it, const char *part)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- Elm_Naviframe_Text_Item_Pair *pair = NULL;
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-=======
->>>>>>> remotes/origin/upstream
char buf[1024];
if (!part || !strcmp(part, "default"))
else
snprintf(buf, sizeof(buf), "%s", part);
-<<<<<<< HEAD
- EINA_INLIST_FOREACH(navi_it->text_list, pair)
- {
- if (!strcmp(buf, pair->part))
- return pair->text;
- }
- return NULL;
-=======
return elm_object_part_text_get(VIEW(it), buf);
->>>>>>> remotes/origin/upstream
}
static void
const char *part,
Evas_Object *content)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-
- //specified parts
- if ((!part) || (!strcmp(part, "elm.swallow.content")))
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
//specified parts
if (!part || !strcmp("default", part))
->>>>>>> remotes/origin/upstream
{
_item_content_set(navi_it, content);
return;
}
-<<<<<<< HEAD
- else if (!strcmp(part, "elm.swallow.prev_btn"))
-=======
else if (!strcmp(part, "prev_btn"))
->>>>>>> remotes/origin/upstream
{
_title_prev_btn_set(navi_it, content, EINA_FALSE);
return;
}
-<<<<<<< HEAD
- else if (!strcmp(part, "elm.swallow.next_btn"))
-=======
else if (!strcmp(part, "next_btn"))
->>>>>>> remotes/origin/upstream
{
_title_next_btn_set(navi_it, content);
return;
static Evas_Object *
_item_content_get_hook(const Elm_Object_Item *it, const char *part)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- Elm_Naviframe_Content_Item_Pair *pair = NULL;
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-
- //specified parts
- if ((!part) || (!strcmp(part, "elm.swallow.content")))
- return navi_it->content;
- else if (!strcmp(part, "elm.swallow.prev_btn"))
- return navi_it->title_prev_btn;
- else if (!strcmp(part, "elm.swallow.next_btn"))
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
//specified parts
else if (!strcmp(part, "prev_btn"))
return navi_it->title_prev_btn;
else if (!strcmp(part, "next_btn"))
->>>>>>> remotes/origin/upstream
return navi_it->title_next_btn;
else if (!strcmp(part, "icon"))
return navi_it->title_icon;
//common parts
-<<<<<<< HEAD
- EINA_INLIST_FOREACH(navi_it->content_list, pair)
- {
- if (!strcmp(part, pair->part))
- return pair->content;
- }
- return NULL;
-=======
return elm_object_part_content_get(VIEW(navi_it), part);
->>>>>>> remotes/origin/upstream
}
static Evas_Object *
_item_content_unset_hook(Elm_Object_Item *it, const char *part)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-
- //specified parts
- if (!part || !strcmp("elm.swallow.content", part))
- return _item_content_unset(navi_it);
- else if (!strcmp(part, "elm.swallow.prev_btn"))
- return _title_prev_btn_unset(navi_it);
- else if (!strcmp(part, "elm.swallow.next_btn"))
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
//specified parts
else if (!strcmp(part, "prev_btn"))
return _title_prev_btn_unset(navi_it);
else if (!strcmp(part, "next_btn"))
->>>>>>> remotes/origin/upstream
return _title_next_btn_unset(navi_it);
else if (!strcmp(part, "icon"))
return _title_icon_unset(navi_it);
const char *emission,
const char *source)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
- edje_object_signal_emit(VIEW(navi_it), emission, source);
-=======
elm_object_signal_emit(VIEW(it), emission, source);
->>>>>>> remotes/origin/upstream
}
static void
_item_title_visible_update(Elm_Naviframe_Item *navi_it)
{
if (navi_it->title_visible)
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(navi_it), "elm,state,title,show", "elm");
- else
- edje_object_signal_emit(VIEW(navi_it), "elm,state,title,hide", "elm");
-=======
elm_object_signal_emit(VIEW(navi_it), "elm,state,title,show", "elm");
else
elm_object_signal_emit(VIEW(navi_it), "elm,state,title,hide", "elm");
->>>>>>> remotes/origin/upstream
}
static void
{
evas_object_move(VIEW(it), x, y);
evas_object_resize(VIEW(it), w, h);
-<<<<<<< HEAD
- edje_object_size_min_calc(VIEW(it), &it->minw, &it->minh);
-=======
edje_object_size_min_calc(elm_layout_edje_get(VIEW(it)),
&it->minw,
&it->minh);
->>>>>>> remotes/origin/upstream
if (it->minw > minw) minw = it->minw;
if (it->minh > minh) minh = it->minh;
}
btn = elm_button_add(obj);
if (!btn) return NULL;
evas_object_smart_callback_add(btn, "clicked", _back_btn_clicked, obj);
-<<<<<<< HEAD
- snprintf(buf, sizeof(buf), "naviframe/back_btn/%s", elm_widget_style_get(obj));
-=======
snprintf(buf, sizeof(buf), "naviframe/back_btn/%s",
elm_widget_style_get(obj));
->>>>>>> remotes/origin/upstream
elm_object_style_set(btn, buf);
return btn;
}
-<<<<<<< HEAD
-=======
static void _text_set_hook(Evas_Object *obj,
const char *part,
const char *label)
return elm_object_item_part_content_get(it, part);
}
->>>>>>> remotes/origin/upstream
static void
_title_content_del(void *data,
Evas *e __UNUSED__,
Elm_Naviframe_Content_Item_Pair *pair = data;
Elm_Naviframe_Item *it = pair->it;
snprintf(buf, sizeof(buf), "elm,state,%s,hide", pair->part);
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), buf, "elm");
-=======
elm_object_signal_emit(VIEW(it), buf, "elm");
->>>>>>> remotes/origin/upstream
it->content_list = eina_inlist_remove(it->content_list,
EINA_INLIST_GET(pair));
eina_stringshare_del(pair->part);
Elm_Naviframe_Item *it = data;
it->back_btn = EINA_FALSE;
it->title_prev_btn = NULL;
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), "elm,state,prev_btn,hide", "elm");
-=======
elm_object_signal_emit(VIEW(it), "elm,state,prev_btn,hide", "elm");
->>>>>>> remotes/origin/upstream
}
static void
{
Elm_Naviframe_Item *it = data;
it->title_next_btn = NULL;
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), "elm,state,next_btn,hide", "elm");
-=======
elm_object_signal_emit(VIEW(it), "elm,state,next_btn,hide", "elm");
->>>>>>> remotes/origin/upstream
}
static void
{
Elm_Naviframe_Item *it = data;
it->title_icon = NULL;
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), "elm,state,icon,hide", "elm");
-=======
elm_object_signal_emit(VIEW(it), "elm,state,icon,hide", "elm");
->>>>>>> remotes/origin/upstream
}
static void
{
Elm_Naviframe_Item *it = data;
it->content = NULL;
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), "elm,state,content,hide", "elm");
-=======
elm_object_signal_emit(VIEW(it), "elm,state,content,hide", "elm");
->>>>>>> remotes/origin/upstream
}
static void
{
char buf[1024];
Elm_Naviframe_Content_Item_Pair *pair = NULL;
-<<<<<<< HEAD
-=======
Evas_Object *prev_content = NULL;
->>>>>>> remotes/origin/upstream
EINA_INLIST_FOREACH(it->content_list, pair)
if (!strcmp(part, pair->part)) break;
if (pair)
{
-<<<<<<< HEAD
- if (pair->content != content)
- {
- if (content)
- {
- evas_object_event_callback_del(pair->content,
- EVAS_CALLBACK_DEL,
- _title_content_del);
- evas_object_event_callback_del(pair->content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
- snprintf(buf, sizeof(buf), "elm,state,%s,hide", part);
- edje_object_signal_emit(VIEW(it), buf, "elm");
- }
- evas_object_del(pair->content);
-=======
prev_content = elm_object_part_content_get(VIEW(it), part);
if (prev_content != content)
{
elm_object_signal_emit(VIEW(it), buf, "elm");
}
evas_object_del(prev_content);
->>>>>>> remotes/origin/upstream
if (!content) return;
}
}
it->content_list = eina_inlist_append(it->content_list,
EINA_INLIST_GET(pair));
}
-<<<<<<< HEAD
- if (pair->content != content)
- {
- elm_widget_sub_object_add(WIDGET(it), content);
-=======
if (prev_content != content)
{
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(content,
EVAS_CALLBACK_DEL,
_title_content_del,
pair);
-<<<<<<< HEAD
- evas_object_event_callback_add(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints,
- WIDGET(it));
- }
- edje_object_part_swallow(VIEW(it), part, content);
- snprintf(buf, sizeof(buf), "elm,state,%s,show", part);
- edje_object_signal_emit(VIEW(it), buf, "elm");
- pair->content = content;
-=======
}
elm_object_part_content_set(VIEW(it), part, content);
snprintf(buf, sizeof(buf), "elm,state,%s,show", part);
elm_object_signal_emit(VIEW(it), buf, "elm");
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
}
Eina_Bool back_btn)
{
if (it->title_prev_btn == btn) return;
-<<<<<<< HEAD
-
- if (it->title_prev_btn)
- evas_object_del(it->title_prev_btn);
-
- it->title_prev_btn = btn;
- if (!btn) return;
-
- elm_widget_sub_object_add(WIDGET(it), btn);
-=======
if (it->title_prev_btn) evas_object_del(it->title_prev_btn);
it->title_prev_btn = btn;
if (!btn) return;
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(btn,
EVAS_CALLBACK_DEL,
_title_prev_btn_del,
it);
-<<<<<<< HEAD
- evas_object_event_callback_add(btn,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints,
- WIDGET(it));
- edje_object_part_swallow(VIEW(it), "elm.swallow.prev_btn", btn);
- edje_object_signal_emit(VIEW(it), "elm,state,prev_btn,show", "elm");
-=======
elm_object_part_content_set(VIEW(it), "elm.swallow.prev_btn", btn);
elm_object_signal_emit(VIEW(it), "elm,state,prev_btn,show", "elm");
->>>>>>> remotes/origin/upstream
it->back_btn = back_btn;
_sizing_eval(WIDGET(it));
_title_next_btn_set(Elm_Naviframe_Item *it, Evas_Object *btn)
{
if (it->title_next_btn == btn) return;
-<<<<<<< HEAD
-
- if (it->title_next_btn)
- evas_object_del(it->title_next_btn);
-
- it->title_next_btn = btn;
- if (!btn) return;
-
- elm_widget_sub_object_add(WIDGET(it), btn);
-=======
if (it->title_next_btn) evas_object_del(it->title_next_btn);
it->title_next_btn = btn;
if (!btn) return;
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(btn,
EVAS_CALLBACK_DEL,
_title_next_btn_del,
it);
-<<<<<<< HEAD
- evas_object_event_callback_add(btn,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints,
- WIDGET(it));
- edje_object_part_swallow(VIEW(it), "elm.swallow.next_btn", btn);
- edje_object_signal_emit(VIEW(it), "elm,state,next_btn,show", "elm");
-=======
elm_object_part_content_set(VIEW(it), "elm.swallow.next_btn", btn);
elm_object_signal_emit(VIEW(it), "elm,state,next_btn,show", "elm");
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
}
_title_icon_set(Elm_Naviframe_Item *it, Evas_Object *icon)
{
if (it->title_icon == icon) return;
-<<<<<<< HEAD
-
- if (it->title_icon)
- evas_object_del(it->title_icon);
-
- it->title_icon = icon;
- if (!icon) return;
-
- elm_widget_sub_object_add(WIDGET(it), icon);
-=======
if (it->title_icon) evas_object_del(it->title_icon);
it->title_icon = icon;
if (!icon) return;
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(icon,
EVAS_CALLBACK_DEL,
_title_icon_del,
it);
-<<<<<<< HEAD
- evas_object_event_callback_add(icon,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints,
- WIDGET(it));
- edje_object_part_swallow(VIEW(it), "elm.swallow.icon", icon);
- edje_object_signal_emit(VIEW(it), "elm,state,icon,show", "elm");
-=======
elm_object_part_content_set(VIEW(it), "elm.swallow.icon", icon);
elm_object_signal_emit(VIEW(it), "elm,state,icon,show", "elm");
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
}
Evas_Object *content = it->content;
if (!content) return NULL;
-<<<<<<< HEAD
- elm_widget_sub_object_del(WIDGET(it), content);
- edje_object_part_unswallow(VIEW(it), content);
- edje_object_signal_emit(VIEW(it), "elm,state,content,hide", "elm");
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_DEL,
- _item_content_del);
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
-=======
elm_object_part_content_unset(VIEW(it), "elm.swallow.content");
elm_object_signal_emit(VIEW(it), "elm,state,content,hide", "elm");
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_item_content_del);
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
it->content = NULL;
Evas_Object *content = it->title_prev_btn;
if (!content) return NULL;
-<<<<<<< HEAD
- elm_widget_sub_object_del(WIDGET(it), content);
- edje_object_part_unswallow(VIEW(it), content);
- edje_object_signal_emit(VIEW(it), "elm,state,prev_btn,hide", "elm");
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_DEL,
- _title_prev_btn_del);
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
-=======
elm_object_part_content_unset(VIEW(it), "elm.swallow.prev_btn");
elm_object_signal_emit(VIEW(it), "elm,state,prev_btn,hide", "elm");
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_title_prev_btn_del);
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
it->title_prev_btn = NULL;
Evas_Object *content = it->title_next_btn;
if (!content) return NULL;
-<<<<<<< HEAD
- elm_widget_sub_object_del(WIDGET(it), content);
- edje_object_part_unswallow(VIEW(it), content);
- edje_object_signal_emit(VIEW(it), "elm,state,next_btn,hide", "elm");
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_DEL,
- _title_next_btn_del);
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
-=======
elm_object_part_content_unset(VIEW(it), "elm.swallow.next_btn");
elm_object_signal_emit(VIEW(it), "elm,state,next_btn,hide", "elm");
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_title_next_btn_del);
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
it->title_next_btn = NULL;
Evas_Object *content = it->title_icon;
if (!content) return NULL;
-<<<<<<< HEAD
- elm_widget_sub_object_del(WIDGET(it), content);
- edje_object_part_unswallow(VIEW(it), content);
- edje_object_signal_emit(VIEW(it), "elm,state,icon,hide", "elm");
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_DEL,
- _title_icon_del);
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
-=======
elm_object_part_content_unset(VIEW(it), "elm.swallow.icon");
elm_object_signal_emit(VIEW(it), "elm,state,icon,hide", "elm");
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_title_icon_del);
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
it->title_icon = NULL;
{
if (!strcmp(part, pair->part))
{
-<<<<<<< HEAD
- content = pair->content;
-=======
content = elm_object_part_content_get(VIEW(it), part);
->>>>>>> remotes/origin/upstream
eina_stringshare_del(pair->part);
it->content_list = eina_inlist_remove(it->content_list,
EINA_INLIST_GET(pair));
if (!content) return NULL;
-<<<<<<< HEAD
- elm_widget_sub_object_del(WIDGET(it), content);
- edje_object_part_unswallow(VIEW(it), content);
- snprintf(buf, sizeof(buf), "elm,state,%s,hide", part);
- edje_object_signal_emit(VIEW(it), buf, "elm");
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_DEL,
- _title_content_del);
- evas_object_event_callback_del(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
-=======
elm_object_part_content_unset(VIEW(it), part);
snprintf(buf, sizeof(buf), "elm,state,%s,hide", part);
elm_object_signal_emit(VIEW(it), buf, "elm");
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_title_content_del);
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(it));
return content;
Widget_Data *wd;
Elm_Naviframe_Content_Item_Pair *content_pair;
Elm_Naviframe_Text_Item_Pair *text_pair;
-<<<<<<< HEAD
-=======
Evas_Object *content;
->>>>>>> remotes/origin/upstream
if (!it) return;
wd = elm_widget_data_get(WIDGET(it));
if (!wd) return;
-<<<<<<< HEAD
- if (it->title_prev_btn)
- evas_object_del(it->title_prev_btn);
- if (it->title_next_btn)
- evas_object_del(it->title_next_btn);
- if (it->title_icon)
- evas_object_del(it->title_icon);
- if ((it->content) && (!wd->preserve))
- evas_object_del(it->content);
-
- while (it->content_list)
- {
- content_pair = EINA_INLIST_CONTAINER_GET(it->content_list,
- Elm_Naviframe_Content_Item_Pair);
- evas_object_event_callback_del(content_pair->content,
- EVAS_CALLBACK_DEL,
- _title_content_del);
- evas_object_event_callback_del(content_pair->content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints);
- evas_object_del(content_pair->content);
-=======
while (it->content_list)
{
content_pair =
evas_object_event_callback_del(content,
EVAS_CALLBACK_DEL,
_title_content_del);
->>>>>>> remotes/origin/upstream
eina_stringshare_del(content_pair->part);
it->content_list = eina_inlist_remove(it->content_list,
it->content_list);
text_pair = EINA_INLIST_CONTAINER_GET(it->text_list,
Elm_Naviframe_Text_Item_Pair);
eina_stringshare_del(text_pair->part);
-<<<<<<< HEAD
- eina_stringshare_del(text_pair->text);
-=======
->>>>>>> remotes/origin/upstream
it->text_list = eina_inlist_remove(it->text_list,
it->text_list);
free(text_pair);
static Eina_Bool
_item_del_pre_hook(Elm_Object_Item *it)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
- Elm_Naviframe_Item *navi_it;
- Widget_Data *wd;
-
- navi_it =(Elm_Naviframe_Item *) it;
-=======
Elm_Naviframe_Item *navi_it;
Widget_Data *wd;
navi_it =(Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_data_get(WIDGET(navi_it));
if (!wd) return EINA_FALSE;
if (!wd) return;
evas_object_hide(VIEW(it));
-<<<<<<< HEAD
- evas_object_smart_callback_call(WIDGET(it),
- SIG_PUSH_FINISHED,
- data);
- if (wd->freeze_events)
- evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
-=======
if (wd->freeze_events)
evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
elm_widget_item_smart_callback_call(it,
SIG_ITEM_HIDE_FINISHED,
NULL);
->>>>>>> remotes/origin/upstream
}
static void
{
Elm_Naviframe_Item *it = data;
if (!it) return;
-<<<<<<< HEAD
- evas_object_smart_callback_call(WIDGET(it),
- SIG_POP_FINISHED,
- data);
-=======
->>>>>>> remotes/origin/upstream
_item_del(data);
elm_widget_item_free(data);
}
{
if (navi_it->content == content) return;
if (navi_it->content) evas_object_del(navi_it->content);
-<<<<<<< HEAD
- elm_widget_sub_object_add(WIDGET(navi_it), content);
- edje_object_part_swallow(VIEW(navi_it),
- "elm.swallow.content",
- content);
- if (content)
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,content,show",
- "elm");
- else
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,content,hide",
- "elm");
-=======
elm_object_part_content_set(VIEW(navi_it), "elm.swallow.content", content);
if (content)
else
elm_object_signal_emit(VIEW(navi_it), "elm,state,content,hide", "elm");
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(content,
EVAS_CALLBACK_DEL,
_item_content_del,
navi_it);
-<<<<<<< HEAD
- evas_object_event_callback_add(content,
- EVAS_CALLBACK_CHANGED_SIZE_HINTS,
- _changed_size_hints,
- WIDGET(navi_it));
-=======
->>>>>>> remotes/origin/upstream
navi_it->content = content;
_sizing_eval(WIDGET(navi_it));
}
snprintf(buf, sizeof(buf), "item/%s", item_style);
eina_stringshare_replace(&navi_it->style, item_style);
}
-<<<<<<< HEAD
- _elm_theme_object_set(WIDGET(navi_it),
- VIEW(navi_it),
- "naviframe",
- buf,
- elm_widget_style_get(WIDGET(navi_it)));
- //recover item
- EINA_INLIST_FOREACH(navi_it->text_list, text_pair)
- _item_text_set_hook((Elm_Object_Item *) navi_it,
- text_pair->part,
- text_pair->text);
-
- EINA_INLIST_FOREACH(navi_it->content_list, content_pair)
- _item_content_set_hook((Elm_Object_Item *) navi_it,
- content_pair->part,
- content_pair->content);
- //content
- if (navi_it->content)
- {
- edje_object_part_swallow(VIEW(navi_it),
- "elm.swallow.content",
- navi_it->content);
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,content,show",
- "elm");
- }
-
- //prev button
- if (navi_it->title_prev_btn)
- {
- edje_object_part_swallow(VIEW(navi_it),
- "elm.swallow.prev_btn",
- navi_it->title_prev_btn);
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,prev_btn,show",
- "elm");
- }
-
- //next button
- if (navi_it->title_next_btn)
- {
- edje_object_part_swallow(VIEW(navi_it),
- "elm.swallow.next_btn",
- navi_it->title_next_btn);
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,next_btn,show",
- "elm");
- }
-
- navi_it->title_visible = EINA_TRUE;
-=======
elm_layout_theme_set(VIEW(navi_it),
"naviframe",
buf,
// why does this forcibly enable title? isnt that separate to style?
// navi_it->title_visible = EINA_TRUE;
->>>>>>> remotes/origin/upstream
_sizing_eval(WIDGET(navi_it));
wd = elm_widget_data_get(WIDGET(navi_it));
elm_widget_item_signal_emit_hook_set(it, _item_signal_emit_hook);
//item base layout
-<<<<<<< HEAD
- VIEW(it) = edje_object_add(evas_object_evas_get(obj));
- edje_object_mirrored_set(VIEW(it), elm_widget_mirrored_get(obj));
- evas_object_smart_member_add(VIEW(it), wd->base);
- elm_widget_sub_object_add(obj, VIEW(it));
- edje_object_signal_callback_add(VIEW(it),
- "elm,action,show,finished",
- "",
- _show_finished, it);
- edje_object_signal_callback_add(VIEW(it),
- "elm,action,pushed,finished",
- "",
- _pushed_finished, it);
- edje_object_signal_callback_add(VIEW(it),
- "elm,action,popped,finished",
- "",
- _popped_finished, it);
- edje_object_signal_callback_add(VIEW(it),
-=======
VIEW(it) = elm_layout_add(obj);
evas_object_smart_member_add(VIEW(it), wd->base);
"",
_popped_finished, it);
elm_object_signal_callback_add(VIEW(it),
->>>>>>> remotes/origin/upstream
"elm,action,title,clicked",
"",
_title_clicked, it);
_item_style_set(it, item_style);
-<<<<<<< HEAD
- _item_text_set_hook((Elm_Object_Item *) it, "elm.text.title", title_label);
-=======
_item_text_set_hook((Elm_Object_Item *)it, "elm.text.title", title_label);
->>>>>>> remotes/origin/upstream
//title buttons
if ((!prev_btn) && wd->auto_pushed && eina_inlist_count(wd->stack))
return it;
}
-<<<<<<< HEAD
-=======
static Eina_Bool
_focus_next_hook(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next)
{
next);
}
->>>>>>> remotes/origin/upstream
EAPI Evas_Object *
elm_naviframe_add(Evas_Object *parent)
{
elm_widget_del_hook_set(obj, _del_hook);
elm_widget_disable_hook_set(obj, _disable_hook);
elm_widget_theme_hook_set(obj, _theme_hook);
-<<<<<<< HEAD
- elm_widget_signal_emit_hook_set(obj, _emit_hook);
-
- //base
- wd->base = edje_object_add(e);
- edje_object_mirrored_set(wd->base, elm_widget_mirrored_get(obj));
- elm_widget_resize_object_set(obj, wd->base);
- _elm_theme_object_set(obj, wd->base, "naviframe", "base", "default");
-=======
elm_widget_text_set_hook_set(obj, _text_set_hook);
elm_widget_text_get_hook_set(obj, _text_get_hook);
elm_widget_content_set_hook_set(obj, _content_set_hook);
obj);
elm_widget_resize_object_set(obj, wd->base);
elm_layout_theme_set(wd->base, "naviframe", "base", "default");
->>>>>>> remotes/origin/upstream
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _move, obj);
evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _resize, obj);
evas_object_freeze_events_set(VIEW(it), EINA_TRUE);
evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE);
}
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(prev_it),
- "elm,state,cur,pushed",
- "elm");
- edje_object_signal_emit(VIEW(it),
- "elm,state,new,pushed",
- "elm");
- edje_object_message_signal_process(VIEW(prev_it));
- edje_object_message_signal_process(VIEW(it));
- }
- wd->stack = eina_inlist_append(wd->stack, EINA_INLIST_GET(it));
- _sizing_eval(obj);
- return (Elm_Object_Item *) it;
-}
-
-EAPI Elm_Object_Item *
-elm_naviframe_item_insert_before(Elm_Object_Item *before,
-=======
elm_object_signal_emit(VIEW(prev_it), "elm,state,cur,pushed", "elm");
elm_object_signal_emit(VIEW(it), "elm,state,new,pushed", "elm");
edje_object_message_signal_process(elm_layout_edje_get(VIEW(prev_it)));
EAPI Elm_Object_Item *
elm_naviframe_item_insert_before(Evas_Object *obj,
Elm_Object_Item *before,
->>>>>>> remotes/origin/upstream
const char *title_label,
Evas_Object *prev_btn,
Evas_Object *next_btn,
Evas_Object *content,
const char *item_style)
{
-<<<<<<< HEAD
-=======
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
->>>>>>> remotes/origin/upstream
ELM_OBJ_ITEM_CHECK_OR_RETURN(before, NULL);
Elm_Naviframe_Item *it;
Widget_Data *wd;
-<<<<<<< HEAD
- wd = elm_widget_data_get(WIDGET(before));
-=======
wd = elm_widget_data_get(obj);
->>>>>>> remotes/origin/upstream
if (!wd) return NULL;
it = _item_new(WIDGET(before), title_label, prev_btn, next_btn, content,
if (!it) return NULL;
wd->stack =
-<<<<<<< HEAD
- eina_inlist_prepend_relative(wd->stack, EINA_INLIST_GET(it),
- EINA_INLIST_GET(((Elm_Naviframe_Item *) before)));
- _sizing_eval(WIDGET(before));
- return (Elm_Object_Item *) it;
-}
-
-EAPI Elm_Object_Item *
-elm_naviframe_item_insert_after(Elm_Object_Item *after,
-=======
eina_inlist_prepend_relative(wd->stack,
EINA_INLIST_GET(it),
EINA_INLIST_GET(((Elm_Naviframe_Item *) before)));
EAPI Elm_Object_Item *
elm_naviframe_item_insert_after(Evas_Object *obj,
Elm_Object_Item *after,
->>>>>>> remotes/origin/upstream
const char *title_label,
Evas_Object *prev_btn,
Evas_Object *next_btn,
Evas_Object *content,
const char *item_style)
{
-<<<<<<< HEAD
-=======
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
->>>>>>> remotes/origin/upstream
ELM_OBJ_ITEM_CHECK_OR_RETURN(after, NULL);
Elm_Naviframe_Item *it;
Widget_Data *wd;
-<<<<<<< HEAD
- wd = elm_widget_data_get(WIDGET(after));
-=======
wd = elm_widget_data_get(obj);
->>>>>>> remotes/origin/upstream
if (!wd) return NULL;
it = _item_new(WIDGET(after), title_label, prev_btn, next_btn, content,
evas_object_show(VIEW(it));
}
wd->stack =
-<<<<<<< HEAD
- eina_inlist_append_relative(wd->stack, EINA_INLIST_GET(it),
- EINA_INLIST_GET(((Elm_Naviframe_Item *) after)));
- _sizing_eval(WIDGET(after));
- return (Elm_Object_Item *) it;
-=======
eina_inlist_append_relative(wd->stack,
EINA_INLIST_GET(it),
EINA_INLIST_GET(((Elm_Naviframe_Item *) after)));
_sizing_eval(WIDGET(after));
return (Elm_Object_Item *)it;
->>>>>>> remotes/origin/upstream
}
EAPI Evas_Object *
it = (Elm_Naviframe_Item *) elm_naviframe_top_item_get(obj);
if (!it) return NULL;
-<<<<<<< HEAD
- elm_widget_tree_unfocusable_set(it->content, EINA_TRUE);
-=======
->>>>>>> remotes/origin/upstream
if (wd->preserve)
content = it->content;
evas_object_freeze_events_set(VIEW(it), EINA_TRUE);
evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE);
}
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
- evas_object_show(VIEW(prev_it));
- evas_object_raise(VIEW(prev_it));
- edje_object_signal_emit(VIEW(prev_it),
- "elm,state,prev,popped",
- "elm");
- edje_object_message_signal_process(VIEW(it));
- edje_object_message_signal_process(VIEW(prev_it));
-=======
elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
evas_object_show(VIEW(prev_it));
evas_object_raise(VIEW(prev_it));
elm_widget_item_smart_callback_call(prev_it,
SIG_ITEM_SHOW_BEGIN,
NULL);
->>>>>>> remotes/origin/upstream
}
else
{
Widget_Data *wd;
Eina_Inlist *l, *prev_l;
-<<<<<<< HEAD
- navi_it = (Elm_Naviframe_Item *) it;
-=======
navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_data_get(WIDGET(navi_it));
if (!wd) return;
while(l)
{
if (EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item) ==
-<<<<<<< HEAD
- ((Elm_Naviframe_Item *) it)) break;
-=======
((Elm_Naviframe_Item *)it)) break;
->>>>>>> remotes/origin/upstream
prev_l = l->prev;
wd->stack = eina_inlist_remove(wd->stack, l);
_item_del(EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item));
Elm_Naviframe_Item *prev_it;
Widget_Data *wd;
-<<<<<<< HEAD
- navi_it = (Elm_Naviframe_Item *) it;
-=======
navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_data_get(navi_it->base.widget);
if (!wd) return;
if (it == elm_naviframe_top_item_get(navi_it->base.widget)) return;
-<<<<<<< HEAD
- wd->stack = eina_inlist_demote(wd->stack, EINA_INLIST_GET(navi_it));
- prev_it = EINA_INLIST_CONTAINER_GET(wd->stack->last->prev,
- Elm_Naviframe_Item);
-=======
elm_widget_tree_unfocusable_set(navi_it->content, EINA_FALSE);
wd->stack = eina_inlist_demote(wd->stack, EINA_INLIST_GET(navi_it));
prev_it = EINA_INLIST_CONTAINER_GET(wd->stack->last->prev,
Elm_Naviframe_Item);
elm_widget_tree_unfocusable_set(prev_it->content, EINA_FALSE);
->>>>>>> remotes/origin/upstream
if (wd->freeze_events)
{
evas_object_freeze_events_set(VIEW(it), EINA_TRUE);
evas_object_freeze_events_set(VIEW(prev_it), EINA_TRUE);
}
-<<<<<<< HEAD
- edje_object_signal_emit(VIEW(prev_it),
- "elm,state,cur,pushed",
- "elm");
- evas_object_show(VIEW(navi_it));
- evas_object_raise(VIEW(navi_it));
- edje_object_signal_emit(VIEW(navi_it),
- "elm,state,new,pushed",
- "elm");
- edje_object_message_signal_process(VIEW(prev_it));
- edje_object_message_signal_process(VIEW(navi_it));
-}
-
-=======
elm_object_signal_emit(VIEW(prev_it),
"elm,state,cur,pushed",
"elm");
}
->>>>>>> remotes/origin/upstream
EAPI void
elm_naviframe_item_del(Elm_Object_Item *it)
{
elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style)
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-<<<<<<< HEAD
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-
- //Return if new style is exsiting one.
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
if (item_style)
if (!strcmp(item_style, navi_it->style)) return;
elm_naviframe_item_style_get(const Elm_Object_Item *it)
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
-<<<<<<< HEAD
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
return navi_it->style;
}
elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible)
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-<<<<<<< HEAD
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
visible = !!visible;
if (navi_it->title_visible == visible) return;
elm_naviframe_item_title_visible_get(const Elm_Object_Item *it)
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
-<<<<<<< HEAD
- Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *) it;
-=======
Elm_Naviframe_Item *navi_it = (Elm_Naviframe_Item *)it;
->>>>>>> remotes/origin/upstream
return navi_it->title_visible;
}
return wd->auto_pushed;
}
-<<<<<<< HEAD
-EAPI Eina_Inlist *
-=======
EAPI Eina_List *
->>>>>>> remotes/origin/upstream
elm_naviframe_items_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
-<<<<<<< HEAD
- return wd->stack;
-=======
Eina_List *ret = NULL;
Elm_Naviframe_Item *itr;
EINA_INLIST_FOREACH(wd->stack, itr)
ret = eina_list_append(ret, itr);
return ret;
->>>>>>> remotes/origin/upstream
}
EAPI void
*
* Naviframe provides functions to switch different pages with stack
* mechanism. It means if one page(item) needs to be changed to the new one,
-<<<<<<< HEAD
- * then naviframe would push the new page to it's internal stack. Of course,
-=======
* then naviframe would push the new page to its internal stack. Of course,
->>>>>>> remotes/origin/upstream
* it can be back to the previous page by popping the top page. Naviframe
* provides some transition effect while the pages are switching (same as
* pager).
* Since each item could keep the different styles, users could keep the
* same look & feel for the pages or different styles for the items in it's
* application.
-<<<<<<< HEAD
- *
- * Signals that you can add callback for are:
- * @li "transition,finished" - When the transition is finished in changing
- * the item
- * @li "title,clicked" - User clicked title area
- *
- * Default contents parts of the naviframe items that you can use for are:
- * @li "default" - A main content of the page
-=======
*
* Default content parts of the naviframe that you can use content hooks for
* are:
* Default content parts of the naviframe items that you can use content hooks
* for are:
* @li "default" - The main content of the page
->>>>>>> remotes/origin/upstream
* @li "icon" - An icon in the title area
* @li "prev_btn" - A button to go to the previous page
* @li "next_btn" - A button to go to the next page
*
* Supported elm_object common APIs.
* @li elm_object_signal_emit
-<<<<<<< HEAD
-=======
* @li elm_object_part_text_set
* @li elm_object_part_text_get
* @li elm_object_part_content_set
* @li elm_object_part_content_get
* @li elm_object_part_content_unset
->>>>>>> remotes/origin/upstream
*
* Supported elm_object_item common APIs.
* @li elm_object_item_part_text_set
* @li elm_object_item_signal_emit
*/
-<<<<<<< HEAD
- //Available commonly
- #define ELM_NAVIFRAME_ITEM_CONTENT "elm.swallow.content"
- #define ELM_NAVIFRAME_ITEM_ICON "elm.swallow.icon"
- #define ELM_NAVIFRAME_ITEM_OPTIONHEADER "elm.swallow.optionheader"
- #define ELM_NAVIFRAME_ITEM_TITLE_LABEL "elm.text.title"
- #define ELM_NAVIFRAME_ITEM_PREV_BTN "elm.swallow.prev_btn"
- #define ELM_NAVIFRAME_ITEM_TITLE_LEFT_BTN "elm.swallow.left_btn"
- #define ELM_NAVIFRAME_ITEM_TITLE_RIGHT_BTN "elm.swallow.right_btn"
- #define ELM_NAVIFRAME_ITEM_TITLE_MORE_BTN "elm.swallow.more_btn"
- #define ELM_NAVIFRAME_ITEM_CONTROLBAR "elm.swallow.controlbar"
- #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_CLOSE "elm,state,optionheader,close", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_OPEN "elm,state,optionheader,open", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_INSTANT_CLOSE "elm,state,optionheader,instant_close", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_OPTIONHEADER_INSTANT_OPEN "elm,state,optionheader,instant_open", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_CLOSE "elm,state,controlbar,close", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_OPEN "elm,state,controlbar,open", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_INSTANT_CLOSE "elm,state,controlbar,instant_close", ""
- #define ELM_NAVIFRAME_ITEM_SIGNAL_CONTROLBAR_INSTANT_OPEN "elm,state,controlbar,instant_open", ""
-
- //Available only in a style - "2line"
- #define ELM_NAVIFRAME_ITEM_OPTIONHEADER2 "elm.swallow.optionheader2"
-
- //Available only in a style - "segment"
- #define ELM_NAVIFRAME_ITEM_SEGMENT2 "elm.swallow.segment2"
- #define ELM_NAVIFRAME_ITEM_SEGMENT3 "elm.swallow.segment3"
-
-=======
->>>>>>> remotes/origin/upstream
/**
* @addtogroup Naviframe
* @{
/**
* @brief Insert a new item into the naviframe before item @p before.
*
-<<<<<<< HEAD
-=======
* @param obj The naviframe object
->>>>>>> remotes/origin/upstream
* @param before The naviframe item to insert before.
* @param title_label The label in the title area. The name of the title
* label part is "elm.text.title"
*
* @ingroup Naviframe
*/
-<<<<<<< HEAD
-EAPI Elm_Object_Item *elm_naviframe_item_insert_before(Elm_Object_Item *before, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style);
-=======
EAPI Elm_Object_Item *elm_naviframe_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style);
->>>>>>> remotes/origin/upstream
/**
* @brief Insert a new item into the naviframe after item @p after.
*
-<<<<<<< HEAD
-=======
* @param obj The naviframe object
->>>>>>> remotes/origin/upstream
* @param after The naviframe item to insert after.
* @param title_label The label in the title area. The name of the title
* label part is "elm.text.title"
*
* @ingroup Naviframe
*/
-<<<<<<< HEAD
-EAPI Elm_Object_Item *elm_naviframe_item_insert_after(Elm_Object_Item *after, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style);
-=======
EAPI Elm_Object_Item *elm_naviframe_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *title_label, Evas_Object *prev_btn, Evas_Object *next_btn, Evas_Object *content, const char *item_style);
->>>>>>> remotes/origin/upstream
/**
* @brief Pop an item that is on top of the stack
* @brief Get a list of all the naviframe items.
*
* @param obj The naviframe object
-<<<<<<< HEAD
- * @return An Eina_Inlist* of naviframe items, #Elm_Object_Item,
- * or @c NULL on failure.
- *
- * @ingroup Naviframe
- */
-EAPI Eina_Inlist *elm_naviframe_items_get(const Evas_Object *obj);
-=======
* @return An Eina_List of naviframe items, #Elm_Object_Item,
* or @c NULL on failure.
* @note The returned list MUST be freed.
* @ingroup Naviframe
*/
EAPI Eina_List *elm_naviframe_items_get(const Evas_Object *obj) EINA_MALLOC EINA_WARN_UNUSED_RESULT;
->>>>>>> remotes/origin/upstream
/**
* @brief Set the event enabled when pushing/popping items
EAPI Eina_Bool elm_naviframe_event_enabled_get(const Evas_Object *obj);
/**
-<<<<<<< HEAD
-=======
* @brief Simple version of item_push.
*
* @see elm_naviframe_item_push
EAPI void elm_naviframe_item_simple_promote(Evas_Object *obj, Evas_Object *content);
/**
->>>>>>> remotes/origin/upstream
* @}
*/
static void _mirrored_set(Evas_Object *obj, Eina_Bool rtl);
static void _theme_hook(Evas_Object *obj);
static void _sizing_eval(Evas_Object *obj);
-<<<<<<< HEAD
-static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info);
-=======
static void _changed_size_hints(void *data,
Evas *e, Evas_Object *obj,
void *event_info);
->>>>>>> remotes/origin/upstream
static void _sub_del(void *data, Evas_Object *obj, void *event_info);
static void
if (!wd) return;
_elm_widget_mirrored_reload(obj);
_mirrored_set(obj, elm_widget_mirrored_get(obj));
-<<<<<<< HEAD
- _elm_theme_object_set(obj, wd->frm, "frame", "base", elm_widget_style_get(obj));
- edje_object_part_text_set(wd->frm, "elm.text", wd->label);
- if (wd->content)
- edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
- edje_object_scale_set(wd->frm, elm_widget_scale_get(obj) * _elm_config->scale);
-=======
_elm_theme_object_set(obj, wd->frm, "frame", "base",
elm_widget_style_get(obj));
edje_object_part_text_set(wd->frm, "elm.text", wd->label);
edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
edje_object_scale_set(wd->frm,
elm_widget_scale_get(obj) * _elm_config->scale);
->>>>>>> remotes/origin/upstream
_sizing_eval(obj);
}
_elm_frame_focus_next_hook(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next)
{
Widget_Data *wd = elm_widget_data_get(obj);
-<<<<<<< HEAD
- Evas_Object *cur;
-=======
->>>>>>> remotes/origin/upstream
if ((!wd) || (!wd->content))
return EINA_FALSE;
-<<<<<<< HEAD
- cur = wd->content;
-
- /* Try Focus cycle in subitem */
- return elm_widget_focus_next_get(cur, dir, next);
-=======
/* Try Focus cycle in subitem */
return elm_widget_focus_next_get(wd->content, dir, next);
->>>>>>> remotes/origin/upstream
}
static void
_changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Widget_Data *wd = elm_widget_data_get(data);
-<<<<<<< HEAD
- // FIXME: why is this needed? how does edje get this unswallowed or
- // lose its callbacks to edje
- if (!wd) return;
- if (wd->anim) return;
-=======
if (!wd) return;
if (wd->anim) return;
// FIXME: why is this needed? how does edje get this unswallowed or
// lose its callbacks to edje
->>>>>>> remotes/origin/upstream
edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
_sizing_eval(data);
}
if (!wd) return;
if (sub == wd->content)
{
-<<<<<<< HEAD
- evas_object_event_callback_del_full(sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-=======
evas_object_event_callback_del_full(sub,
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
->>>>>>> remotes/origin/upstream
_changed_size_hints, obj);
wd->content = NULL;
_sizing_eval(obj);
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
-<<<<<<< HEAD
- if (item && strcmp(item, "default")) return NULL;
- if (!wd) return NULL;
-=======
if (!wd) return NULL;
if (item && strcmp(item, "default")) return NULL;
->>>>>>> remotes/origin/upstream
return wd->label;
}
if (content)
{
elm_widget_sub_object_add(obj, content);
-<<<<<<< HEAD
- evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
-=======
evas_object_event_callback_add(content,
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
->>>>>>> remotes/origin/upstream
_changed_size_hints, obj);
edje_object_part_swallow(wd->frm, "elm.swallow.content", content);
}
if (part && strcmp(part, "default")) return NULL;
wd = elm_widget_data_get(obj);
if (!wd) return NULL;
-<<<<<<< HEAD
-=======
->>>>>>> remotes/origin/upstream
return wd->content;
}
Evas_Object *content;
if (part && strcmp(part, "default")) return NULL;
wd = elm_widget_data_get(obj);
-<<<<<<< HEAD
- if (!wd) return NULL;
- if (!wd->content) return NULL;
-=======
if (!wd || !wd->content) return NULL;
->>>>>>> remotes/origin/upstream
content = wd->content;
elm_widget_sub_object_del(obj, wd->content);
evas_object_event_callback_del_full(wd->content,
}
EAPI void
-<<<<<<< HEAD
-elm_frame_autocollapse_set(Evas_Object *obj, Eina_Bool enable)
-=======
elm_frame_autocollapse_set(Evas_Object *obj, Eina_Bool autocollapse)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd;
ELM_CHECK_WIDTYPE(obj, widtype);
wd = elm_widget_data_get(obj);
if (!wd) return;
-<<<<<<< HEAD
- wd->collapsible = !!enable;
-}
-
-EAPI Eina_Bool
-elm_frame_autocollapse_get(Evas_Object *obj)
-=======
wd->collapsible = !!autocollapse;
}
EAPI Eina_Bool
elm_frame_autocollapse_get(const Evas_Object *obj)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd;
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
if (wd->collapsed == collapse) return;
edje_object_signal_emit(wd->frm, "elm,action,switch", "elm");
edje_object_message_signal_process(wd->frm);
-<<<<<<< HEAD
- wd->collapsed = collapse;
-=======
wd->collapsed = !!collapse;
->>>>>>> remotes/origin/upstream
wd->anim = EINA_FALSE;
_sizing_eval(obj);
}
collapse = !!collapse;
if (wd->collapsed == collapse) return;
edje_object_signal_emit(wd->frm, "elm,action,toggle", "elm");
-<<<<<<< HEAD
- evas_object_smart_callback_add(wd->frm, "recalc", (Evas_Smart_Cb)_recalc, obj);
-=======
evas_object_smart_callback_add(wd->frm, "recalc", _recalc, obj);
->>>>>>> remotes/origin/upstream
wd->collapsed = collapse;
wd->anim = EINA_TRUE;
}
EAPI Eina_Bool
-<<<<<<< HEAD
-elm_frame_collapse_get(Evas_Object *obj)
-=======
elm_frame_collapse_get(const Evas_Object *obj)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd;
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
if (!wd) return EINA_FALSE;
return wd->collapsed;
}
-<<<<<<< HEAD
-
-
-EAPI void
-elm_frame_label_set(Evas_Object *obj, const char *label)
-{
- _elm_frame_label_set(obj, NULL, label);
-}
-
-EAPI const char *
-elm_frame_label_get(const Evas_Object *obj)
-{
- return _elm_frame_label_get(obj, NULL);
-}
-
-EAPI void
-elm_frame_content_set(Evas_Object *obj, Evas_Object *content)
-{
- _content_set_hook(obj, NULL, content);
-}
-
-EAPI Evas_Object *
-elm_frame_content_get(const Evas_Object *obj)
-{
- return _content_get_hook(obj, NULL);
-}
-
-EAPI Evas_Object *
-elm_frame_content_unset(Evas_Object *obj)
-{
- return _content_unset_hook(obj, NULL);
-}
-=======
->>>>>>> remotes/origin/upstream
*
* @brief Frame is a widget that holds some content and has a title.
*
-<<<<<<< HEAD
- * The default look is a frame with a title, but Frame supports multple
-=======
* The default look is a frame with a title, but Frame supports multiple
->>>>>>> remotes/origin/upstream
* styles:
* @li default
* @li pad_small
* Smart callbacks one can listen to:
* - @c "clicked" - The user has clicked the frame's label
*
-<<<<<<< HEAD
- * Default contents parts of the frame widget that you can use for are:
-=======
* Default content parts of the frame widget that you can use for are:
->>>>>>> remotes/origin/upstream
* @li "default" - A content of the frame
*
* Default text parts of the frame widget that you can use for are:
/**
* @brief Toggle autocollapsing of a frame
* @param obj The frame
-<<<<<<< HEAD
- * @param enable Whether to enable autocollapse
-=======
* @param autocollapse Whether to enable autocollapse
->>>>>>> remotes/origin/upstream
*
* When @p enable is EINA_TRUE, clicking a frame's label will collapse the frame
* vertically, shrinking it to the height of the label.
* By default, this is DISABLED.
*/
-<<<<<<< HEAD
-EAPI void elm_frame_autocollapse_set(Evas_Object *obj, Eina_Bool enable);
-=======
EAPI void elm_frame_autocollapse_set(Evas_Object *obj, Eina_Bool autocollapse);
->>>>>>> remotes/origin/upstream
/**
* @brief Determine autocollapsing of a frame
* vertically, shrinking it to the height of the label.
* By default, this is DISABLED.
*/
-<<<<<<< HEAD
-EAPI Eina_Bool elm_frame_autocollapse_get(Evas_Object *obj);
-=======
EAPI Eina_Bool elm_frame_autocollapse_get(const Evas_Object *obj);
->>>>>>> remotes/origin/upstream
/**
* @brief Manually collapse a frame without animations
EAPI void elm_frame_collapse_set(Evas_Object *obj, Eina_Bool collapse);
/**
-<<<<<<< HEAD
- * @brief Manually collapse a frame with animations
- * @param obj The frame
- * @param collapse true to collapse, false to expand
- *
- * Use this to toggle the collapsed state of a frame, triggering animations.
- */
-EAPI void elm_frame_collapse_go(Evas_Object *obj, Eina_Bool collapse);
-
-/**
- * @brief Determine the collapse state of a frame
- * @param obj The frame
- * @return true if collapsed, false otherwise
- *
- * Use this to determine the collapse state of a frame.
- */
-EAPI Eina_Bool elm_frame_collapse_get(Evas_Object *obj);
-/**
-=======
* @brief Determine the collapse state of a frame
* @param obj The frame
* @return true if collapsed, false otherwise
EAPI void elm_frame_collapse_go(Evas_Object *obj, Eina_Bool collapse);
/*
->>>>>>> remotes/origin/upstream
* @}
*/
Evas_Object *obj;
void *data; /**< Holds gesture intemidiate processing data */
Func_Data fn[ELM_GESTURE_STATE_ABORT + 1]; /**< Callback info for states */
-<<<<<<< HEAD
- Elm_Gesture_Types g_type; /**< gesture type */
-=======
Elm_Gesture_Type g_type; /**< gesture type */
->>>>>>> remotes/origin/upstream
Elm_Gesture_State state; /**< gesture state */
void *info; /**< Data for the state callback */
Eina_Bool test; /**< if true this gesture should be tested on input */
static void _reset_states(Widget_Data *wd);
static void _key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info);
static void _key_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info);
-<<<<<<< HEAD
-static void _zoom_with_wheel_test(Evas_Object *obj, void *event_info, Evas_Callback_Type event_type, Elm_Gesture_Types g_type);
-=======
static void _zoom_with_wheel_test(Evas_Object *obj, void *event_info, Evas_Callback_Type event_type, Elm_Gesture_Type g_type);
->>>>>>> remotes/origin/upstream
static void _mouse_wheel(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info);
static void _mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _mouse_move(void *data, Evas *e, Evas_Object *obj, void *event_info);
}
static Eina_Bool
-<<<<<<< HEAD
-_inside(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)
-{
- int w = elm_finger_size_get() >> 1; /* Finger size devided by 2 */
- if (x1 < (x2 - w))
- return EINA_FALSE;
-
- if (x1 > (x2 + w))
- return EINA_FALSE;
-
- if (y1 < (y2 - w))
- return EINA_FALSE;
-
- if (y1 > (y2 + w))
-=======
_inside(Evas_Coord xx1, Evas_Coord yy1, Evas_Coord xx2, Evas_Coord yy2)
{
int w = _elm_config->finger_size >> 1; /* Finger size devided by 2 */
return EINA_FALSE;
if (yy1 > (yy2 + w))
->>>>>>> remotes/origin/upstream
return EINA_FALSE;
return EINA_TRUE;
Eina_List *l;
Pointer_Event *p;
EINA_LIST_FOREACH(st->touched, l, p)
-<<<<<<< HEAD
- free(p);
-
- eina_list_free(st->touched);
- if (st->timeout) ecore_timer_del(st->timeout);
-=======
free(p);
eina_list_free(st->touched);
ecore_timer_del(st->timeout);
st->timeout = NULL;
}
->>>>>>> remotes/origin/upstream
memset(gesture->data, 0, sizeof(Long_Tap_Type));
}
}
if (!eina_list_search_unsorted_list(list, device_in_pending_list,
-<<<<<<< HEAD
- (intptr_t*) device))
- {
- return eina_list_append(list, (intptr_t*) device);
-=======
(void *)(intptr_t)device))
{
return eina_list_append(list, (void *)(intptr_t)device);
->>>>>>> remotes/origin/upstream
}
return list;
}
return eina_list_search_unsorted_list(list, device_in_pending_list,
-<<<<<<< HEAD
- (intptr_t *) device);
-=======
(void *)(intptr_t)device);
->>>>>>> remotes/origin/upstream
}
/**
Gesture_Info *p;
Evas *e = evas_object_evas_get(obj);
Eina_Bool gesture_found = EINA_FALSE;
-<<<<<<< HEAD
- for (i = ELM_GESTURE_FIRST ; i < ELM_GESTURE_LAST; i++)
-=======
for (i = ELM_GESTURE_FIRST; i < ELM_GESTURE_LAST; i++)
->>>>>>> remotes/origin/upstream
{
p = wd->gesture[i];
if (p)
Pointer_Event *data;
EINA_LIST_FREE(wd->touched, data)
-<<<<<<< HEAD
- free(data);
-=======
free(data);
->>>>>>> remotes/origin/upstream
if (!elm_widget_disabled_get(obj))
_unregister_callbacks(obj);
(pe1->event_type != EVAS_CALLBACK_MOUSE_DOWN))
return 1;
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
if (pe1->device == pe2->device)
return 0;
else if (pe1->device < pe2->device)
static void
_n_long_tap_test(Evas_Object *obj, Pointer_Event *pe,
void *event_info, Evas_Callback_Type event_type,
-<<<<<<< HEAD
- Elm_Gesture_Types g_type)
-=======
Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{ /* Here we fill Recent_Taps struct and fire-up click/tap timers */
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
* @ingroup Elm_Gesture_Layer
*/
static void
-<<<<<<< HEAD
-_set_momentum(Elm_Gesture_Momentum_Info *momentum, Evas_Coord x1, Evas_Coord y1,
- Evas_Coord x2, Evas_Coord y2, unsigned int t1x, unsigned int t1y,
- unsigned int t2)
-{
- Evas_Coord velx = 0, vely = 0, vel;
- Evas_Coord dx = x2 - x1;
- Evas_Coord dy = y2 - y1;
-=======
_set_momentum(Elm_Gesture_Momentum_Info *momentum,
Evas_Coord xx1, Evas_Coord yy1,
Evas_Coord xx2, Evas_Coord yy2,
Evas_Coord velx = 0, vely = 0, vel;
Evas_Coord dx = xx2 - xx1;
Evas_Coord dy = yy2 - yy1;
->>>>>>> remotes/origin/upstream
int dtx = t2 - t1x;
int dty = t2 - t1y;
if (dtx > 0)
* @ingroup Elm_Gesture_Layer
*/
static double
-<<<<<<< HEAD
-get_angle(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)
-{
- double a, xx, yy, rt = (-1);
- xx = fabs(x2 - x1);
- yy = fabs(y2 - y1);
-
- if (((int) xx) && ((int) yy))
- {
- rt = a = RAD2DEG(atan(yy / xx));
- if (x1 < x2)
- {
- if (y1 < y2)
- {
- rt = 360 - a;
- }
- else
- {
- rt = (a);
- }
- }
- else
- {
- if (y1 < y2)
- {
- rt = 180 + a;
- }
- else
- {
- rt = 180 - a;
- }
-=======
get_angle(Evas_Coord xx1, Evas_Coord yy1, Evas_Coord xx2, Evas_Coord yy2)
{
double a, xx, yy, rt = (-1);
{
if (yy1 < yy2) rt = 180 + a;
else rt = 180 - a;
->>>>>>> remotes/origin/upstream
}
}
if (rt < 0)
{ /* Do this only if rt is not set */
-<<<<<<< HEAD
- if (((int) xx))
- { /* Horizontal line */
- if (x2 < x1)
- {
- rt = 180;
- }
- else
- {
- rt = 0.0;
- }
- }
- else
- { /* Vertical line */
- if (y2 < y1)
- {
- rt = 90;
- }
- else
- {
- rt = 270;
- }
-=======
if (((int)xx))
{ /* Horizontal line */
if (xx2 < xx1) rt = 180;
{ /* Vertical line */
if (yy2 < yy1) rt = 90;
else rt = 270;
->>>>>>> remotes/origin/upstream
}
}
* original circle 180 0 We want: 270 90
* 270 180
*/
-<<<<<<< HEAD
-
- rt = 450 - rt;
- if (rt >= 360)
- rt -= 360;
-=======
rt = 450 - rt;
if (rt >= 360) rt -= 360;
->>>>>>> remotes/origin/upstream
return rt;
}
* @ingroup Elm_Gesture_Layer
*/
static void
-<<<<<<< HEAD
-get_vector(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2,
- Evas_Coord *l, double *a)
-{
- Evas_Coord xx, yy;
- xx = x2 - x1;
- yy = y2 - y1;
- *l = (Evas_Coord) sqrt(xx*xx + yy*yy);
- *a = get_angle(x1, y1, x2, y2);
-}
-
-static int
-_get_direction(Evas_Coord x1, Evas_Coord x2)
-{
- if (x2 < x1)
- return -1;
-
- if (x2 > x1)
- return 1;
-
-=======
get_vector(Evas_Coord xx1, Evas_Coord yy1, Evas_Coord xx2, Evas_Coord yy2,
Evas_Coord *l, double *a)
{
{
if (xx2 < xx1) return -1;
if (xx2 > xx1) return 1;
->>>>>>> remotes/origin/upstream
return 0;
}
/**
*/
static void
_momentum_test(Evas_Object *obj, Pointer_Event *pe,
-<<<<<<< HEAD
- void *event_info, Evas_Callback_Type event_type,
- Elm_Gesture_Types g_type)
-=======
void *event_info, Evas_Callback_Type event_type,
Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
*/
static void
_n_line_test(Evas_Object *obj, Pointer_Event *pe, void *event_info,
-<<<<<<< HEAD
- Evas_Callback_Type event_type, Elm_Gesture_Types g_type)
-=======
Evas_Callback_Type event_type, Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{
if (!pe)
return;
/* We report ABORT if lines length are NOT matching when fingers are up */
-<<<<<<< HEAD
- if ((longest_line_len - shortest_line_len) > (elm_finger_size_get()*2))
-=======
if ((longest_line_len - shortest_line_len) > (_elm_config->finger_size * 2))
->>>>>>> remotes/origin/upstream
{
ev_flag = _set_state(gesture, ELM_GESTURE_STATE_ABORT, &st->info,
EINA_FALSE);
* @ingroup Elm_Gesture_Layer
*/
static Evas_Coord
-<<<<<<< HEAD
-get_finger_gap_length(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2,
- Evas_Coord y2, Evas_Coord *x, Evas_Coord *y)
-{
- double a, b, xx, yy, gap;
- xx = fabs(x2 - x1);
- yy = fabs(y2 - y1);
- gap = sqrt(xx*xx + yy*yy);
-=======
get_finger_gap_length(Evas_Coord xx1, Evas_Coord yy1,
Evas_Coord xx2, Evas_Coord yy2,
Evas_Coord *x, Evas_Coord *y)
xx = fabs(xx2 - xx1);
yy = fabs(yy2 - yy1);
gap = sqrt((xx * xx) + (yy * yy));
->>>>>>> remotes/origin/upstream
/* START - Compute zoom center point */
/* The triangle defined as follows:
* b
* http://en.wikipedia.org/wiki/Trigonometric_functions
*************************************/
-<<<<<<< HEAD
- if (((int) xx) && ((int) yy))
-=======
if (((int)xx) && ((int)yy))
->>>>>>> remotes/origin/upstream
{
double A = atan((yy / xx));
#if defined(DEBUG_GESTURE_LAYER)
#endif
a = (Evas_Coord) ((gap / 2) * sin(A));
b = (Evas_Coord) ((gap / 2) * cos(A));
-<<<<<<< HEAD
- *x = (Evas_Coord) ((x2 > x1) ? (x1 + b) : (x2 + b));
- *y = (Evas_Coord) ((y2 > y1) ? (y1 + a) : (y2 + a));
- }
- else
- {
- if ((int) xx)
-=======
*x = (Evas_Coord) ((xx2 > xx1) ? (xx1 + b) : (xx2 + b));
*y = (Evas_Coord) ((yy2 > yy1) ? (yy1 + a) : (yy2 + a));
}
else
{
if ((int)xx)
->>>>>>> remotes/origin/upstream
{ /* horiz line, take half width */
#if defined(DEBUG_GESTURE_LAYER)
printf("==== HORIZ ====\n");
#endif
-<<<<<<< HEAD
- *x = (Evas_Coord) (xx / 2);
- *y = (Evas_Coord) (y1);
- }
-
- if ((int) yy)
-=======
*x = (Evas_Coord) ((xx1 + xx2) / 2);
*y = (Evas_Coord) (yy1);
}
if ((int)yy)
->>>>>>> remotes/origin/upstream
{ /* vert line, take half width */
#if defined(DEBUG_GESTURE_LAYER)
printf("==== VERT ====\n");
#endif
-<<<<<<< HEAD
- *x = (Evas_Coord) (x1);
- *y = (Evas_Coord) (yy / 2);
-=======
*x = (Evas_Coord) (xx1);
*y = (Evas_Coord) ((yy1 + yy2) / 2);
->>>>>>> remotes/origin/upstream
}
}
/* END - Compute zoom center point */
* @ingroup Elm_Gesture_Layer
*/
static double
-<<<<<<< HEAD
-compute_zoom(Zoom_Type *st, Evas_Coord x1, Evas_Coord y1,
- Evas_Coord x2, Evas_Coord y2, double zoom_finger_factor)
-{
- double rt = 1.0;
- unsigned int tm_end = (st->zoom_mv.timestamp > st->zoom_mv1.timestamp) ?
- st->zoom_mv.timestamp : st->zoom_mv1.timestamp;
-
- Evas_Coord diam = get_finger_gap_length(x1, y1, x2, y2,
- &st->info.x, &st->info.y);
-=======
compute_zoom(Zoom_Type *st,
Evas_Coord xx1, Evas_Coord yy1,
Evas_Coord xx2, Evas_Coord yy2,
Evas_Coord diam = get_finger_gap_length(xx1, yy1, xx2, yy2,
&st->info.x, &st->info.y);
->>>>>>> remotes/origin/upstream
st->info.radius = diam / 2;
/* We use factor only on the difference between gap-base */
/* if gap=120, base=100, we get ((120-100)/100)=0.2*factor */
rt = ((1.0) + ((((float) diam - (float) st->zoom_base) /
-<<<<<<< HEAD
- (float) st->zoom_base) * zoom_finger_factor));
-=======
(float) st->zoom_base) * zoom_finger_factor));
->>>>>>> remotes/origin/upstream
/* Momentum: zoom per second: */
st->info.momentum = _zoom_momentum_get(st, tm_end, rt);
*/
static void
_zoom_with_wheel_test(Evas_Object *obj, void *event_info,
-<<<<<<< HEAD
- Evas_Callback_Type event_type, Elm_Gesture_Types g_type)
-=======
Evas_Callback_Type event_type, Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
*/
static void
_zoom_test(Evas_Object *obj, Pointer_Event *pe, void *event_info,
-<<<<<<< HEAD
- Evas_Callback_Type event_type, Elm_Gesture_Types g_type)
-=======
Evas_Callback_Type event_type, Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{
if (!pe)
return;
static void
_get_rotate_properties(Rotate_Type *st,
-<<<<<<< HEAD
- Evas_Coord x1, Evas_Coord y1,
- Evas_Coord x2, Evas_Coord y2,
- double *angle)
-{ /* FIXME: Fix momentum computation, it's wrong */
- double prev_angle = *angle;
- st->info.radius = get_finger_gap_length(x1, y1, x2, y2,
- &st->info.x, &st->info.y) / 2;
-
- *angle = get_angle(x1, y1, x2, y2);
-
-=======
Evas_Coord xx1, Evas_Coord yy1,
Evas_Coord xx2, Evas_Coord yy2,
double *angle)
*angle = get_angle(xx1, yy1, xx2, yy2);
->>>>>>> remotes/origin/upstream
if (angle == &st->info.angle)
{ /* Fingers are moving, compute momentum */
unsigned int tm_start =
*/
static void
_rotate_test(Evas_Object *obj, Pointer_Event *pe, void *event_info,
-<<<<<<< HEAD
- Evas_Callback_Type event_type, Elm_Gesture_Types g_type)
-=======
Evas_Callback_Type event_type, Elm_Gesture_Type g_type)
->>>>>>> remotes/origin/upstream
{
if (!pe)
return;
if (rotation_broke_tolerance(st))
{ /* Rotation broke tolerance, report move */
double d = st->info.angle - st->next_step;
-<<<<<<< HEAD
- if (d < 0.0)
-=======
if (d < 0)
->>>>>>> remotes/origin/upstream
d = (-d);
if (d >= wd->rotate_step)
*
* @ingroup Elm_Gesture_Layer
*/
-<<<<<<< HEAD
-void continues_gestures_restart(void *data, Eina_Bool states_reset)
-=======
static void
continues_gestures_restart(void *data, Eina_Bool states_reset)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
Pointer_Event _pe;
Pointer_Event *pe = NULL;
Widget_Data *wd = elm_widget_data_get(data);
-<<<<<<< HEAD
- if (!wd) return;
-=======
->>>>>>> remotes/origin/upstream
#if defined(DEBUG_GESTURE_LAYER)
int i;
}
EAPI Eina_Bool
-<<<<<<< HEAD
-elm_gesture_layer_hold_events_get(Evas_Object *obj)
-{
-=======
elm_gesture_layer_hold_events_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
->>>>>>> remotes/origin/upstream
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
}
EAPI void
-<<<<<<< HEAD
-elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool r)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- wd->repeat_events = !r;
-}
-
-EAPI void
-elm_gesture_layer_zoom_step_set(Evas_Object *obj, double s)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- if (s < 0.0)
- return;
-
- wd->zoom_step = s;
-}
-
-EAPI void
-elm_gesture_layer_rotate_step_set(Evas_Object *obj, double s)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return;
-
- if (s < 0.0)
- return;
-
- wd->rotate_step = s;
-}
-
-EAPI Eina_Bool
-elm_gesture_layer_attach(Evas_Object *obj, Evas_Object *t)
-{
- Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd) return EINA_FALSE;
-
- if (!t)
- return EINA_FALSE;
-=======
elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool hold_events)
{
ELM_CHECK_WIDTYPE(obj, widtype);
if (!wd) return EINA_FALSE;
if (!target) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
/* if was attached before, unregister callbacks first */
if (wd->target)
_unregister_callbacks(obj);
-<<<<<<< HEAD
- wd->target = t;
-=======
wd->target = target;
->>>>>>> remotes/origin/upstream
_register_callbacks(obj);
return EINA_TRUE;
}
EAPI void
-<<<<<<< HEAD
-elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Types idx,
- Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data)
-{
-=======
elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Type idx,
Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data)
{
ELM_CHECK_WIDTYPE(obj, widtype);
->>>>>>> remotes/origin/upstream
Widget_Data *wd = elm_widget_data_get(obj);
Gesture_Info *p;
if (!wd) return;
elm_widget_disable_hook_set(obj, _disable_hook);
wd->target = NULL;
-<<<<<<< HEAD
- wd->line_min_length =_elm_config->glayer_line_min_length * elm_finger_size_get();
- wd->zoom_distance_tolerance = _elm_config->glayer_zoom_distance_tolerance * elm_finger_size_get();
- wd->line_distance_tolerance = _elm_config->glayer_line_distance_tolerance * elm_finger_size_get();
-=======
wd->line_min_length =_elm_config->glayer_line_min_length * _elm_config->finger_size;
wd->zoom_distance_tolerance = _elm_config->glayer_zoom_distance_tolerance * _elm_config->finger_size;
wd->line_distance_tolerance = _elm_config->glayer_line_distance_tolerance * _elm_config->finger_size;
->>>>>>> remotes/origin/upstream
wd->zoom_finger_factor = _elm_config->glayer_zoom_finger_factor;
wd->zoom_wheel_factor = _elm_config->glayer_zoom_wheel_factor; /* mouse wheel zoom steps */
wd->rotate_angular_tolerance = _elm_config->glayer_rotate_angular_tolerance;
* Now you need to tell gesture layer what gestures you follow.
* This is done with @ref elm_gesture_layer_cb_set call.
* By setting the callback you actually saying to gesture layer:
-<<<<<<< HEAD
- * I would like to know when the gesture @ref Elm_Gesture_Types
-=======
* I would like to know when the gesture @ref Elm_Gesture_Type
->>>>>>> remotes/origin/upstream
* switches to state @ref Elm_Gesture_State.
*
* Next, you need to implement the actual action that follows the input
* (again with @ref elm_gesture_layer_cb_set)
*
* The information reported by gesture layer to your callback is depending
-<<<<<<< HEAD
- * on @ref Elm_Gesture_Types:
-=======
* on @ref Elm_Gesture_Type:
->>>>>>> remotes/origin/upstream
* @ref Elm_Gesture_Taps_Info is the info reported for tap gestures:
* @ref ELM_GESTURE_N_TAPS, @ref ELM_GESTURE_N_LONG_TAPS,
* @ref ELM_GESTURE_N_DOUBLE_TAPS, @ref ELM_GESTURE_N_TRIPLE_TAPS.
ELM_GESTURE_N_DOUBLE_TAPS, /**< N fingers double-single taps */
ELM_GESTURE_N_TRIPLE_TAPS, /**< N fingers triple-single taps */
-<<<<<<< HEAD
- ELM_GESTURE_MOMENTUM, /**< Reports momentum in the dircetion of move */
-=======
ELM_GESTURE_MOMENTUM, /**< Reports momentum in the direction of move */
->>>>>>> remotes/origin/upstream
ELM_GESTURE_N_LINES, /**< N fingers line gesture */
ELM_GESTURE_N_FLICKS, /**< N fingers flick gesture */
ELM_GESTURE_ROTATE, /**< Rotate */
ELM_GESTURE_LAST
-<<<<<<< HEAD
-} Elm_Gesture_Types;
-=======
} Elm_Gesture_Type;
->>>>>>> remotes/origin/upstream
/**
* @enum _Elm_Gesture_State
ELM_GESTURE_STATE_START, /**< Gesture STARTed */
ELM_GESTURE_STATE_MOVE, /**< Gesture is ongoing */
ELM_GESTURE_STATE_END, /**< Gesture completed */
-<<<<<<< HEAD
- ELM_GESTURE_STATE_ABORT /**< Onging gesture was ABORTed */
-=======
ELM_GESTURE_STATE_ABORT /**< Ongoing gesture was ABORTed */
->>>>>>> remotes/origin/upstream
} Elm_Gesture_State;
/**
* it means user isn't interested in gesture-state
* and it will not be tested.
*
-<<<<<<< HEAD
- * @param obj Pointer to gesture-layer.
-=======
* @param obj gesture-layer.
->>>>>>> remotes/origin/upstream
* @param idx The gesture you would like to track its state.
* @param cb callback function pointer.
* @param cb_type what event this callback tracks: START, MOVE, END, ABORT.
*
* @ingroup Elm_Gesture_Layer
*/
-<<<<<<< HEAD
-EAPI void elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Types idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data);
-=======
EAPI void elm_gesture_layer_cb_set(Evas_Object *obj, Elm_Gesture_Type idx, Elm_Gesture_State cb_type, Elm_Gesture_Event_Cb cb, void *data);
->>>>>>> remotes/origin/upstream
/**
* Call this function to get repeat-events settings.
*
-<<<<<<< HEAD
- * @param obj Pointer to gesture-layer.
-=======
* @param obj gesture-layer.
->>>>>>> remotes/origin/upstream
*
* @return repeat events settings.
* @see elm_gesture_layer_hold_events_set()
* @ingroup Elm_Gesture_Layer
*/
-<<<<<<< HEAD
-EAPI Eina_Bool elm_gesture_layer_hold_events_get(Evas_Object *obj);
-
-/**
- * This function called in order to make gesture-layer repeat events.
- * Set this of you like to get the raw events only if gestures were not detected.
- * Clear this if you like gesture layer to fwd events as testing gestures.
- *
- * @param obj Pointer to gesture-layer.
- * @param r Repeat: TRUE/FALSE
- *
- * @ingroup Elm_Gesture_Layer
- */
-EAPI void elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool r);
-=======
EAPI Eina_Bool elm_gesture_layer_hold_events_get(const Evas_Object *obj);
/**
* @ingroup Elm_Gesture_Layer
*/
EAPI void elm_gesture_layer_hold_events_set(Evas_Object *obj, Eina_Bool hold_events);
->>>>>>> remotes/origin/upstream
/**
* This function sets step-value for zoom action.
* Set step to any positive value.
-<<<<<<< HEAD
- * Cancel step setting by setting to 0.0
- *
- * @param obj Pointer to gesture-layer.
- * @param s new zoom step value.
- *
- * @ingroup Elm_Gesture_Layer
- */
-EAPI void elm_gesture_layer_zoom_step_set(Evas_Object *obj, double s);
-=======
* Cancel step setting by setting to 0
*
* @param obj gesture-layer.
* @ingroup Elm_Gesture_Layer
*/
EAPI double elm_gesture_layer_zoom_step_get(const Evas_Object *obj);
->>>>>>> remotes/origin/upstream
/**
* This function sets step-value for rotate action.
* Set step to any positive value.
-<<<<<<< HEAD
- * Cancel step setting by setting to 0.0
- *
- * @param obj Pointer to gesture-layer.
- * @param s new roatate step value.
- *
- * @ingroup Elm_Gesture_Layer
- */
-EAPI void elm_gesture_layer_rotate_step_set(Evas_Object *obj, double s);
-
-/**
- * This function called to attach gesture-layer to an Evas_Object.
- * @param obj Pointer to gesture-layer.
- * @param t Pointer to underlying object (AKA Target)
-=======
* Cancel step setting by setting to 0
*
* @param obj gesture-layer.
* This function called to attach gesture-layer to an Evas_Object.
* @param obj gesture-layer.
* @param target Pointer to underlying object (AKA Target)
->>>>>>> remotes/origin/upstream
*
* @return TRUE, FALSE on success, failure.
*
* @ingroup Elm_Gesture_Layer
*/
-<<<<<<< HEAD
-EAPI Eina_Bool elm_gesture_layer_attach(Evas_Object *obj, Evas_Object *t);
-=======
EAPI Eina_Bool elm_gesture_layer_attach(Evas_Object *obj, Evas_Object *target);
->>>>>>> remotes/origin/upstream
/**
* Call this function to construct a new gesture-layer object.
*
* @param parent the parent object.
*
-<<<<<<< HEAD
- * @return Pointer to new gesture-layer object.
-=======
* @return new gesture-layer object.
->>>>>>> remotes/origin/upstream
*
* @ingroup Elm_Gesture_Layer
*/
struct _Widget_Data
{
-<<<<<<< HEAD
- Evas_Object *glview_image;
-=======
Evas_Object *glview_image;
->>>>>>> remotes/origin/upstream
Elm_GLView_Mode mode;
Elm_GLView_Resize_Policy scale_policy;
wd->w = w;
wd->h = h;
_glview_update_surface(data);
-<<<<<<< HEAD
- /*
- if (wd->render_func)
- {
- evas_gl_make_current(wd->evasgl, wd->surface, wd->context);
- wd->render_func(data);
- }
- */
-=======
->>>>>>> remotes/origin/upstream
}
}
}
EAPI void
-<<<<<<< HEAD
-elm_glview_size_set(Evas_Object *obj, int width, int height)
-=======
elm_glview_size_set(Evas_Object *obj, int w, int h)
->>>>>>> remotes/origin/upstream
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
-<<<<<<< HEAD
- if ((width == wd->w) && (height == wd->h)) return;
- wd->w = width;
- wd->h = height;
-=======
if ((w == wd->w) && (h == wd->h)) return;
wd->w = w;
wd->h = h;
->>>>>>> remotes/origin/upstream
_glview_update_surface(obj);
elm_glview_changed_set(obj);
}
EAPI void
-<<<<<<< HEAD
-elm_glview_size_get(const Evas_Object *obj, int *width, int *height)
-=======
elm_glview_size_get(const Evas_Object *obj, int *w, int *h)
->>>>>>> remotes/origin/upstream
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
-<<<<<<< HEAD
- if (width) *width = wd->w;
- if (height) *height = wd->h;
-=======
if (w) *w = wd->w;
if (h) *h = wd->h;
->>>>>>> remotes/origin/upstream
}
EAPI void
/**
* @defgroup GLView GLView
*
-<<<<<<< HEAD
- * A simple GLView widget that allows GL rendering.
- *
- * Signals that you can add callbacks for are:
- *
-=======
* A GLView widget allows for simple GL rendering in elementary environment.
* GLView hides all the complicated evas_gl details so that the user only
* has to deal with registering a few callback functions for rendering
/**
* @addtogroup GLView
->>>>>>> remotes/origin/upstream
* @{
*/
typedef enum _Elm_GLView_Mode
{
-<<<<<<< HEAD
- ELM_GLVIEW_NONE = 0,
- ELM_GLVIEW_ALPHA = (1<<1),
- ELM_GLVIEW_DEPTH = (1<<2),
- ELM_GLVIEW_STENCIL = (1<<3),
- ELM_GLVIEW_DIRECT = (1<<4)
-} Elm_GLView_Mode;
-
-/**
- * Defines a policy for the glview resizing.
-=======
ELM_GLVIEW_NONE = 0,
ELM_GLVIEW_ALPHA = (1<<1), /**< Alpha channel enabled rendering mode */
ELM_GLVIEW_DEPTH = (1<<2), /**< Depth buffer enabled rendering mode */
* new size. ELM_GLVIEW_RESIZE_POLICY_SCALE will instead keep the
* current surface but only display the result at the desired size
* scaled.
->>>>>>> remotes/origin/upstream
*
* @note Default is ELM_GLVIEW_RESIZE_POLICY_RECREATE
*/
typedef enum
{
ELM_GLVIEW_RESIZE_POLICY_RECREATE = 1, /**< Resize the internal surface along with the image */
-<<<<<<< HEAD
- ELM_GLVIEW_RESIZE_POLICY_SCALE = 2 /**< Only reize the internal image and not the surface */
-} Elm_GLView_Resize_Policy;
-
-typedef enum
-{
- ELM_GLVIEW_RENDER_POLICY_ON_DEMAND = 1, /**< Render only when there is a need for redrawing */
- ELM_GLVIEW_RENDER_POLICY_ALWAYS = 2 /**< Render always even when it is not visible */
-=======
ELM_GLVIEW_RESIZE_POLICY_SCALE = 2 /**< Only resize the internal image and not the surface */
} Elm_GLView_Resize_Policy;
{
ELM_GLVIEW_RENDER_POLICY_ON_DEMAND = 1, /**< Render only when there is a need for redrawing */
ELM_GLVIEW_RENDER_POLICY_ALWAYS = 2 /**< Render always even when it is not visible */
->>>>>>> remotes/origin/upstream
} Elm_GLView_Render_Policy;
/**
* Sets the size of the glview
*
* @param obj The glview object
-<<<<<<< HEAD
- * @param width width of the glview object
- * @param height height of the glview object
- *
- * @ingroup GLView
- */
-EAPI void elm_glview_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height);
-=======
* @param w width of the glview object
* @param h height of the glview object
*
* @ingroup GLView
*/
EAPI void elm_glview_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
->>>>>>> remotes/origin/upstream
/**
* Gets the size of the glview.
*
* @param obj The glview object
-<<<<<<< HEAD
- * @param width width of the glview object
- * @param height height of the glview object
-=======
* @param w width of the glview object
* @param h height of the glview object
->>>>>>> remotes/origin/upstream
*
* Note that this function returns the actual image size of the
* glview. This means that when the scale policy is set to
*
* @ingroup GLView
*/
-<<<<<<< HEAD
-EAPI void elm_glview_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height);
-=======
EAPI void elm_glview_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
->>>>>>> remotes/origin/upstream
/**
* Gets the gl api struct for gl rendering
EAPI Evas_GL_API *elm_glview_gl_api_get(const Evas_Object *obj);
/**
-<<<<<<< HEAD
- * Set the mode of the GLView. Supports Three simple modes.
- *
- * @param obj The glview object
- * @param mode The mode Options OR'ed enabling Alpha, Depth, Stencil.
- * @return True if set properly.
- *
-=======
* Set the mode of the GLView. Supports alpha, depth, stencil.
*
* @param obj The glview object
* to rendering to an offscreen buffer before it gets composited to the
* window.
*
->>>>>>> remotes/origin/upstream
* @ingroup GLView
*/
EAPI Eina_Bool elm_glview_mode_set(Evas_Object *obj, Elm_GLView_Mode mode);
* @param obj The glview object.
* @param policy The scaling policy.
*
-<<<<<<< HEAD
- * By default, the resize policy is set to
- * ELM_GLVIEW_RESIZE_POLICY_RECREATE. When resize is called it
- * destroys the previous surface and recreates the newly specified
- * size. If the policy is set to ELM_GLVIEW_RESIZE_POLICY_SCALE,
- * however, glview only scales the image object and not the underlying
- * GL Surface.
-=======
* By default, the resize policy is set to ELM_GLVIEW_RESIZE_POLICY_RECREATE.
* When resize is called it destroys the previous surface and recreates the
* newly specified size. If the policy is set to
* ELM_GLVIEW_RESIZE_POLICY_SCALE, however, glview only scales the image
* object and not the underlying GL Surface.
->>>>>>> remotes/origin/upstream
*
* @ingroup GLView
*/
* @param obj The glview object.
* @param policy The render policy.
*
-<<<<<<< HEAD
- * By default, the render policy is set to
- * ELM_GLVIEW_RENDER_POLICY_ON_DEMAND. This policy is set such
- * that during the render loop, glview is only redrawn if it needs
- * to be redrawn. (i.e. When it is visible) If the policy is set to
- * ELM_GLVIEWW_RENDER_POLICY_ALWAYS, it redraws regardless of
- * whether it is visible/need redrawing or not.
-=======
* By default, the render policy is set to ELM_GLVIEW_RENDER_POLICY_ON_DEMAND.
* This policy is set such that during the render loop, glview is only
* redrawn if it needs to be redrawn. (i.e. when it is visible) If the policy
* is set to ELM_GLVIEWW_RENDER_POLICY_ALWAYS, it redraws regardless of
* whether it is visible or needs redrawing.
->>>>>>> remotes/origin/upstream
*
* @ingroup GLView
*/
* @param obj The glview object.
* @param func The init function to be registered.
*
-<<<<<<< HEAD
- * The registered init function gets called once during the render loop.
-=======
* The registered init function gets called once during the render loop.
* This function allows glview to hide all the rendering context/surface
* details and have the user just call GL calls that they desire
* for initialization GL calls.
->>>>>>> remotes/origin/upstream
*
* @ingroup GLView
*/
* @param func The delete function to be registered.
*
* The registered del function gets called when GLView object is deleted.
-<<<<<<< HEAD
-=======
* This function allows glview to hide all the rendering context/surface
* details and have the user just call GL calls that they desire
* when delete happens.
->>>>>>> remotes/origin/upstream
*
* @ingroup GLView
*/
* @param obj The glview object.
* @param func The resize function to be registered.
*
-<<<<<<< HEAD
-=======
* The resize function gets called during the render loop.
* This function allows glview to hide all the rendering context/surface
* details and have the user just call GL calls that they desire
* when resize happens.
*
->>>>>>> remotes/origin/upstream
* @ingroup GLView
*/
EAPI void elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func_Cb func);
/**
* Set the render function that runs in the main loop.
*
-<<<<<<< HEAD
-=======
* The render function gets called in the main loop but whether it runs
* depends on the rendering policy and whether elm_glview_changed_set()
* gets called.
*
->>>>>>> remotes/origin/upstream
* @param obj The glview object.
* @param func The render function to be registered.
*
{
elm_object_cursor_set(pc->obj, pc->cursor);
elm_object_cursor_style_set(pc->obj, pc->style);
-<<<<<<< HEAD
- elm_object_cursor_engine_only_set(pc->obj, pc->engine_only);
-=======
elm_object_cursor_theme_search_enabled_set(pc->obj, pc->engine_only);
->>>>>>> remotes/origin/upstream
}
static Part_Cursor *
return ret;
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content)
-{
- _content_set_hook(obj, swallow, content);
-=======
EAPI Eina_Bool
elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content)
{
_content_set_hook(obj, swallow, content);
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
return _content_unset_hook(obj, swallow);
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_text_set(Evas_Object *obj, const char *part, const char *text)
-{
- _elm_layout_label_set(obj, part, text);
-=======
EAPI Eina_Bool
elm_layout_text_set(Evas_Object *obj, const char *part, const char *text)
{
_elm_layout_label_set(obj, part, text);
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
EAPI const char *
return _elm_layout_label_get(obj, part);
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- if (!wd) return;
-=======
EAPI Eina_Bool
elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child)
{
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
if (!edje_object_part_box_append(wd->lay, part, child))
WRN("child %p could not be appended to box part '%s'", child, part);
si->obj = child;
wd->subs = eina_list_append(wd->subs, si);
_request_sizing_eval(wd);
-<<<<<<< HEAD
-}
-
-EAPI void
-elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- if (!wd) return;
-=======
return EINA_TRUE;
}
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
if (!edje_object_part_box_prepend(wd->lay, part, child))
WRN("child %p could not be prepended to box part '%s'", child, part);
si->obj = child;
wd->subs = eina_list_prepend(wd->subs, si);
_request_sizing_eval(wd);
-<<<<<<< HEAD
-=======
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
static void
si->p.box.reference = NULL;
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- if (!wd) return;
-=======
EAPI Eina_Bool
elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference)
{
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
if (!edje_object_part_box_insert_before(wd->lay, part, child, reference))
WRN("child %p could not be inserted before %p inf box part '%s'",
wd->subs = eina_list_append(wd->subs, si);
_request_sizing_eval(wd);
-<<<<<<< HEAD
-}
-
-EAPI void
-elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- if (!wd) return;
-=======
return EINA_TRUE;
}
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
if (!edje_object_part_box_insert_at(wd->lay, part, child, pos))
WRN("child %p could not be inserted at %u to box part '%s'",
si->p.box.pos = pos;
wd->subs = eina_list_append(wd->subs, si);
_request_sizing_eval(wd);
-<<<<<<< HEAD
-=======
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
static Evas_Object *
return NULL;
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
-=======
EAPI Eina_Bool
elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
->>>>>>> remotes/origin/upstream
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
Eina_List *lst;
-<<<<<<< HEAD
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(part);
-=======
if (!wd) return EINA_FALSE;
EINA_SAFETY_ON_NULL_RETURN_VAL(part, EINA_FALSE);
->>>>>>> remotes/origin/upstream
lst = eina_list_clone(wd->subs);
EINA_LIST_FREE(lst, si)
}
/* eventually something may not be added with layout, del them as well */
edje_object_part_box_remove_all(wd->lay, part, clear);
-<<<<<<< HEAD
-}
-
-EAPI void
-elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- Widget_Data *wd = elm_widget_data_get(obj);
- Subinfo *si;
- if (!wd) return;
-=======
return EINA_TRUE;
}
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
if (!wd) return EINA_FALSE;
->>>>>>> remotes/origin/upstream
if (!edje_object_part_table_pack
(wd->lay, part, child, col, row, colspan, rowspan))
si->p.table.rowspan = rowspan;
wd->subs = eina_list_append(wd->subs, si);
_request_sizing_eval(wd);
-<<<<<<< HEAD
-=======
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
EAPI Evas_Object *
return NULL;
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
-=======
EAPI Eina_Bool
elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
->>>>>>> remotes/origin/upstream
Widget_Data *wd = elm_widget_data_get(obj);
Subinfo *si;
Eina_List *lst;
-<<<<<<< HEAD
- if (!wd) return;
- EINA_SAFETY_ON_NULL_RETURN(part);
-=======
if (!wd) return EINA_FALSE;
EINA_SAFETY_ON_NULL_RETURN_VAL(part, EINA_FALSE);
->>>>>>> remotes/origin/upstream
lst = eina_list_clone(wd->subs);
EINA_LIST_FREE(lst, si)
}
/* eventually something may not be added with layout, del them as well */
edje_object_part_table_clear(wd->lay, part, clear);
-<<<<<<< HEAD
-=======
return EINA_TRUE;
->>>>>>> remotes/origin/upstream
}
EAPI Evas_Object *
return elm_object_cursor_get(pc->obj);
}
-<<<<<<< HEAD
-EAPI void
-elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name)
-{
- ELM_CHECK_WIDTYPE(obj, widtype);
- EINA_SAFETY_ON_NULL_RETURN(part_name);
- Widget_Data *wd = elm_widget_data_get(obj);
- EINA_SAFETY_ON_NULL_RETURN(wd);
-=======
EAPI Eina_Bool
elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(part_name, EINA_FALSE);
Widget_Data *wd = elm_widget_data_get(obj);
EINA_SAFETY_ON_NULL_RETURN_VAL(wd, EINA_FALSE);
->>>>>>> remotes/origin/upstream
Eina_List *l;
Part_Cursor *pc;
if (pc->obj) elm_object_cursor_unset(pc->obj);
_part_cursor_free(pc);
wd->parts_cursors = eina_list_remove_list(wd->parts_cursors, l);
-<<<<<<< HEAD
- return;
- }
- }
-=======
return EINA_TRUE;
}
}
return EINA_FALSE;
->>>>>>> remotes/origin/upstream
}
EAPI Eina_Bool
EINA_SAFETY_ON_NULL_RETURN_VAL(pc->obj, EINA_FALSE);
pc->engine_only = !!engine_only;
-<<<<<<< HEAD
- elm_object_cursor_engine_only_set(pc->obj, pc->engine_only);
-=======
elm_object_cursor_theme_search_enabled_set(pc->obj, pc->engine_only);
->>>>>>> remotes/origin/upstream
return EINA_TRUE;
}
Part_Cursor *pc = _parts_cursors_find(wd, part_name);
EINA_SAFETY_ON_NULL_RETURN_VAL(pc, EINA_FALSE);
EINA_SAFETY_ON_NULL_RETURN_VAL(pc->obj, EINA_FALSE);
-<<<<<<< HEAD
- return elm_object_cursor_engine_only_get(pc->obj);
-=======
return elm_object_cursor_theme_search_enabled_get(pc->obj);
->>>>>>> remotes/origin/upstream
}
* sent to the Layout theme (with elm_object_signal_emit()) and the theme
* handled the signal by changing the box padding, or align, or both. Using
* the Elementary @ref Box widget is not necessarily harder or easier, it
-<<<<<<< HEAD
- * just depends on the circunstances and requirements.
-=======
* just depends on the circumstances and requirements.
->>>>>>> remotes/origin/upstream
*
* The Layout Box can be used through the @c elm_layout_box_* set of
* functions.
* Set the edje group from the elementary theme that will be used as layout
*
* @param obj The layout object
-<<<<<<< HEAD
- * @param clas the clas of the group
-=======
* @param clas the class of the group
->>>>>>> remotes/origin/upstream
* @param group the group
* @param style the style to used
*
* @param obj the layout object
* @param part the box part to which the object will be appended.
* @param child the child object to append to box.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* Once the object is appended, it will become child of the layout. Its
* lifetime will be bound to the layout, whenever the layout dies the child
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child);
-=======
EAPI Eina_Bool elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child);
->>>>>>> remotes/origin/upstream
/**
* Prepend child to layout box part.
* @param obj the layout object
* @param part the box part to prepend.
* @param child the child object to prepend to box.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* Once the object is prepended, it will become child of the layout. Its
* lifetime will be bound to the layout, whenever the layout dies the child
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child);
-=======
EAPI Eina_Bool elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child);
->>>>>>> remotes/origin/upstream
/**
* Insert child to layout box part before a reference object.
* @param part the box part to insert.
* @param child the child object to insert into box.
* @param reference another reference object to insert before in box.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* Once the object is inserted, it will become child of the layout. Its
* lifetime will be bound to the layout, whenever the layout dies the child
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
-=======
EAPI Eina_Bool elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
->>>>>>> remotes/origin/upstream
/**
* Insert child to layout box part at a given position.
* @param part the box part to insert.
* @param child the child object to insert into box.
* @param pos the numeric position >=0 to insert the child.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* Once the object is inserted, it will become child of the layout. Its
* lifetime will be bound to the layout, whenever the layout dies the child
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
-=======
EAPI Eina_Bool elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
->>>>>>> remotes/origin/upstream
/**
* Remove a child of the given part box.
* @param clear If EINA_TRUE, then all objects will be deleted as
* well, otherwise they will just be removed and will be
* dangling on the canvas.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* The objects will be removed from the box part and their lifetime will
* not be handled by the layout anymore. This is equivalent to
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear);
-=======
EAPI Eina_Bool elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear);
->>>>>>> remotes/origin/upstream
/**
* Insert child to layout table part.
* @param colspan how many columns should be used to store this object. (>=
* 1)
* @param rowspan how many rows should be used to store this object. (>= 1)
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* Once the object is inserted, it will become child of the table. Its
* lifetime will be bound to the layout, and whenever the layout dies the
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
-=======
EAPI Eina_Bool elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
->>>>>>> remotes/origin/upstream
/**
* Unpack (remove) a child of the given part table.
* @param clear If EINA_TRUE, then all objects will be deleted as
* well, otherwise they will just be removed and will be
* dangling on the canvas.
-<<<<<<< HEAD
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
->>>>>>> remotes/origin/upstream
*
* The objects will be removed from the table part and their lifetime will
* not be handled by the layout anymore. This is equivalent to
*
* @ingroup Layout
*/
-<<<<<<< HEAD
-EAPI void elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear);
-=======
EAPI Eina_Bool elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear);
->>>>>>> remotes/origin/upstream
/**
* Get the edje layout
* @param obj The layout object.
* @param part_name a part from loaded edje group, that had a cursor set
* with elm_layout_part_cursor_set().
-<<<<<<< HEAD
- *
- * @ingroup Layout
- */
-EAPI void elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
-=======
* @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
*
* @ingroup Layout
*/
EAPI Eina_Bool elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
->>>>>>> remotes/origin/upstream
/**
* Sets a specific cursor style for an edje part.
/**
* @def elm_layout_icon_get
-<<<<<<< HEAD
- * Convienience macro to get the icon object from a layout that follows the
-=======
* Convenience macro to get the icon object from a layout that follows the
->>>>>>> remotes/origin/upstream
* Elementary naming convention for its parts.
*
* @ingroup Layout
/**
* @def elm_layout_end_set
-<<<<<<< HEAD
- * Convienience macro to set the end object in a layout that follows the
-=======
* Convenience macro to set the end object in a layout that follows the
->>>>>>> remotes/origin/upstream
* Elementary naming convention for its parts.
*
* @ingroup Layout
/**
* @def elm_layout_end_get
-<<<<<<< HEAD
- * Convienience macro to get the end object in a layout that follows the
-=======
* Convenience macro to get the end object in a layout that follows the
->>>>>>> remotes/origin/upstream
* Elementary naming convention for its parts.
*
* @ingroup Layout
static void _transit_obj_remove(Elm_Transit *transit, Evas_Object *obj);
static void _transit_effect_del(Elm_Transit *transit, Elm_Transit_Effect_Module *effect_module);
static void _transit_remove_dead_effects(Elm_Transit *transit);
-<<<<<<< HEAD
-=======
static void _transit_chain_go(Elm_Transit *transit);
->>>>>>> remotes/origin/upstream
static void _transit_del(Elm_Transit *transit);
static Eina_Bool _transit_animate_op(Elm_Transit *transit, double progress);
static Eina_Bool _transit_animate_cb(void *data);
}
static void
-<<<<<<< HEAD
-=======
_transit_chain_go(Elm_Transit *transit)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
}
static void
->>>>>>> remotes/origin/upstream
_transit_del(Elm_Transit *transit)
{
Elm_Transit_Effect_Module *effect_module;
if (transit->finished && transit->next_chain_transits)
{
EINA_LIST_FOREACH_SAFE(transit->next_chain_transits, elist, elist_next, chain_transit)
-<<<<<<< HEAD
- elm_transit_go(chain_transit);
-=======
_transit_chain_go(chain_transit);
->>>>>>> remotes/origin/upstream
}
eina_list_free(transit->next_chain_transits);
transit->progress = elapsed_time / duration;
switch (transit->tween_mode)
{
-<<<<<<< HEAD
- case ELM_TRANSIT_TWEEN_MODE_ACCELERATE:
- transit->progress = 1.0 - sin((ELM_PI / 2.0) + (transit->progress * ELM_PI / 2.0));
- break;
- case ELM_TRANSIT_TWEEN_MODE_DECELERATE:
- transit->progress = sin(transit->progress * ELM_PI / 2.0);
- break;
- case ELM_TRANSIT_TWEEN_MODE_SINUSOIDAL:
- transit->progress = (1.0 - cos(transit->progress * ELM_PI)) / 2.0;
-=======
case ELM_TRANSIT_TWEEN_MODE_LINEAR:
transit->progress = ecore_animator_pos_map(transit->progress,
ECORE_POS_MAP_LINEAR,
transit->progress = ecore_animator_pos_map(transit->progress,
ECORE_POS_MAP_SINUSOIDAL,
0, 0);
->>>>>>> remotes/origin/upstream
break;
default:
break;
* effects, create an @ref Elm_Transit and add the desired transition effects.
*
* Once the effects are added into transit, they will be automatically
-<<<<<<< HEAD
- * managed (their callback will be called until the duration is ended, and
- * they will be deleted on completion).
-=======
* managed (their callback will be called for the set duration and
* they will be deleted upon completion).
->>>>>>> remotes/origin/upstream
*
* Example:
* @code
* @li @ref elm_transit_effect_resizing_add
*
* Other transition effects are used to make one object disappear and another
-<<<<<<< HEAD
- * object appear on its old place. These effects are:
-=======
* object appear on its place. These effects are:
->>>>>>> remotes/origin/upstream
*
* @li @ref elm_transit_effect_flip_add
* @li @ref elm_transit_effect_resizable_flip_add
* elm_transit_chain_transit_add.
*
* @warning We strongly recommend to use elm_transit just when edje can not do
-<<<<<<< HEAD
- * the trick. Edje has more advantage than Elm_Transit, it has more flexibility and
- * animations can be manipulated inside the theme.
-=======
* the trick. Edje is better at handling transitions than Elm_Transit.
* Edje has more flexibility and animations can be manipulated inside the theme.
->>>>>>> remotes/origin/upstream
*
* List of examples:
* @li @ref transit_example_01_explained
/**
* @enum Elm_Transit_Effect_Flip_Axis
*
-<<<<<<< HEAD
- * The axis where flip effect should be applied.
-=======
* The axis along which flip effect should be applied.
->>>>>>> remotes/origin/upstream
*/
typedef enum
{
/**
* @enum Elm_Transit_Effect_Wipe_Dir
*
-<<<<<<< HEAD
- * The direction where the wipe effect should occur.
-=======
* The direction in which the wipe effect should occur.
->>>>>>> remotes/origin/upstream
*/
typedef enum
{
typedef void (*Elm_Transit_Del_Cb)(void *data, Elm_Transit *transit);
/**
-<<<<<<< HEAD
- * Add new transit.
- *
- * @note Is not necessary to delete the transit object, it will be deleted at
- * the end of its operation.
- * @note The transit will start playing when the program enter in the main loop, is not
- * necessary to give a start to the transit.
-=======
* Create new transit.
*
* @note It is not necessary to delete the transit object, it will be deleted at
* the end of its operation.
* @note The transit will start playing when the program enters the main loop.
->>>>>>> remotes/origin/upstream
*
* @return The transit object.
*
/**
* Stops the animation and delete the @p transit object.
*
-<<<<<<< HEAD
- * Call this function if you wants to stop the animation before the duration
- * time. Make sure the @p transit object is still alive with
- * elm_transit_del_cb_set() function.
- * All added effects will be deleted, calling its repective data_free_cb
- * functions. The function setted by elm_transit_del_cb_set() will be called.
-=======
* Call this function if you want to stop the animation before the
* transit time. Make sure the @p transit object is still alive with
* elm_transit_del_cb_set() function.
* All added effects will be deleted, calling its respective data_free_cb
* functions. The function set by elm_transit_del_cb_set() will be called.
->>>>>>> remotes/origin/upstream
*
* @see elm_transit_del_cb_set()
*
* @param transit The transit object to be deleted.
*
* @ingroup Transit
-<<<<<<< HEAD
- * @warning Just call this function if you are sure the transit is alive.
-=======
->>>>>>> remotes/origin/upstream
*/
EAPI void elm_transit_del(Elm_Transit *transit);
/**
* Add a new effect to the transit.
*
-<<<<<<< HEAD
- * @note The cb function and the data are the key to the effect. If you try to
- * add an already added effect, nothing is done.
- * @note After the first addition of an effect in @p transit, if its
- * effect list become empty again, the @p transit will be killed by
- * elm_transit_del(transit) function.
- *
- * Exemple:
-=======
* @note The cb function and the data are the key to the effect.
* If you try to add an existing effect, nothing is done.
* @note After the first addition of an effect to @p transit, if its
* elm_transit_del(transit) function.
*
* Example:
->>>>>>> remotes/origin/upstream
* @code
* Elm_Transit *transit = elm_transit_add();
* elm_transit_effect_add(transit,
* @p data.
*
* @ingroup Transit
-<<<<<<< HEAD
- * @warning The transit free the context data at the and of the transition with
- * the data_free_cb function, do not use the context data in another transit.
-=======
* @warning The transit will free the context data at the and of the
* transition with the data_free_cb function.
* Do not share the context data in between different transit objects.
->>>>>>> remotes/origin/upstream
*/
EAPI void elm_transit_effect_add(Elm_Transit *transit, Elm_Transit_Effect_Transition_Cb transition_cb, Elm_Transit_Effect *effect, Elm_Transit_Effect_End_Cb end_cb);
*
* @note If the effect is not found, nothing is done.
* @note If the effect list become empty, this function will call
-<<<<<<< HEAD
- * elm_transit_del(transit), that is, it will kill the @p transit.
-=======
* elm_transit_del(transit), i.e., it will kill the @p transit.
->>>>>>> remotes/origin/upstream
*
* @param transit The transit object.
* @param transition_cb The operation function.
/**
* Add new object to apply the effects.
*
-<<<<<<< HEAD
- * @note After the first addition of an object in @p transit, if its
- * object list become empty again, the @p transit will be killed by
- * elm_transit_del(transit) function.
- * @note If the @p obj belongs to another transit, the @p obj will be
- * removed from it and it will only belong to the @p transit. If the old
- * transit stays without objects, it will die.
- * @note When you add an object into the @p transit, its state from
- * evas_object_pass_events_get(obj) is saved, and it is applied when the
- * transit ends, if you change this state whith evas_object_pass_events_set()
- * after add the object, this state will change again when @p transit stops to
- * run.
-=======
* @note After the first addition of an object to @p transit, if its
* object list become empty again, the @p transit will be killed by
* elm_transit_del(transit) function.
* evas_object_pass_events_get(obj) is saved, and it is applied when the
* transit ends, if you change this state with evas_object_pass_events_set()
* after add the object, this state will change again when @p transit stops.
->>>>>>> remotes/origin/upstream
*
* @param transit The transit object.
* @param obj Object to be animated.
*
* @ingroup Transit
-<<<<<<< HEAD
- * @warning It is not allowed to add a new object after transit begins to go.
-=======
* @warning It is not allowed to add a new object after transit begins.
->>>>>>> remotes/origin/upstream
*/
EAPI void elm_transit_object_add(Elm_Transit *transit, Evas_Object *obj);
*
* @note If the @p obj is not in the @p transit, nothing is done.
* @note If the list become empty, this function will call
-<<<<<<< HEAD
- * elm_transit_del(transit), that is, it will kill the @p transit.
-=======
* elm_transit_del(transit), i.e., it will kill the @p transit.
->>>>>>> remotes/origin/upstream
*
* @param transit The transit object.
* @param obj Object to be removed from @p transit.
*
* @ingroup Transit
-<<<<<<< HEAD
- * @warning It is not allowed to remove objects after transit begins to go.
-=======
* @warning It is not allowed to remove objects after transit begins.
->>>>>>> remotes/origin/upstream
*/
EAPI void elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj);
* @note One state includes geometry, color, map data.
*
* @param transit The transit object.
-<<<<<<< HEAD
- * @param state_keep Keeping or Non Keeping.
-=======
* @param state_keep retain the state or not.
->>>>>>> remotes/origin/upstream
*
* @ingroup Transit
*/
/**
* Set the event enabled when transit is operating.
*
-<<<<<<< HEAD
- * If @p enabled is EINA_TRUE, the objects of the transit will receives
- * events from mouse and keyboard during the animation.
- * @note When you add an object with elm_transit_object_add(), its state from
- * evas_object_pass_events_get(obj) is saved, and it is applied when the
- * transit ends, if you change this state with evas_object_pass_events_set()
-=======
* If @p enabled is EINA_TRUE, the objects of the transit will receive
* events from mouse and keyboard during the animation.
* @note When you add an object with elm_transit_object_add(), its state from
* evas_object_freeze_events_get(obj) is saved, and it is applied when the
* transit ends. If you change this state with evas_object_freeze_events_set()
->>>>>>> remotes/origin/upstream
* after adding the object, this state will change again when @p transit stops
* to run.
*
/**
* Set the user-callback function when the transit is deleted.
*
-<<<<<<< HEAD
- * @note Using this function twice will overwrite the first function setted.
-=======
* @note Using this function twice will overwrite the first function set.
->>>>>>> remotes/origin/upstream
* @note the @p transit object will be deleted after call @p cb function.
*
* @param transit The transit object.
* @param cb Callback function pointer. This function will be called before
* the deletion of the transit.
-<<<<<<< HEAD
- * @param data Callback funtion user data. It is the @p op parameter.
-=======
* @param data Callback function user data. It is the @p op parameter.
->>>>>>> remotes/origin/upstream
*
* @ingroup Transit
*/
/**
* Set reverse effect automatically.
*
-<<<<<<< HEAD
- * If auto reverse is setted, after running the effects with the progress
- * parameter from 0 to 1, it will call the effecs again with the progress
- * from 1 to 0. The transit will last for a time iqual to (2 * duration * repeat),
- * where the duration was setted with the function elm_transit_add and
-=======
* If auto reverse is set, after running the effects with the progress
* parameter from 0 to 1, it will call the effects again with the progress
* from 1 to 0. The transit will last for a time equal to (2 * duration * repeat),
* where the duration was set with the function elm_transit_add and
->>>>>>> remotes/origin/upstream
* the repeat with the function elm_transit_repeat_times_set().
*
* @param transit The transit object.
* Set the transit repeat count. Effect will be repeated by repeat count.
*
* This function sets the number of repetition the transit will run after
-<<<<<<< HEAD
- * the first one, that is, if @p repeat is 1, the transit will run 2 times.
-=======
* the first one, i.e., if @p repeat is 1, the transit will run 2 times.
->>>>>>> remotes/origin/upstream
* If the @p repeat is a negative number, it will repeat infinite times.
*
* @note If this function is called during the transit execution, the transit
* Pause/Resume the transition.
*
* If you call elm_transit_go again, the transit will be started from the
-<<<<<<< HEAD
- * beginning, and will be unpaused.
-=======
* beginning, and will be played.
->>>>>>> remotes/origin/upstream
*
* @note @p transit can not be NULL
*
EAPI Elm_Transit_Effect *elm_transit_effect_flip_add(Elm_Transit *transit, Elm_Transit_Effect_Flip_Axis axis, Eina_Bool cw);
/**
-<<<<<<< HEAD
- * Add the Resizable Flip Effect to Elm_Transit.
-=======
* Add the Resizeable Flip Effect to Elm_Transit.
->>>>>>> remotes/origin/upstream
*
* @note This API is one of the facades. It creates resizable flip effect context
* and add it's required APIs to elm_transit_effect_add.
* @param transit Transit object.
* @param axis Flipping Axis(X or Y).
* @param cw Flipping Direction. EINA_TRUE is clock-wise.
-<<<<<<< HEAD
- * @return Resizable flip effect context data.
-=======
* @return Resizeable flip effect context data.
->>>>>>> remotes/origin/upstream
*
* @ingroup Transit
* @warning It is highly recommended just create a transit with this effect when