make scroller stay in the exact pixel pos when resizign - unless at the end.

SVN revision: 39080
This commit is contained in:
Carsten Haitzler 2009-02-18 13:42:56 +00:00
parent cab8dc9942
commit f9fb1d3f0f
4 changed files with 23 additions and 14 deletions

View File

@ -2109,7 +2109,7 @@ my_bt_29(void *data, Evas_Object *obj, void *event_info)
itc1.func.state_get = gl_state_get;
itc1.func.del = gl_del;
for (i = 0; i < 10000; i++)
for (i = 0; i < 100000; i++)
{
gli = elm_genlist_item_append(gl, &itc1,
(void *)i/* item data */,
@ -2176,6 +2176,7 @@ my_gl_disable(void *data, Evas_Object *obj, void *event_info)
}
elm_genlist_item_disabled_set(gli, 1);
elm_genlist_item_selected_set(gli, 0);
elm_genlist_item_update(gli);
}

View File

@ -533,6 +533,7 @@ extern "C" {
EAPI void elm_genlist_item_show(Elm_Genlist_Item *item);
EAPI void elm_genlist_item_del(Elm_Genlist_Item *item);
EAPI const void *elm_genlist_item_data_get(Elm_Genlist_Item *item);
EAPI void elm_genlist_item_update(Elm_Genlist_Item *item);
/* smart callbacks called:
* "clicked" - the user clicked the hoversel button and popped up the sel

View File

@ -1222,5 +1222,10 @@ elm_genlist_item_data_get(Elm_Genlist_Item *item)
EAPI void
elm_genlist_item_update(Elm_Genlist_Item *item)
{
// fixme - now do call all the class get funcs again - re realize if realized.
Item *it = (Item *)item;
if (!it->block) return;
it->mincalcd = 0;
it->block->changed = 1;
if (it->wd->calc_job) ecore_job_del(it->wd->calc_job);
it->wd->calc_job = ecore_job_add(_calc_job, it->wd);
}

View File

@ -915,9 +915,11 @@ _smart_scrollbar_size_adjust(Smart_Data *sd)
edje_object_part_drag_page_set(sd->edje_obj, "elm.dragable.vbar", 0.0, -((double)sd->page.y * ((double)vh / (double)h)) / 100.0);
sd->pan_func.get(sd->pan_obj, &px, &py);
if (vx != mx) x = px;
if (vy != my) y = py;
sd->pan_func.set(sd->pan_obj, x, y);
if ((px != 0) || (py != 0))
edje_object_signal_emit(sd->edje_obj, "elm,action,scroll", "elm");
// if ((px != 0) || (py != 0))
// edje_object_signal_emit(sd->edje_obj, "elm,action,scroll", "elm");
}
else
{