{
state: "default" 0.0;
color: 255 255 255 0;
-<<<<<<< HEAD
- rel1.relative: 0.0 0.0;
- rel1.offset: 0 0;
- rel2.relative: 1.0 1.0;
-=======
->>>>>>> remotes/origin/upstream
rel2.offset: -1 -1;
}
description
}
part
{
-<<<<<<< HEAD
- name: "base";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- rel2.offset: -20 -1;
- image
- {
- normal: "bt_dis_base.png";
- border: 4 4 4 4;
- }
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "clipper";
type: RECT;
mouse_events: 0;
}
part
{
-<<<<<<< HEAD
- name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "clipper";
- description
- {
- state: "default" 0.0;
- rel1.to: "clipper";
- rel2.to: "clipper";
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "btn";
type: IMAGE;
mouse_events: 1;
image.normal: "icon_arrow_right.png";
}
}
-<<<<<<< HEAD
-=======
part
{
name: "base";
rel2.to: "clipper";
}
}
->>>>>>> remotes/origin/upstream
}
programs
{
state: "hidden" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 -1.0;
-<<<<<<< HEAD
- rel1.offset: 0 21;
-=======
rel1.offset: 0 -21;
->>>>>>> remotes/origin/upstream
rel2.relative: 1.0 0.0;
rel2.offset: -1 20;
}
}
part
{
-<<<<<<< HEAD
- name: "base";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1.to: "bg";
- rel2.to: "bg";
- rel2.offset: -1 -20;
- image
- {
- normal: "bt_dis_base.png";
- border: 4 4 4 4;
- }
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "clipper";
type: RECT;
mouse_events: 0;
}
part
{
-<<<<<<< HEAD
- name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "clipper";
- description
- {
- state: "default" 0.0;
- rel1.to: "clipper";
- rel2.to: "clipper";
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "btn";
type: IMAGE;
mouse_events: 1;
description
{
state: "default" 0.0;
-<<<<<<< HEAD
- max: 32 48;
- fixed: 1 1;
- align: 0.5 1.0;
- rel1
- {
- relative: 0.0 1.0;
- offset: -2 2;
-=======
max: 48 32;
fixed: 1 1;
align: 0.5 0.0;
{
relative: 0.0 1.0;
offset: 0 -6;
->>>>>>> remotes/origin/upstream
to_y: "base";
}
rel2.to_y: "bg";
image
{
normal: "bt_base1.png";
-<<<<<<< HEAD
- border: 12 4 5 0;
-=======
border: 12 4 0 5;
->>>>>>> remotes/origin/upstream
}
fill.smooth: 0;
}
image.normal: "icon_arrow_down.png";
}
}
-<<<<<<< HEAD
-=======
part
{
name: "base";
rel2.to: "clipper";
}
}
->>>>>>> remotes/origin/upstream
}
programs
{
state: "hidden" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 1.0;
-<<<<<<< HEAD
- rel1.offset: 0 20;
- rel2.relative: 1.0 2.0;
- rel2.offset: -1 21;
- }
- }
- part
- {
- name: "base";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1.to: "bg";
- rel1.offset: -1 -20;
- rel2.to: "bg";
- image
- {
- normal: "bt_dis_base.png";
- border: 4 4 4 4;
- }
-=======
rel1.offset: -1 -24;
rel2.relative: 1.0 2.0;
rel2.offset: 0 -21;
->>>>>>> remotes/origin/upstream
}
}
part
}
part
{
-<<<<<<< HEAD
- name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "clipper";
- description
- {
- state: "default" 0.0;
- rel1.to: "clipper";
- rel2.to: "clipper";
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "btn";
type: IMAGE;
mouse_events: 1;
description
{
state: "default" 0.0;
-<<<<<<< HEAD
- max: 32 48;
- fixed: 1 1;
- align: 0.5 0.0;
- rel1
- {
- relative: 0.0 -1.0;
- offset: -2 0;
- to_y: "base";
- }
- rel2.to_y: "bg";
- image
- {
- normal: "bt_base1.png";
- border: 12 4 0 5;
-=======
max: 48 32;
fixed: 1 1;
align: 0.5 0.0;
{
normal: "bt_base1.png";
border: 4 12 5 0;
->>>>>>> remotes/origin/upstream
}
fill.smooth: 0;
}
image.normal: "icon_arrow_up.png";
}
}
-<<<<<<< HEAD
-=======
part
{
name: "base";
rel2.to: "clipper";
}
}
->>>>>>> remotes/origin/upstream
}
programs
{
}
part
{
-<<<<<<< HEAD
- name: "base";
- type: IMAGE;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1.to: "bg";
- rel1.offset: 20 0;
- rel2.to: "bg";
- image
- {
- normal: "bt_dis_base.png";
- border: 4 4 4 4;
- }
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "clipper";
type: RECT;
mouse_events: 0;
}
part
{
-<<<<<<< HEAD
- name: "elm.swallow.content";
- type: SWALLOW;
- clip_to: "clipper";
- description
- {
- state: "default" 0.0;
- rel1.to: "clipper";
- rel2.to: "clipper";
- }
- }
- part
- {
-=======
->>>>>>> remotes/origin/upstream
name: "btn";
type: IMAGE;
mouse_events: 1;
image.normal: "icon_arrow_left.png";
}
}
-<<<<<<< HEAD
-=======
part
{
name: "base";
rel2.to: "clipper";
}
}
->>>>>>> remotes/origin/upstream
}
programs
{
evas_object_resize(win, 320, 480);
evas_object_show(win);
-<<<<<<< HEAD
-
-=======
->>>>>>> remotes/origin/upstream
}
#endif
#endif
#ifndef ELM_LIB_QUICKLAUNCH
-<<<<<<< HEAD
-=======
#define LIST_ITEM_MAX 20
->>>>>>> remotes/origin/upstream
static Elm_Genlist_Item_Class itc;
static void _bstatus(void *data, Evas_Object *obj, void *event_info);
static void _fill_list(Evas_Object *obj);
static Eina_Bool _dir_has_subs(const char *path);
-<<<<<<< HEAD
-=======
static Eina_List *dirs = NULL;
->>>>>>> remotes/origin/upstream
static void
_tstatus(void *data, Evas_Object *obj, void *event_info __UNUSED__)
{
{
DIR *d;
struct dirent *de;
-<<<<<<< HEAD
- Eina_List *dirs = NULL, *l;
- char *real;
-
- if (!(d = opendir(getenv("HOME")))) return;
- while ((de = readdir(d)))
- {
- char buff[PATH_MAX];
-
- if (de->d_name[0] == '.') continue;
- snprintf(buff, sizeof(buff), "%s/%s", getenv("HOME"), de->d_name);
- if (!ecore_file_is_dir(buff)) continue;
- real = ecore_file_realpath(buff);
- dirs = eina_list_append(dirs, real);
- }
- closedir(d);
-
- dirs = eina_list_sort(dirs, eina_list_count(dirs), EINA_COMPARE_CB(strcoll));
-
-=======
Eina_List *l;
char *real;
unsigned int x = 0;
}
closedir(d);
}
->>>>>>> remotes/origin/upstream
EINA_LIST_FOREACH(dirs, l, real)
{
Eina_Bool result = EINA_FALSE;
NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
else
elm_genlist_item_append(obj, &itc, eina_stringshare_add(real),
-<<<<<<< HEAD
- NULL, ELM_GENLIST_ITEM_SUBITEMS,
- NULL, NULL);
- free(real);
- }
- eina_list_free(dirs);
-=======
NULL, ELM_GENLIST_ITEM_TREE,
NULL, NULL);
}
->>>>>>> remotes/origin/upstream
}
static Eina_Bool
evas_object_show(panel);
_fill_list(list);
-<<<<<<< HEAD
-=======
{
char *dir;
EINA_LIST_FREE(dirs, dir)
free(dir);
}
->>>>>>> remotes/origin/upstream
elm_box_pack_end(vbx, bx);
}
static Evas_Object *external_segment_control_content_get(void *data __UNUSED__,
-<<<<<<< HEAD
- const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
-{
- ERR("No content.");
- return NULL;
-=======
const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
{
ERR("No content.");
return NULL;
->>>>>>> remotes/origin/upstream
}
static void
}
if (!strcmp(ev->keyname, "space"))
{
-<<<<<<< HEAD
- if (elm_video_is_playing(wd->video))
-=======
if (elm_video_is_playing_get(wd->video))
->>>>>>> remotes/origin/upstream
elm_video_pause(wd->video);
else
elm_video_play(wd->video);
Eina_Bool seekable;
if (!wd) return ;
-<<<<<<< HEAD
- seekable = elm_video_is_seekable(wd->video);
-=======
seekable = elm_video_is_seekable_get(wd->video);
->>>>>>> remotes/origin/upstream
length = elm_video_play_length_get(wd->video);
pos = elm_video_play_position_get(wd->video);
evas_object_event_callback_add(wd->video, EVAS_CALLBACK_DEL,
_track_video, wd);
-<<<<<<< HEAD
- seekable = elm_video_is_seekable(wd->video);
-=======
seekable = elm_video_is_seekable_get(wd->video);
->>>>>>> remotes/origin/upstream
length = elm_video_play_length_get(wd->video);
pos = elm_video_play_position_get(wd->video);
elm_slider_min_max_set(wd->slider, 0, length);
elm_slider_value_set(wd->slider, pos);
-<<<<<<< HEAD
- if (elm_video_is_playing(wd->video)) edje_object_signal_emit(wd->layout, "elm,player,play", "elm");
-=======
if (elm_video_is_playing_get(wd->video)) edje_object_signal_emit(wd->layout, "elm,player,play", "elm");
->>>>>>> remotes/origin/upstream
else edje_object_signal_emit(wd->layout, "elm,player,pause", "elm");
evas_object_smart_callback_add(wd->emotion, "frame_decode",
static void _color_with_saturation(void *data);
static void _color_with_lightness(void *data);
static void _draw_rects(void *data, double x);
-<<<<<<< HEAD
-static void _arrow_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
-static void _colorbar_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
-static void _left_button_clicked_cb(void *data, Evas_Object * obj, void *event_info);
-static void _left_button_repeat_cb(void *data, Evas_Object * obj, void *event_info);
-static void _right_button_clicked_cb(void *data, Evas_Object * obj, void *event_info);
-static void _right_button_repeat_cb(void *data, Evas_Object * obj, void *event_info);
-=======
static void _arrow_cb(void *data, Evas_Object *obj, const char *emission,
const char *source);
static void _colorbar_cb(void *data, Evas *e, Evas_Object *obj,
void *event_info);
static void _right_button_repeat_cb(void *data, Evas_Object * obj,
void *event_info);
->>>>>>> remotes/origin/upstream
static void _add_colorbar(Evas_Object *obj);
static void _set_color(Evas_Object *obj, int r, int g, int b, int a);
}
static void
-<<<<<<< HEAD
-_arrow_cb(void *data, Evas_Object *obj, const char *emission __UNUSED__, const char *source __UNUSED__)
-=======
_arrow_cb(void *data, Evas_Object *obj, const char *emission __UNUSED__,
const char *source __UNUSED__)
->>>>>>> remotes/origin/upstream
{
Colorselector_Data *cp = data;
double x, y;
}
static void
-<<<<<<< HEAD
-_left_button_clicked_cb(void *data, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
-=======
_left_button_clicked_cb(void *data, Evas_Object * obj __UNUSED__,
void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
Colorselector_Data *cp = data;
double x, y;
}
static void
-<<<<<<< HEAD
-_left_button_repeat_cb(void *data, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
-=======
_left_button_repeat_cb(void *data, Evas_Object * obj __UNUSED__,
void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
Colorselector_Data *cp = data;
double x, y;
}
static void
-<<<<<<< HEAD
-_right_button_clicked_cb(void *data, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
-=======
_right_button_clicked_cb(void *data, Evas_Object * obj __UNUSED__,
void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
Colorselector_Data *cp = data;
double x, y;
}
static void
-<<<<<<< HEAD
-_right_button_repeat_cb(void *data, Evas_Object * obj __UNUSED__, void *event_info __UNUSED__)
-=======
_right_button_repeat_cb(void *data, Evas_Object * obj __UNUSED__,
void *event_info __UNUSED__)
->>>>>>> remotes/origin/upstream
{
Colorselector_Data *cp = data;
double x, y;
/* load colorbar image */
wd->cp[i]->bar = edje_object_add(e);
-<<<<<<< HEAD
- snprintf(buf, sizeof(buf), "%s/%s", colorbar_name, elm_widget_style_get(obj));
-=======
snprintf(buf, sizeof(buf), "%s/%s", colorbar_name,
elm_widget_style_get(obj));
->>>>>>> remotes/origin/upstream
_elm_theme_object_set(obj, wd->cp[i]->bar, "colorselector", "image",
buf);
edje_object_part_swallow(wd->cp[i]->colorbar, "elm.bar",
if (i == 3)
{
wd->cp[i]->bg_rect = edje_object_add(e);
-<<<<<<< HEAD
- snprintf(buf, sizeof(buf), "%s/%s", colorbar_name, elm_widget_style_get(obj));
-=======
snprintf(buf, sizeof(buf), "%s/%s", colorbar_name,
elm_widget_style_get(obj));
->>>>>>> remotes/origin/upstream
_elm_theme_object_set(obj, wd->cp[i]->bg_rect, "colorselector",
"bg_image", buf);
edje_object_part_swallow(wd->cp[i]->colorbar, "elm.bar_bg",
/* load left button */
wd->cp[i]->lbt = elm_button_add(obj);
-<<<<<<< HEAD
- snprintf(buf, sizeof(buf), "colorselector/left/%s", elm_widget_style_get(obj));
-=======
snprintf(buf, sizeof(buf), "colorselector/left/%s",
elm_widget_style_get(obj));
->>>>>>> remotes/origin/upstream
elm_object_style_set(wd->cp[i]->lbt, buf);
elm_widget_sub_object_add(obj, wd->cp[i]->lbt);
edje_object_part_swallow(wd->cp[i]->colorbar, "elm.l_button",
wd->cp[i]->lbt);
-<<<<<<< HEAD
- evas_object_smart_callback_add(wd->cp[i]->lbt, "clicked", _left_button_clicked_cb, wd->cp[i]);
- elm_button_autorepeat_set(wd->cp[i]->lbt, EINA_TRUE);
- elm_button_autorepeat_initial_timeout_set(wd->cp[i]->lbt, _elm_config->longpress_timeout);
- elm_button_autorepeat_gap_timeout_set(wd->cp[i]->lbt, (1.0 / _elm_config->fps));
- evas_object_smart_callback_add(wd->cp[i]->lbt, "repeated",_left_button_repeat_cb, wd->cp[i]);
-
- /* load right button */
- wd->cp[i]->rbt = elm_button_add(obj);
- snprintf(buf, sizeof(buf), "colorselector/right/%s", elm_widget_style_get(obj));
-=======
evas_object_smart_callback_add(wd->cp[i]->lbt, "clicked",
_left_button_clicked_cb, wd->cp[i]);
elm_button_autorepeat_set(wd->cp[i]->lbt, EINA_TRUE);
wd->cp[i]->rbt = elm_button_add(obj);
snprintf(buf, sizeof(buf), "colorselector/right/%s",
elm_widget_style_get(obj));
->>>>>>> remotes/origin/upstream
elm_object_style_set(wd->cp[i]->rbt, buf);
elm_widget_sub_object_add(obj, wd->cp[i]->rbt);
edje_object_part_swallow(wd->cp[i]->colorbar, "elm.r_button",
wd->cp[i]->rbt);
-<<<<<<< HEAD
- evas_object_smart_callback_add(wd->cp[i]->rbt, "clicked", _right_button_clicked_cb, wd->cp[i]);
- elm_button_autorepeat_set(wd->cp[i]->rbt, EINA_TRUE);
- elm_button_autorepeat_initial_timeout_set(wd->cp[i]->rbt, _elm_config->longpress_timeout);
- elm_button_autorepeat_gap_timeout_set(wd->cp[i]->rbt, (1.0 / _elm_config->fps));
- evas_object_smart_callback_add(wd->cp[i]->rbt, "repeated",_right_button_repeat_cb, wd->cp[i]);
-=======
evas_object_smart_callback_add(wd->cp[i]->rbt, "clicked",
_right_button_clicked_cb, wd->cp[i]);
elm_button_autorepeat_set(wd->cp[i]->rbt, EINA_TRUE);
(1.0 / _elm_config->fps));
evas_object_smart_callback_add(wd->cp[i]->rbt, "repeated",
_right_button_repeat_cb, wd->cp[i]);
->>>>>>> remotes/origin/upstream
}
}
}
EAPI void
-<<<<<<< HEAD
-elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g, int *b, int*a)
-=======
elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a)
->>>>>>> remotes/origin/upstream
{
Widget_Data *wd = elm_widget_data_get(obj);
ELM_CHECK_WIDTYPE(obj, widtype);
if (b) *b = wd->b;
if (a) *a = wd->a;
}
-<<<<<<< HEAD
-=======
EAPI void
elm_colorselector_mode_set(Evas_Object *obj, Elm_Colorselector_Mode mode __UNUSED__)
//TODO: Implement!
return NULL;
}
->>>>>>> remotes/origin/upstream
* See @ref tutorial_colorselector.
*/
-<<<<<<< HEAD
-=======
typedef enum
{
ELM_COLORSELECTOR_PALETTE = 0,
ELM_COLORSELECTOR_BOTH
} Elm_Colorselector_Mode;
->>>>>>> remotes/origin/upstream
/**
* @brief Add a new colorselector to the parent
*
EAPI void elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a);
/**
-<<<<<<< HEAD
-=======
* Set a Colorselector mode.
* Colorselector
*
EAPI const char *elm_colorselector_palette_name_get(const Evas_Object *obj);
/**
->>>>>>> remotes/origin/upstream
* @}
*/
int minw, minh;
unsigned int item_count;
Evas_Coord pan_x, pan_y;
- Elm_Object_Select_Mode select_mode;
+ Elm_Object_Select_Mode select_mode;
Eina_Bool reorder_mode : 1; /**< a flag for reorder mode enable/disable */
Eina_Bool on_hold : 1;
Eina_Bool multi : 1; /**< a flag for item multi selection */
{
if (it != it_tmp) _item_unselect(it_tmp);
}
- if (it->items)
+ if (it->item->items)
{
- EINA_LIST_FOREACH(it->items, l, it_tmp)
+ EINA_LIST_FOREACH(it->item->items, l, it_tmp)
{
if (elm_genlist_item_expanded_get((Elm_Object_Item *) it_tmp))
{
edje_object_signal_emit(it->edit_obj,
"elm,state,selected", "elm");
}
-
if (elm_widget_item_disabled_get(it))
{
edje_object_signal_emit(VIEW(it),
static void
_content_focused(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
- Elm_Genlist_Item *it = data;
+ Elm_Gen_Item *it = data;
if (it) it->defer_unrealize = EINA_TRUE;
}
edje_object_part_swallow(target, key, ic);
evas_object_show(ic);
elm_widget_sub_object_add(WIDGET(it), ic);
- if (it->mode_view || it->wd->edit_mode)
+ if (it->mode_view || it->wd->decorate_mode)
{
if (elm_widget_item_disabled_get(it))
elm_widget_disabled_set(ic, EINA_TRUE);
it->content_objs = _item_flips_realize(it, VIEW(it), &it->contents);
}
- if (!it->item->mincalcd)
+ if (!it->item->mincalcd) || it->wd->pan_resize || ((it->wd->mode == ELM_LIST_COMPRESS) && (it->item->w != it->item->minw))
{
Evas_Coord mw = -1, mh = -1;
int in)
{
const Eina_List *l;
- Elm_Genlist_Item *it;
- Evas_Coord y = 0, ox, oy, ow, oh, cvx, cvy, cvw, cvh;
- Evas_Coord minh = 0;
- int vis = 0;
-
- evas_event_freeze(evas_object_evas_get(itb->wd->obj));
- evas_object_geometry_get(itb->wd->pan_smart, &ox, &oy, &ow, &oh);
- evas_output_viewport_get(evas_object_evas_get(itb->wd->obj), &cvx, &cvy,
- &cvw, &cvh);
- EINA_LIST_FOREACH(itb->items, l, it)
- {
- if (it->generation < it->wd->generation) continue;
- else if (it->wd->reorder_it == it) continue;
-
- it->x = 0;
- it->y = y;
- it->w = itb->w;
- it->scrl_x = itb->x + it->x - it->wd->pan_x + ox;
- it->scrl_y = itb->y + it->y - it->wd->pan_y + oy;
-
- vis = (ELM_RECTS_INTERSECT(it->scrl_x, it->scrl_y, it->w, it->h,
- cvx, cvy, cvw, cvh));
- if ((itb->realized) && (!it->realized))
- {
- if (vis) _item_realize(it, in, EINA_FALSE);
- }
- if (it->realized)
- {
- if (vis)
- {
- if (it->wd->reorder_mode)
- y += _get_space_for_reorder_item(it);
- if ((it->wd->reorder_it) && (it->old_scrl_y != it->scrl_y))
- {
- if (!it->move_effect_enabled)
- {
- it->move_effect_enabled = EINA_TRUE;
- it->wd->reorder_move_animator =
- ecore_animator_add(
- _reorder_move_animator_cb, it);
- }
- }
- if (!it->move_effect_enabled)
- if (!it->wd->effect_mode || it->wd->move_effect_mode == ELM_GENLIST_ITEM_MOVE_EFFECT_NONE || ((it->wd->move_effect_mode != ELM_GENLIST_ITEM_MOVE_EFFECT_DELETE) && it->parent == it->wd->expanded_item))
- {
- if (it->wd->edit_mode && it->itc->edit_item_style)
- {
- _item_position(it, it->edit_obj, it->scrl_x, it->scrl_y);
- }
- else
- {
- if((!it->wd->effect_mode || it->wd->move_effect_mode == ELM_GENLIST_ITEM_MOVE_EFFECT_NONE) || ((it->wd->move_effect_mode != ELM_GENLIST_ITEM_MOVE_EFFECT_NONE) && (it->old_scrl_y == it->scrl_y)))
- {
- if (it->mode_view)
- _item_position(it, it->mode_view, it->scrl_x,
- it->scrl_y);
- else
- _item_position(it, VIEW(it), it->scrl_x,
- it->scrl_y);
- }
- else
- {
- evas_object_resize(VIEW(it), it->w, it->h);
- evas_object_move(VIEW(it), it->scrl_x, it->scrl_y);
- evas_object_hide(VIEW(it));
- }
- }
- }
- }
- else
- {
- if ((!it->dragging && (!it->wd->item_moving_effect_timer)) ||
- (it->wd->expanded_item && (it->wd->expanded_item->block != itb)))
- _item_unrealize(it, EINA_FALSE);
- }
- }
- in++;
- if (!it->wd->effect_mode || it->wd->move_effect_mode == ELM_GENLIST_ITEM_MOVE_EFFECT_NONE || ((it->wd->move_effect_mode != ELM_GENLIST_ITEM_MOVE_EFFECT_DELETE) && it->parent == it->wd->expanded_item))
- {
- it->old_scrl_y = it->scrl_y;
- }
- y += it->h;
- minh += it->minh;
- }
- if (!itb->wd->reorder_it) itb->minh = minh;
- evas_event_thaw(evas_object_evas_get(itb->wd->obj));
- evas_event_thaw_eval(evas_object_evas_get(itb->wd->obj));
-}
-
+ Elm_Gen_Item *it;
//FIXME : group raise
#if 0
-static void
-_item_block_position(Item_Block *itb,
- int in)
-{
- const Eina_List *l;
- Elm_Gen_Item *it;
Elm_Gen_Item *git;
+#endif
Evas_Coord y = 0, ox, oy, ow, oh, cvx, cvy, cvw, cvh;
Eina_Bool vis = EINA_FALSE;
+ Evas_Coord minh = 0;
evas_event_freeze(evas_object_evas_get(itb->wd->obj));
evas_object_geometry_get(itb->wd->pan_smart, &ox, &oy, &ow, &oh);
{
if (it->wd->reorder_mode)
y += _get_space_for_reorder_item(it);
+//FIXME : group raise
+#if 0
git = it->item->group_item;
if (git)
{
git->item->scrl_y = (it->item->scrl_y + it->item->h) - git->item->h;
git->item->want_realize = EINA_TRUE;
}
+#endif
if ((it->wd->reorder_it) && (it->item->old_scrl_y != it->item->scrl_y))
{
if (!it->item->move_effect_enabled)
}
in++;
}
+//FIXME : group raise
+#if 0
else
{
if (vis) it->item->want_realize = EINA_TRUE;
}
+#endif
y += it->item->h;
+ minh += it->item->minh;
}
+ if (!itb->wd->reorder_it) itb->minh = minh;
evas_event_thaw(evas_object_evas_get(itb->wd->obj));
evas_event_thaw_eval(evas_object_evas_get(itb->wd->obj));
}
-#endif
static void
_group_items_recalc(void *data)
static void
_changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
- Elm_Genlist_Item *it = data;
+ Elm_Gen_Item *it = data;
if (!it) return;
- it->mincalcd = EINA_FALSE;
- it->block->changeme = EINA_TRUE;
+ it->item->mincalcd = EINA_FALSE;
+ it->item->block->changeme = EINA_TRUE;
if (it->wd->changed_job) ecore_job_del(it->wd->changed_job);
it->wd->changed_job = ecore_job_add(_changed_job, it->wd);
}
{
wd->minw = minw;
wd->minh = minh;
- if (wd->move_effect_mode != ELM_GENLIST_ITEM_MOVE_EFFECT_DELETE)
- evas_object_smart_callback_call(wd->pan_smart, "changed", NULL);
+ evas_object_smart_callback_call(wd->pan_smart, "changed", NULL);
_sizing_eval(wd->obj);
if ((wd->anchor_item) && (wd->anchor_item->item->block) && (!wd->auto_scroll_enabled))
{
}
if (wd->show_item)
{
- if ((pan_w > (wd->show_item->x + wd->show_item->block->x)) &&
- (pan_h > (wd->show_item->y + wd->show_item->block->y + dy)))
+ if ((pan_w > (wd->show_item->x + wd->show_item->item->block->x)) &&
+ (pan_h > (wd->show_item->y + wd->show_item->item->block->y + dy)))
{
_scroll_item(wd);
}
EINA_INLIST_FOREACH(wd->blocks, itb)
{
Evas_Coord itminw, itminh;
- Elm_Genlist_Item *it;
+ Elm_Gen_Item *it;
if (!itb->changeme)
{
width_changed = height_changed = EINA_FALSE;
EINA_LIST_FOREACH(itb->items, l2, it)
{
- if ((!it->mincalcd) && (it->realized))
+ if ((!it->item->mincalcd) && (it->realized))
{
Evas_Coord mw = -1, mh = -1;
- itminw = it->minw;
- itminh = it->minh;
+ itminw = it->item->minw;
+ itminh = it->item->minh;
- if (it->wd->height_for_width) mw = it->wd->w;
- if (!it->display_only)
+ if (it->wd->mode == ELM_LIST_COMPRESS) mw = it->wd->w;
+ if (it->select_mode != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
- if (it->wd->height_for_width) mw = it->wd->prev_viewport_w;
+ if (it->wd->mode == ELM_LIST_COMPRESS) mw = it->wd->prev_viewport_w;
edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
- if (!it->display_only)
+ if (it->select_mode != ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)
elm_coords_finger_size_adjust(1, &mw, 1, &mh);
if (mw > itb->w)
width_changed = EINA_TRUE;
else
mw = itb->w;
- it->w = it->minw = mw;
- it->h = it->minh = mh;
- it->mincalcd = EINA_TRUE;
+ it->item->w = it->item->minw = mw;
+ it->item->h = it->item->minh = mh;
+ it->item->mincalcd = EINA_TRUE;
- //if ((it->minw != itminw) || (it->minh != itminh))
- //if ((it->minh != itminh))
+ //if ((it->item->minw != itminw) || (it->item->minh != itminh))
+ //if ((it->item->minh != itminh))
// recalc = 1;
- if ((it->minw != itminw))
+ if ((it->item->minw != itminw))
width_changed = EINA_TRUE;
- if ((it->minh != itminh))
+ if ((it->item->minh != itminh))
height_changed = EINA_TRUE;
- if ((!it->wd->group_item_width) && (it->flags == ELM_GENLIST_ITEM_GROUP))
+ if ((!it->wd->group_item_width) && (it->group))
{
it->wd->group_item_width = mw;
it->wd->group_item_height = mh;
}
- else if ((!it->wd->item_width) && (it->flags == ELM_GENLIST_ITEM_NONE))
+ else if ((!it->wd->item_width) && (it->item->type == ELM_GENLIST_ITEM_NONE))
{
it->wd->item_width = mw;
it->wd->item_height = mh;
it->walking++;
it->wd->walking++;
if (it->wd->last_selected_item &&
- (it != (Elm_Genlist_Item *) it->wd->last_selected_item))
+ (it != (Elm_Gen_Item *) it->wd->last_selected_item))
{
- EINA_LIST_FOREACH(((Elm_Genlist_Item *)it->wd->last_selected_item)->content_objs, l, obj)
+ EINA_LIST_FOREACH(((Elm_Gen_Item *)it->wd->last_selected_item)->content_objs, l, obj)
{
elm_widget_focused_object_clear(obj);
elm_widget_tree_unfocusable_set(obj, EINA_TRUE);
}
- ((Elm_Genlist_Item *)it->wd->last_selected_item)->can_focus = EINA_FALSE;
+ ((Elm_Gen_Item *)it->wd->last_selected_item)->can_focus = EINA_FALSE;
}
if (it->func.func) it->func.func((void *)it->func.data, WIDGET(it), it);
if (it->generation == it->wd->generation)
if ((_it->relcount > 0) || (_it->walking > 0))
{
+ if (!_it->block && (_it->relcount == 1)) goto del;
elm_genlist_item_subitems_clear(it);
if (_it->wd->show_item == _it) _it->wd->show_item = NULL;
_elm_genlist_item_del_notserious(_it);
}
return EINA_FALSE;
}
+del:
_item_del(_it);
return EINA_TRUE;
}
&_it->contents, parts, &_it->content_objs, "flips");
}
- if (_it->mode_view)
+ if (_it->item->mode_view)
{
- _it->mode_content_objs = _item_mode_content_unrealize(_it, _it->mode_view,
- &_it->mode_contents, parts, &_it->mode_content_objs);
- _it->mode_content_objs = _item_mode_content_realize(_it, _it->mode_view,
- &_it->mode_contents, parts, &_it->mode_content_objs, "contents");
+ _it->item->mode_content_objs = _item_mode_content_unrealize(_it, _it->item->mode_view,
+ &_it->item->mode_contents, parts, &_it->item->mode_content_objs);
+ _it->item->mode_content_objs = _item_mode_content_realize(_it, _it->item->mode_view,
+ &_it->item->mode_contents, parts, &_it->item->mode_content_objs, "contents");
}
- if (_it->wd->edit_mode)
+ if (_it->wd->decorate_mode)
{
- _it->edit_content_objs = _item_mode_content_unrealize(_it, _it->edit_obj,
- &_it->contents, parts, &_it->edit_content_objs);
- _it->edit_content_objs = _item_mode_content_realize(_it, _it->edit_obj,
- &_it->contents, parts, &_it->edit_content_objs, "contents"); // FIXME: is it "edit_contents"??
+ _it->item->edit_content_objs = _item_mode_content_unrealize(_it, _it->edit_obj,
+ &_it->contents, parts, &_it->item->edit_content_objs);
+ _it->item->edit_content_objs = _item_mode_content_realize(_it, _it->edit_obj,
+ &_it->contents, parts, &_it->item->edit_content_objs, "contents"); // FIXME: is it "edit_contents"??
}
}
if ((!itf) || (itf & ELM_GENLIST_ITEM_FIELD_STATE))
}
EAPI const char *
-elm_genlist_item_decorate_mode_get(const Elm_Object_Item *it)
+elm_genlist_item_decorate_mode_get(const Evas_Object *obj)
{
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- Elm_Gen_Item *_it = (Elm_Gen_Item *)it;
- return _it->wd->mode_type;
+ ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return NULL;
+ return wd->mode_type;
}
EAPI const Elm_Object_Item *
elm_widget_item_pre_notify_del(it);
it->generation = it->wd->generation - 1; /* This means that the item is deleted */
- if (it->walking) return; /* func.del is called twice when it->func.func is _elm_widget_item_del*/
+ if ((it->relcount > 0) || (it->walking > 0))
+ {
+ if (!it->block && (it->relcount == 1))
+ {
+ if (it->rel)
+ {
+ it->rel->relcount--;
+ if ((it->rel->generation < it->wd->generation) && (!it->rel->relcount))
+ {
+ _item_del(it->rel);
+ elm_widget_item_free(it->rel);
+ }
+ it->rel = NULL;
+ }
+ }
+ else return;
+ }
if (it->selected) it->wd->selected = eina_list_remove(it->wd->selected, it);
if (it->itc->func.del)
double slide_duration;
Evas_Coord lastw;
Evas_Coord wrap_w;
- Evas_Coord wrap_h;
Elm_Wrap_Type linewrap;
Eina_Bool changed : 1;
Eina_Bool ellipsis : 1;
{
Widget_Data *wd = elm_widget_data_get(data);
Evas_Coord minw = -1, minh = -1;
- Evas_Coord resw, resh;
+ Evas_Coord resw;
if (!wd) return;
evas_event_freeze(evas_object_evas_get(data));
wd->deferred_recalc_job = NULL;
- evas_object_geometry_get(wd->lbl, NULL, NULL, &resw, &resh);
+ evas_object_geometry_get(wd->lbl, NULL, NULL, &resw, NULL);
if (wd->wrap_w > resw)
- resw = wd->wrap_w;
- if (wd->wrap_h > resh)
- resh = wd->wrap_h;
+ resw = wd->wrap_w;
- if (wd->wrap_h == -1) /* open source routine */
+ edje_object_size_min_restricted_calc(wd->lbl, &minw, &minh, resw, 0);
+ /* This is a hack to workaround the way min size hints are treated.
+ * If the minimum width is smaller than the restricted width, it means
+ * the mininmum doesn't matter. */
+ if ((minw <= resw) && (minw != wd->wrap_w))
{
- edje_object_size_min_restricted_calc(wd->lbl, &minw, &minh, resw, 0);
- /* This is a hack to workaround the way min size hints are treated.
- * If the minimum width is smaller than the restricted width, it means
- * the mininmum doesn't matter. */
- if ((minw <= resw) && (minw != wd->wrap_w))
- {
- Evas_Coord ominw = -1;
- evas_object_size_hint_min_get(data, &ominw, NULL);
- minw = ominw;
- }
- }
- else /* ellipsis && linewrap && wrap_height_set routine */
- {
- edje_object_size_min_restricted_calc(wd->lbl, &minw, &minh, 0, resh);
- if ((minh <= resh) && (minh != wd->wrap_h))
- {
- Evas_Coord ominh = -1;
- evas_object_size_hint_min_get(data, NULL, &ominh);
- minh = ominh;
- }
- evas_object_geometry_get(wd->lbl, NULL, NULL, &resw, &resh);
- minw = resw;
- if (minh > wd->wrap_h)
- minh = wd->wrap_h;
-
+ Evas_Coord ominw = -1;
+ evas_object_size_hint_min_get(data, &ominw, NULL);
+ minw = ominw;
}
evas_object_size_hint_min_set(data, minw, minh);
- evas_object_size_hint_max_set(data, wd->wrap_w, wd->wrap_h);
-
- if ((wd->ellipsis) && (wd->linewrap) && (wd->wrap_h > 0) &&
- (_is_width_over(data) == 1))
- _ellipsis_label_to_width(data);
evas_event_thaw(evas_object_evas_get(data));
evas_event_thaw_eval(evas_object_evas_get(data));
}
return -1;
}
+
static int
_strbuf_key_value_replace(Eina_Strbuf *srcbuf, const char *key, const char *value, int deleteflag)
{
* @li ELM_PANEL_ORIENT_LEFT
* @li ELM_PANEL_ORIENT_RIGHT
*
-<<<<<<< HEAD
- * Default contents parts of the panel widget that you can use for are:
-=======
* Default content parts of the panel widget that you can use for are:
->>>>>>> remotes/origin/upstream
* @li "default" - A content of the panel
*
* Supported elm_object common APIs.
/**
* @brief Sets the orientation of the panel
*
-<<<<<<< HEAD
- * @param parent The parent object
-=======
* @param obj The panel object
->>>>>>> remotes/origin/upstream
* @param orient The panel orientation. Can be one of the following:
* @li ELM_PANEL_ORIENT_TOP
* @li ELM_PANEL_ORIENT_LEFT
* @brief Set the state of the panel.
*
* @param obj The panel object
-<<<<<<< HEAD
- * @param hidden If true, the panel will run the animation to contract
-=======
* @param hidden If true, the panel will run the animation to disappear.
->>>>>>> remotes/origin/upstream
*/
EAPI void elm_panel_hidden_set(Evas_Object *obj, Eina_Bool hidden);
* @brief Get the state of the panel.
*
* @param obj The panel object
-<<<<<<< HEAD
- * @param hidden If true, the panel is in the "hide" state
-=======
* @return EINA_TRUE if it is hidden state
->>>>>>> remotes/origin/upstream
*/
EAPI Eina_Bool elm_panel_hidden_get(const Evas_Object *obj);
EAPI void elm_panel_toggle(Evas_Object *obj);
/**
-<<<<<<< HEAD
-=======
* @brief Set the content of the panel.
*
* @param obj The panel object
EAPI Evas_Object * elm_panel_content_unset(Evas_Object *obj);
/**
->>>>>>> remotes/origin/upstream
* @}
*/
* value</b>. Label, icon and unit strings/objects are @b optional
* for progress bars.
*
-<<<<<<< HEAD
- * A progress bar may be @b inverted, in which state it gets its
- * values inverted, with high values being on the left or top and
- * low values on the right or bottom, as opposed to normally have
- * the low values on the former and high values on the latter,
- * respectively, for horizontal and vertical modes.
-=======
* A progress bar may be @b inverted, in which case it gets its
* values inverted, i.e., high values being on the left or top and
* low values on the right or bottom, for horizontal and vertical modes
* respectively.
->>>>>>> remotes/origin/upstream
*
* The @b span of the progress, as set by
* elm_progressbar_span_size_set(), is its length (horizontally or
* vertically), unless one puts size hints on the widget to expand
* on desired directions, by any container. That length will be
-<<<<<<< HEAD
- * scaled by the object or applications scaling factor. At any
- * point code can query the progress bar for its value with
-=======
* scaled by the object or applications scaling factor.
* Applications can query the progress bar for its value with
->>>>>>> remotes/origin/upstream
* elm_progressbar_value_get().
*
* Available widget styles for progress bars:
* "pulse" effect is available)
*
* Default text parts of the progressbar widget that you can use for are:
-<<<<<<< HEAD
- * @li "default" - Label of the progressabar
- *
- * Default contents parts of the progressbar widget that you can use for are:
-=======
* @li "default" - Label of the progressbar
*
* Default content parts of the progressbar widget that you can use for are:
->>>>>>> remotes/origin/upstream
* @li "icon" - An icon of the progressbar
*
* Supported elm_object common APIs.
*
* By default, progress bars will display values from the low to
* high value boundaries. There are, though, contexts in which the
-<<<<<<< HEAD
- * state of progression of a given task is @b unknown. For those,
- * one can set a progress bar widget to a "pulsing state", to give
- * the user an idea that some computation is being held, but
- * without exact progress values. In the default theme it will
-=======
* progress of a given task is @b unknown. For such cases,
* one can set a progress bar widget to a "pulsing state", to give
* the user an idea that some computation is being held, but
* without exact progress values. In the default theme, it will
->>>>>>> remotes/origin/upstream
* animate its bar with the contents filling in constantly and back
* to non-filled, in a loop. To start and stop this pulsing
* animation, one has to explicitly call elm_progressbar_pulse().
* area to be hidden completely. If not, it'll set the <b>format
* string</b> for the units label's @b text. The units label is
* provided a floating point value, so the units text is up display
-<<<<<<< HEAD
- * at most one floating point falue. Note that the units label is
-=======
* at most one floating point value. Note that the units label is
->>>>>>> remotes/origin/upstream
* optional. Use a format string such as "%1.2f meters" for
* example.
*
static void
_item_text_set_hook(Elm_Object_Item *it, const char *part, const char *label)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-=======
->>>>>>> remotes/origin/upstream
Widget_Data *wd;
Elm_Segment_Item *item;
if (part && strcmp(part, "default")) return;
-<<<<<<< HEAD
- item = (Elm_Segment_Item *) it;
-=======
item = (Elm_Segment_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_item_data_get(item);
if (!wd) return;
static const char *
_item_text_get_hook(const Elm_Object_Item *it, const char *part)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- if (part && strcmp(part, "default")) return NULL;
- return ((Elm_Segment_Item *) it)->label;
-=======
if (part && strcmp(part, "default")) return NULL;
return ((Elm_Segment_Item *)it)->label;
->>>>>>> remotes/origin/upstream
}
static void
const char *part,
Evas_Object *content)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
-=======
->>>>>>> remotes/origin/upstream
Elm_Segment_Item *item;
if (part && strcmp(part, "icon")) return;
-<<<<<<< HEAD
- item = (Elm_Segment_Item *) it;
-=======
item = (Elm_Segment_Item *)it;
->>>>>>> remotes/origin/upstream
//Remove the existing icon
if (item->icon)
static Evas_Object *
_item_content_get_hook(const Elm_Object_Item *it, const char *part)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
- if (part && strcmp(part, "icon")) return NULL;
- return ((Elm_Segment_Item *) it)->icon;
-=======
if (part && strcmp(part, "icon")) return NULL;
return ((Elm_Segment_Item *)it)->icon;
->>>>>>> remotes/origin/upstream
}
static Eina_Bool
_item_del_pre_hook(Elm_Object_Item *it)
{
-<<<<<<< HEAD
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
- Widget_Data *wd;
- Elm_Segment_Item *item = (Elm_Segment_Item *) it;
-=======
Widget_Data *wd;
Elm_Segment_Item *item = (Elm_Segment_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_item_data_get(item);
if (!wd) return EINA_FALSE;
wd->seg_items = eina_list_append(wd->seg_items, it);
_update_list(wd);
-<<<<<<< HEAD
- return (Elm_Object_Item *) it;
-=======
return (Elm_Object_Item *)it;
->>>>>>> remotes/origin/upstream
}
EAPI Elm_Object_Item *
wd->seg_items = eina_list_append(wd->seg_items, it);
_update_list(wd);
-<<<<<<< HEAD
- return (Elm_Object_Item *) it;
-=======
return (Elm_Object_Item *)it;
->>>>>>> remotes/origin/upstream
}
EAPI void
it = _item_find(obj, idx);
if (!it) return;
-<<<<<<< HEAD
- elm_object_item_del((Elm_Object_Item *) it);
-=======
elm_object_item_del((Elm_Object_Item *)it);
->>>>>>> remotes/origin/upstream
}
EAPI const char*
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
Widget_Data *wd;
-<<<<<<< HEAD
- Elm_Segment_Item *item = (Elm_Segment_Item *) it;
-=======
Elm_Segment_Item *item = (Elm_Segment_Item *)it;
->>>>>>> remotes/origin/upstream
wd = elm_widget_item_data_get(item);
if (!wd) return;
elm_segment_control_item_index_get(const Elm_Object_Item *it)
{
ELM_OBJ_ITEM_CHECK_OR_RETURN(it, -1);
-<<<<<<< HEAD
- return ((Elm_Segment_Item *) it)->seg_index;
-=======
return ((Elm_Segment_Item *)it)->seg_index;
->>>>>>> remotes/origin/upstream
}
* Available styles for it:
* - @c "default"
*
-<<<<<<< HEAD
- * Default contents parts of the segment control items that you can use for are:
-=======
* Default content parts of the segment control items that you can use for are:
->>>>>>> remotes/origin/upstream
* @li "icon" - An icon in a segment control item
*
* Default text parts of the segment control items that you can use for are:
* sc = elm_segment_control_add(win);
* ic = elm_icon_add(win);
* elm_icon_file_set(ic, "path/to/image", NULL);
-<<<<<<< HEAD
- * elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE);
-=======
* elm_icon_resizable_set(ic, EINA_TRUE, EINA_TRUE);
->>>>>>> remotes/origin/upstream
* elm_segment_control_item_add(sc, ic, "label");
* evas_object_show(sc);
* @endcode
* This sets the selected state of the given item @p it.
* @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
*
-<<<<<<< HEAD
- * If a new item is selected the previosly selected will be unselected.
- * Previoulsy selected item can be get with function
-=======
* If a new item is selected the previously selected will be unselected.
* Selected item can be got with function
->>>>>>> remotes/origin/upstream
* elm_segment_control_item_selected_get().
*
* The selected item always will be highlighted on segment control.