- more fixes, might have run into an evas bug, need to talk to raster
SVN revision: 18036
This commit is contained in:
parent
a946b3762e
commit
0f30d77f51
|
@ -167,7 +167,7 @@ _e_fileman_resize_cb(E_Win *win)
|
|||
|
||||
fileman = win->data;
|
||||
evas_object_resize(fileman->main, win->w, win->h);
|
||||
e_fm_geometry_virtual_get(fileman->smart, &w, &h);
|
||||
e_fm_geometry_virtual_get(fileman->smart, &w, &h);
|
||||
|
||||
D(("_e_fileman_resize_cb: e_fm_freeze\n"));
|
||||
frozen = e_fm_freeze(fileman->smart);
|
||||
|
@ -176,8 +176,9 @@ _e_fileman_resize_cb(E_Win *win)
|
|||
|
||||
if (h > win->h)
|
||||
{
|
||||
D(("e_fileman_resize_cb: show (%p)\n", fileman));
|
||||
edje_object_part_swallow(fileman->main, "vscrollbar", fileman->vscrollbar);
|
||||
D(("e_fileman_resize_cb: show (%p)\n", fileman));
|
||||
edje_object_part_swallow(fileman->main, "vscrollbar", fileman->vscrollbar);
|
||||
e_fm_geometry_virtual_get(fileman->smart, &w, &h);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -212,6 +213,7 @@ _e_fileman_reconf_cb(void *data, int type, void *event)
|
|||
{
|
||||
E_Event_Fm_Reconfigure *ev;
|
||||
E_Fileman *fileman;
|
||||
Evas_Coord w, h;
|
||||
int frozen;
|
||||
|
||||
if (!data) return 1;
|
||||
|
@ -243,6 +245,7 @@ _e_fileman_dir_change_cb(void *data, int type, void *event)
|
|||
{
|
||||
E_Event_Fm_Directory_Change *ev;
|
||||
E_Fileman *fileman;
|
||||
Evas_Coord w, h;
|
||||
|
||||
if (!data) return 1;
|
||||
|
||||
|
@ -251,6 +254,7 @@ _e_fileman_dir_change_cb(void *data, int type, void *event)
|
|||
|
||||
D(("_e_fileman_dir_change_cb:\n"));
|
||||
e_scrollbar_value_set(fileman->vscrollbar, 0.0);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,8 +41,6 @@ static void _e_scrollbar_smart_add(Evas_Object *object);
|
|||
static void _e_scrollbar_smart_del(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_move(Evas_Object *object, Evas_Coord x, Evas_Coord y);
|
||||
static void _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h);
|
||||
static void _e_scrollbar_smart_show(Evas_Object *object);
|
||||
static void _e_scrollbar_smart_hide(Evas_Object *object);
|
||||
static void _e_scrollbar_drag_cb(void *data, Evas_Object *object, const char *emission, const char *source);
|
||||
|
||||
static void _e_scrollbar_drag_mouse_move_cb(void *data, Evas *evas, Evas_Object *object, void *event_info);
|
||||
|
@ -62,8 +60,8 @@ e_scrollbar_add(Evas *evas)
|
|||
NULL, NULL, NULL, NULL, NULL,
|
||||
_e_scrollbar_smart_move, /* move */
|
||||
_e_scrollbar_smart_resize, /* resize */
|
||||
_e_scrollbar_smart_show, /* show */
|
||||
_e_scrollbar_smart_hide, /* hide */
|
||||
NULL, /* show */
|
||||
NULL, /* hide */
|
||||
NULL, /* color_set */
|
||||
NULL, /* clip_set */
|
||||
NULL, /* clip_unset */
|
||||
|
@ -171,51 +169,25 @@ e_scrollbar_value_get(Evas_Object *object)
|
|||
}
|
||||
|
||||
void
|
||||
e_scrollbar_increments_set(Evas_Object *object, double step, double page)
|
||||
e_scrollbar_drag_resize(Evas_Object *object, int percent)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *sd;
|
||||
Evas_Coord w, h;
|
||||
int size;
|
||||
|
||||
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
return;
|
||||
|
||||
if (sd->direction == E_SCROLLBAR_HORIZONTAL)
|
||||
{
|
||||
edje_object_part_drag_step_set(sd->edje.object, "drag", step, 0);
|
||||
edje_object_part_drag_page_set(sd->edje.object, "drag", page, 0);
|
||||
}
|
||||
if(sd->direction == E_SCROLLBAR_HORIZONTAL)
|
||||
sd->drag.w = percent * sd->confine.w / 100;
|
||||
else
|
||||
{
|
||||
edje_object_part_drag_step_set(sd->edje.object, "drag", 0, step);
|
||||
edje_object_part_drag_page_set(sd->edje.object, "drag", 0, page);
|
||||
}
|
||||
sd->drag.h = percent * sd->confine.h / 100;
|
||||
|
||||
printf("drag_resize: %d%% %d px\n", percent, sd->drag.h);
|
||||
|
||||
evas_object_resize(sd->drag.object, sd->drag.w, sd->drag.h);
|
||||
}
|
||||
|
||||
void
|
||||
e_scrollbar_increments_get(Evas_Object *object, double *step, double *page)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *sd;
|
||||
double stepx; double stepy;
|
||||
double pagex; double pagey;
|
||||
|
||||
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
edje_object_part_drag_step_get(sd->edje.object, "drag", &stepx, &stepy);
|
||||
edje_object_part_drag_page_get(sd->edje.object, "drag", &pagex, &pagey);
|
||||
|
||||
if (sd->direction == E_SCROLLBAR_HORIZONTAL)
|
||||
{
|
||||
if (step) *step = stepx;
|
||||
if (page) *page = pagex;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (step) *step = stepy;
|
||||
if (page) *page = pagey;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**************************
|
||||
* Private functions
|
||||
**************************/
|
||||
|
@ -238,14 +210,17 @@ _e_scrollbar_smart_add(Evas_Object *object)
|
|||
sd->direction = E_SCROLLBAR_HORIZONTAL;
|
||||
|
||||
sd->edje.object = edje_object_add(evas);
|
||||
evas_object_smart_member_add(sd->edje.object, object);
|
||||
sd->edje.x = 0;
|
||||
sd->edje.y = 0;
|
||||
sd->edje.w = 0;
|
||||
sd->edje.h = 0;
|
||||
e_theme_edje_object_set(sd->edje.object, "base/theme/widgets/hscrollbar",
|
||||
"widgets/hscrollbar");
|
||||
evas_object_show(sd->edje.object);
|
||||
|
||||
sd->drag.object = edje_object_add(evas);
|
||||
evas_object_smart_member_add(sd->drag.object, object);
|
||||
sd->drag.x = 0;
|
||||
sd->drag.y = 0;
|
||||
sd->drag.w = 0;
|
||||
|
@ -253,6 +228,7 @@ _e_scrollbar_smart_add(Evas_Object *object)
|
|||
e_theme_edje_object_set(sd->drag.object,
|
||||
"base/theme/widgets/hscrollbar",
|
||||
"widgets/hscrollbar_drag");
|
||||
evas_object_show(sd->drag.object);
|
||||
|
||||
edje_object_part_geometry_get(sd->drag.object, "confine",
|
||||
&sd->confine.x, &sd->confine.y,
|
||||
|
@ -262,14 +238,8 @@ _e_scrollbar_smart_add(Evas_Object *object)
|
|||
evas_object_event_callback_add(sd->drag.object, EVAS_CALLBACK_MOUSE_UP, _e_scrollbar_drag_mouse_up_cb, sd);
|
||||
evas_object_event_callback_add(sd->drag.object, EVAS_CALLBACK_MOUSE_DOWN, _e_scrollbar_drag_mouse_down_cb, sd);
|
||||
|
||||
evas_object_data_set(sd->edje.object, "smart", object);
|
||||
evas_object_smart_member_add(sd->edje.object, object);
|
||||
evas_object_smart_member_add(sd->drag.object, object);
|
||||
|
||||
evas_object_smart_data_set(object, sd);
|
||||
|
||||
evas_object_show(sd->edje.object);
|
||||
evas_object_show(sd->drag.object);
|
||||
evas_object_data_set(sd->edje.object, "smart", object);
|
||||
evas_object_smart_data_set(object, sd);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -332,31 +302,6 @@ _e_scrollbar_smart_resize(Evas_Object *object, Evas_Coord w, Evas_Coord h)
|
|||
sd->drag.h = 20;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_scrollbar_smart_show(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *sd;
|
||||
|
||||
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_show(sd->edje.object);
|
||||
evas_object_show(sd->drag.object);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
_e_scrollbar_smart_hide(Evas_Object *object)
|
||||
{
|
||||
E_Scrollbar_Smart_Data *sd;
|
||||
|
||||
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
||||
return;
|
||||
|
||||
evas_object_hide(sd->edje.object);
|
||||
evas_object_hide(sd->drag.object);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_scrollbar_drag_cb(void *data, Evas_Object *object, const char *emission, const char *source)
|
||||
{
|
||||
|
|
|
@ -30,8 +30,7 @@ EAPI E_Scrollbar_Direction e_scrollbar_direction_get(Evas_Object *object);
|
|||
EAPI void e_scrollbar_callback_drag_add (Evas_Object *object, void (*func)(Evas_Object *obj, double value, void *data), void *data);
|
||||
EAPI void e_scrollbar_value_set (Evas_Object *object, double value);
|
||||
EAPI double e_scrollbar_value_get (Evas_Object *object);
|
||||
EAPI void e_scrollbar_increments_set (Evas_Object *object, double step, double page);
|
||||
EAPI void e_scrollbar_increments_get (Evas_Object *object, double *step, double *page);
|
||||
EAPI void e_scrollbar_drag_resize(Evas_Object *object, int percent);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue