dummy shelves don't need to be a gadcon site, also properly export prototype

SVN revision: 74631
This commit is contained in:
Mike Blumenkrantz 2012-07-31 09:43:10 +00:00
parent 8b52aa054d
commit 873febc02b
2 changed files with 8 additions and 6 deletions

View File

@ -131,11 +131,9 @@ e_shelf_zone_dummy_new(E_Zone *zone, Evas_Object *obj, int id)
es->zone = zone;
es->dummy = 1;
es->o_base = obj;
es->cfg = E_NEW(E_Config_Shelf, 1);
e_object_del_attach_func_set(E_OBJECT(es), _e_shelf_del_cb);
es->gadcon = e_gadcon_dummy_new(id);
es->gadcon->location =
e_gadcon_location_new(NULL, E_GADCON_SITE_SHELF, NULL, NULL, NULL, NULL);
e_gadcon_location_register(es->gadcon->location);
dummies = eina_list_append(dummies, es);
return es;
@ -570,9 +568,9 @@ e_shelf_orient(E_Shelf *es, E_Gadcon_Orient orient)
E_OBJECT_IF_NOT_TYPE(es, E_SHELF_DUMMY_TYPE)
E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE);
e_gadcon_orient(es->gadcon, orient);
if (!es->dummy)
{
e_gadcon_orient(es->gadcon, orient);
snprintf(buf, sizeof(buf), "e,state,orientation,%s",
e_shelf_orient_string_get(es));
edje_object_signal_emit(es->o_base, buf, "e");
@ -923,7 +921,10 @@ _e_shelf_del_cb(void *d)
es = d;
if (es->dummy)
dummies = eina_list_remove(dummies, es);
{
dummies = eina_list_remove(dummies, es);
E_FREE(es->cfg);
}
else
shelves = eina_list_remove(shelves, es);
}

View File

@ -62,6 +62,7 @@ EAPI void e_shelf_config_update(void);
EAPI Eina_List *e_shelf_list(void);
EAPI Eina_List *e_shelf_list_all(void); // includes dummy shelves
EAPI E_Shelf *e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, int popup, int layer, int id);
EAPI E_Shelf *e_shelf_zone_dummy_new(E_Zone *zone, Evas_Object *obj, int id);
EAPI void e_shelf_zone_move_resize_handle(E_Zone *zone);
EAPI void e_shelf_populate(E_Shelf *es);
EAPI void e_shelf_show(E_Shelf *es);