more shelf work - getting there.

SVN revision: 21847
This commit is contained in:
Carsten Haitzler 2006-04-05 14:00:32 +00:00
parent 9e1e978713
commit 51c1084431
3 changed files with 282 additions and 77 deletions

View File

@ -45,6 +45,7 @@ static void e_gadcon_layout_pack_request_set(Evas_Object *obj, int pos, int size
static void e_gadcon_layout_pack_options_set(Evas_Object *obj, int pos, int size, int res);
static void e_gadcon_layout_pack_min_size_set(Evas_Object *obj, int w, int h);
static void e_gadcon_layout_pack_aspect_set(Evas_Object *obj, int w, int h);
static void e_gadcon_layout_pack_aspect_pad_set(Evas_Object *obj, int w, int h);
static void e_gadcon_layout_unpack(Evas_Object *obj);
static Evas_Hash *providers = NULL;
@ -408,6 +409,8 @@ e_gadcon_client_new(E_Gadcon *gc, char *name, char *id, char *style, Evas_Object
style);
if (gcc->o_frame)
{
edje_object_size_min_calc(gcc->o_frame,
&(gcc->pad.w), &(gcc->pad.h));
edje_object_part_swallow(gcc->o_frame, "items", gcc->o_base);
evas_object_show(gcc->o_frame);
}
@ -488,8 +491,16 @@ e_gadcon_client_edit_begin(E_Gadcon_Client *gcc)
evas_object_event_callback_add(gcc->o_event, EVAS_CALLBACK_MOUSE_IN, _e_gadcon_cb_mouse_in, gcc);
evas_object_event_callback_add(gcc->o_event, EVAS_CALLBACK_MOUSE_OUT, _e_gadcon_cb_mouse_out, gcc);
evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move, gcc);
evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize, gcc);
if (gcc->o_frame)
{
evas_object_event_callback_add(gcc->o_frame, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move, gcc);
evas_object_event_callback_add(gcc->o_frame, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize, gcc);
}
else
{
evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move, gcc);
evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize, gcc);
}
evas_object_show(gcc->o_event);
evas_object_show(gcc->o_control);
@ -501,8 +512,16 @@ e_gadcon_client_edit_end(E_Gadcon_Client *gcc)
E_OBJECT_CHECK(gcc);
E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move);
evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize);
if (gcc->o_frame)
{
evas_object_event_callback_del(gcc->o_frame, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move);
evas_object_event_callback_del(gcc->o_frame, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize);
}
else
{
evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_MOVE, _e_gadcon_cb_move);
evas_object_event_callback_del(gcc->o_base, EVAS_CALLBACK_RESIZE, _e_gadcon_cb_resize);
}
if (gcc->moving)
{
@ -526,7 +545,7 @@ e_gadcon_client_size_request(E_Gadcon_Client *gcc, Evas_Coord w, Evas_Coord h)
case E_GADCON_ORIENT_TOP:
case E_GADCON_ORIENT_BOTTOM:
if (gcc->o_frame)
e_gadcon_layout_pack_size_set(gcc->o_frame, w);
e_gadcon_layout_pack_size_set(gcc->o_frame, w + gcc->pad.w);
else
e_gadcon_layout_pack_size_set(gcc->o_base, w);
break;
@ -534,7 +553,7 @@ e_gadcon_client_size_request(E_Gadcon_Client *gcc, Evas_Coord w, Evas_Coord h)
case E_GADCON_ORIENT_LEFT:
case E_GADCON_ORIENT_RIGHT:
if (gcc->o_frame)
e_gadcon_layout_pack_size_set(gcc->o_frame, h);
e_gadcon_layout_pack_size_set(gcc->o_frame, h + gcc->pad.h);
else
e_gadcon_layout_pack_size_set(gcc->o_base, h);
break;
@ -543,6 +562,10 @@ e_gadcon_client_size_request(E_Gadcon_Client *gcc, Evas_Coord w, Evas_Coord h)
case E_GADCON_ORIENT_CORNER_TR:
case E_GADCON_ORIENT_CORNER_BL:
case E_GADCON_ORIENT_CORNER_BR:
case E_GADCON_ORIENT_CORNER_LT:
case E_GADCON_ORIENT_CORNER_RT:
case E_GADCON_ORIENT_CORNER_LB:
case E_GADCON_ORIENT_CORNER_RB:
default:
break;
}
@ -554,7 +577,7 @@ e_gadcon_client_min_size_set(E_Gadcon_Client *gcc, Evas_Coord w, Evas_Coord h)
E_OBJECT_CHECK(gcc);
E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
if (gcc->o_frame)
e_gadcon_layout_pack_min_size_set(gcc->o_frame, w, h);
e_gadcon_layout_pack_min_size_set(gcc->o_frame, w + gcc->pad.w, h + gcc->pad.h);
else
e_gadcon_layout_pack_min_size_set(gcc->o_base, w, h);
}
@ -565,7 +588,10 @@ e_gadcon_client_aspect_set(E_Gadcon_Client *gcc, int w, int h)
E_OBJECT_CHECK(gcc);
E_OBJECT_TYPE_CHECK(gcc, E_GADCON_CLIENT_TYPE);
if (gcc->o_frame)
e_gadcon_layout_pack_aspect_set(gcc->o_frame, w, h);
{
e_gadcon_layout_pack_aspect_pad_set(gcc->o_frame, gcc->pad.w, gcc->pad.h);
e_gadcon_layout_pack_aspect_set(gcc->o_frame, w, h);
}
else
e_gadcon_layout_pack_aspect_set(gcc->o_base, w, h);
}
@ -673,6 +699,7 @@ _e_gadcon_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_in
ev = event_info;
if (ev->button == 3)
{
printf("THREE!\n");
}
}
@ -770,7 +797,10 @@ _e_gadcon_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission,
evas_pointer_canvas_xy_get(gcc->gadcon->evas, &x, &y);
x = x - gcc->dx;
y = y - gcc->dy;
evas_object_geometry_get(gcc->o_base, NULL, NULL, &w, &h);
if (gcc->o_frame)
evas_object_geometry_get(gcc->o_frame, NULL, NULL, &w, &h);
else
evas_object_geometry_get(gcc->o_base, NULL, NULL, &w, &h);
if (e_gadcon_layout_orientation_get(gcc->gadcon->o_container))
{
if (gcc->o_frame)
@ -922,7 +952,7 @@ struct _E_Gadcon_Layout_Item
int hookp;
struct {
int w, h;
} min, aspect;
} min, aspect, aspect_pad;
Evas_Coord x, y, w, h;
Evas_Object *obj;
unsigned char can_move : 1;
@ -1187,6 +1217,17 @@ e_gadcon_layout_pack_aspect_set(Evas_Object *obj, int w, int h)
_e_gadcon_layout_smart_reconfigure(bi->sd);
}
static void
e_gadcon_layout_pack_aspect_pad_set(Evas_Object *obj, int w, int h)
{
E_Gadcon_Layout_Item *bi;
bi = evas_object_data_get(obj, "e_gadcon_layout_data");
if (!bi) return;
bi->aspect_pad.w = w;
bi->aspect_pad.h = h;
}
static void
e_gadcon_layout_unpack(Evas_Object *obj)
{
@ -1328,13 +1369,15 @@ _e_gadcon_layout_smart_reconfigure(E_Smart_Data *sd)
{
if (sd->horizontal)
{
bi->ask.size2 = (h * bi->aspect.w) / bi->aspect.h;
bi->ask.size2 = (((h - bi->aspect_pad.h) * bi->aspect.w) /
bi->aspect.h) + bi->aspect_pad.w;
if (bi->ask.size2 > bi->min.w)
min += (bi->ask.size2 - bi->min.w);
}
else
{
bi->ask.size2 = (w * bi->aspect.h) / bi->aspect.w;
bi->ask.size2 = (((w - bi->aspect_pad.w) * bi->aspect.h) /
bi->aspect.w) + bi->aspect_pad.h;
if (bi->ask.size2 > bi->min.h)
min += (bi->ask.size2 - bi->min.h);
}

View File

@ -22,7 +22,11 @@ typedef enum _E_Gadcon_Orient
E_GADCON_ORIENT_CORNER_TL,
E_GADCON_ORIENT_CORNER_TR,
E_GADCON_ORIENT_CORNER_BL,
E_GADCON_ORIENT_CORNER_BR
E_GADCON_ORIENT_CORNER_BR,
E_GADCON_ORIENT_CORNER_LT,
E_GADCON_ORIENT_CORNER_RT,
E_GADCON_ORIENT_CORNER_LB,
E_GADCON_ORIENT_CORNER_RB
} E_Gadcon_Orient;
typedef struct _E_Gadcon E_Gadcon;
@ -95,6 +99,9 @@ struct _E_Gadcon_Client
struct {
int pos, size, res;
} config;
struct {
Evas_Coord w, h;
} pad;
unsigned char moving : 1;
Evas_Coord dx, dy, sx, sy;

View File

@ -4,6 +4,7 @@
#include "e.h"
static void _e_shelf_free(E_Shelf *es);
static const char *_e_shelf_orient_string_get(E_Shelf *es);
static void _e_shelf_position_calc(E_Shelf *es);
static void _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
static Evas_Object *_e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *style);
@ -11,13 +12,6 @@ static Evas_Object *_e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client *g
static Evas_List *shelves = NULL;
static int shelf_id = 0;
/* FIXME: shelves need to do this:
* 1. allow them to be moved, resized etc. etc.
* 2. have a configuration panel per shelf to select if its inline, layer etc.
* 3. catch all right clicks not on modules for right click context menu
* 4. a global config dialog that lists shelves u have to configure them
*/
/* externally accessible functions */
EAPI int
e_shelf_init(void)
@ -121,6 +115,7 @@ e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, int popup, i
es);
e_gadcon_orient(es->gadcon, E_GADCON_ORIENT_TOP);
edje_object_signal_emit(es->o_base, "set_orientation", "top");
edje_object_message_signal_process(es->o_base);
e_gadcon_zone_set(es->gadcon, zone);
e_gadcon_ecore_evas_set(es->gadcon, es->ee);
@ -271,44 +266,9 @@ e_shelf_orient(E_Shelf *es, E_Gadcon_Orient orient)
E_OBJECT_CHECK(es);
E_OBJECT_TYPE_CHECK(es, E_GADMAN_SHELF_TYPE);
e_gadcon_orient(es->gadcon, orient);
switch (es->gadcon->orient)
{
case E_GADCON_ORIENT_FLOAT:
edje_object_signal_emit(es->o_base, "set_orientation", "float");
break;
case E_GADCON_ORIENT_HORIZ:
edje_object_signal_emit(es->o_base, "set_orientation", "horizontal");
break;
case E_GADCON_ORIENT_VERT:
edje_object_signal_emit(es->o_base, "set_orientation", "vertical");
break;
case E_GADCON_ORIENT_LEFT:
edje_object_signal_emit(es->o_base, "set_orientation", "left");
break;
case E_GADCON_ORIENT_RIGHT:
edje_object_signal_emit(es->o_base, "set_orientation", "right");
break;
case E_GADCON_ORIENT_TOP:
edje_object_signal_emit(es->o_base, "set_orientation", "top");
break;
case E_GADCON_ORIENT_BOTTOM:
edje_object_signal_emit(es->o_base, "set_orientation", "bottom");
break;
case E_GADCON_ORIENT_CORNER_TL:
edje_object_signal_emit(es->o_base, "set_orientation", "top_left");
break;
case E_GADCON_ORIENT_CORNER_TR:
edje_object_signal_emit(es->o_base, "set_orientation", "top_right");
break;
case E_GADCON_ORIENT_CORNER_BL:
edje_object_signal_emit(es->o_base, "set_orientation", "bottom_left");
break;
case E_GADCON_ORIENT_CORNER_BR:
edje_object_signal_emit(es->o_base, "set_orientation", "bottom_right");
break;
default:
break;
}
edje_object_signal_emit(es->o_base, "set_orientation",
_e_shelf_orient_string_get(es));
edje_object_message_signal_process(es->o_base);
}
/* local subsystem functions */
@ -324,6 +284,64 @@ _e_shelf_free(E_Shelf *es)
free(es);
}
static const char *
_e_shelf_orient_string_get(E_Shelf *es)
{
const char *sig = "";
switch (es->gadcon->orient)
{
case E_GADCON_ORIENT_FLOAT:
sig = "float";
break;
case E_GADCON_ORIENT_HORIZ:
sig = "horizontal";
break;
case E_GADCON_ORIENT_VERT:
sig = "vertical";
break;
case E_GADCON_ORIENT_LEFT:
sig = "left";
break;
case E_GADCON_ORIENT_RIGHT:
sig = "right";
break;
case E_GADCON_ORIENT_TOP:
sig = "top";
break;
case E_GADCON_ORIENT_BOTTOM:
sig = "bottom";
break;
case E_GADCON_ORIENT_CORNER_TL:
sig = "top_left";
break;
case E_GADCON_ORIENT_CORNER_TR:
sig = "top_right";
break;
case E_GADCON_ORIENT_CORNER_BL:
sig = "bottom_left";
break;
case E_GADCON_ORIENT_CORNER_BR:
sig = "bottom_right";
break;
case E_GADCON_ORIENT_CORNER_LT:
sig = "left_top";
break;
case E_GADCON_ORIENT_CORNER_RT:
sig = "right_top";
break;
case E_GADCON_ORIENT_CORNER_LB:
sig = "left_bottom";
break;
case E_GADCON_ORIENT_CORNER_RB:
sig = "right_bottom";
break;
default:
break;
}
return sig;
}
static void
_e_shelf_position_calc(E_Shelf *es)
{
@ -340,14 +358,30 @@ _e_shelf_position_calc(E_Shelf *es)
switch (orient)
{
case E_GADCON_ORIENT_FLOAT:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
break;
case E_GADCON_ORIENT_HORIZ:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
es->x = (es->zone->w - es->w) / 2;
break;
case E_GADCON_ORIENT_VERT:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->y = (es->zone->h - es->h) / 2;
break;
case E_GADCON_ORIENT_LEFT:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = 0;
es->y = (es->zone->h - es->h) / 2;
break;
case E_GADCON_ORIENT_RIGHT:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = es->zone->w - es->w;
es->y = (es->zone->h - es->h) / 2;
break;
case E_GADCON_ORIENT_TOP:
if (!es->fit_along) es->w = es->zone->w;
@ -362,12 +396,52 @@ _e_shelf_position_calc(E_Shelf *es)
es->y = es->zone->h - es->h;
break;
case E_GADCON_ORIENT_CORNER_TL:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
es->x = 0;
es->y = 0;
break;
case E_GADCON_ORIENT_CORNER_TR:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
es->x = es->zone->w - es->w;
es->y = 0;
break;
case E_GADCON_ORIENT_CORNER_BL:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
es->x = 0;
es->y = es->zone->h - es->h;
break;
case E_GADCON_ORIENT_CORNER_BR:
if (!es->fit_along) es->w = es->zone->w;
if (!es->fit_size) es->h = size;
es->x = es->zone->w - es->w;
es->y = es->zone->h - es->h;
break;
case E_GADCON_ORIENT_CORNER_LT:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = 0;
es->y = 0;
break;
case E_GADCON_ORIENT_CORNER_RT:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = es->zone->w - es->w;
es->y = 0;
break;
case E_GADCON_ORIENT_CORNER_LB:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = 0;
es->y = es->zone->h - es->h;
break;
case E_GADCON_ORIENT_CORNER_RB:
if (!es->fit_along) es->h = es->zone->h;
if (!es->fit_size) es->w = size;
es->x = es->zone->w - es->w;
es->y = es->zone->h - es->h;
break;
default:
break;
@ -392,30 +466,25 @@ _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord
switch (gc->orient)
{
case E_GADCON_ORIENT_FLOAT:
break;
case E_GADCON_ORIENT_HORIZ:
case E_GADCON_ORIENT_TOP:
case E_GADCON_ORIENT_BOTTOM:
case E_GADCON_ORIENT_CORNER_TL:
case E_GADCON_ORIENT_CORNER_TR:
case E_GADCON_ORIENT_CORNER_BL:
case E_GADCON_ORIENT_CORNER_BR:
if (!es->fit_along) w = ww;
if (!es->fit_size) h = hh;
break;
case E_GADCON_ORIENT_VERT:
break;
case E_GADCON_ORIENT_LEFT:
break;
case E_GADCON_ORIENT_RIGHT:
break;
case E_GADCON_ORIENT_TOP:
if (!es->fit_along) w = ww;
if (!es->fit_size) h = hh;
break;
case E_GADCON_ORIENT_BOTTOM:
if (!es->fit_along) w = ww;
if (!es->fit_size) h = hh;
break;
case E_GADCON_ORIENT_CORNER_TL:
break;
case E_GADCON_ORIENT_CORNER_TR:
break;
case E_GADCON_ORIENT_CORNER_BL:
break;
case E_GADCON_ORIENT_CORNER_BR:
case E_GADCON_ORIENT_CORNER_LT:
case E_GADCON_ORIENT_CORNER_RT:
case E_GADCON_ORIENT_CORNER_LB:
case E_GADCON_ORIENT_CORNER_RB:
if (!es->fit_along) h = hh;
if (!es->fit_size) w = ww;
break;
default:
break;
@ -427,14 +496,41 @@ _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord
switch (gc->orient)
{
case E_GADCON_ORIENT_FLOAT:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = es->x + ((es->w - nw) / 2);
break;
case E_GADCON_ORIENT_HORIZ:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = es->x + ((es->w - nw) / 2);
break;
case E_GADCON_ORIENT_VERT:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
break;
case E_GADCON_ORIENT_LEFT:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
nx = 0;
break;
case E_GADCON_ORIENT_RIGHT:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = es->y + ((es->h - nh) / 2);
nx = es->zone->w - nw;
break;
case E_GADCON_ORIENT_TOP:
if (!es->fit_along) nw = es->w;
@ -453,12 +549,68 @@ _e_shelf_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord
ny = es->zone->h - nh;
break;
case E_GADCON_ORIENT_CORNER_TL:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = 0;
ny = 0;
break;
case E_GADCON_ORIENT_CORNER_TR:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = es->zone->w - es->w;
ny = 0;
break;
case E_GADCON_ORIENT_CORNER_BL:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = 0;
ny = es->zone->h - nh;
break;
case E_GADCON_ORIENT_CORNER_BR:
if (!es->fit_along) nw = es->w;
if (!es->fit_size) nh = es->h;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nw != es->w) nx = es->zone->w - es->w;
ny = es->zone->h - nh;
break;
case E_GADCON_ORIENT_CORNER_LT:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = 0;
nx = 0;
break;
case E_GADCON_ORIENT_CORNER_RT:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = 0;
nx = es->zone->w - nw;
break;
case E_GADCON_ORIENT_CORNER_LB:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = es->zone->h - nh;
nx = 0;
break;
case E_GADCON_ORIENT_CORNER_RB:
if (!es->fit_along) nh = es->h;
if (!es->fit_size) nw = es->w;
if (nw > es->zone->w) nw = es->zone->w;
if (nh > es->zone->h) nh = es->zone->h;
if (nh != es->h) ny = es->zone->h - nh;
nx = es->zone->w - nw;
break;
default:
break;
@ -481,5 +633,8 @@ _e_shelf_gadcon_frame_request(void *data, E_Gadcon_Client *gcc, const char *styl
evas_object_del(o);
return NULL;
}
edje_object_signal_emit(o, "set_orientation",
_e_shelf_orient_string_get(es));
edje_object_message_signal_process(o);
return o;
}