add function for changing a gadcon client's menu

SVN revision: 75971
This commit is contained in:
Mike Blumenkrantz 2012-09-03 08:02:33 +00:00
parent c4ae7b8a20
commit 5c3352c57f
2 changed files with 19 additions and 0 deletions

View File

@ -1564,6 +1564,24 @@ e_gadcon_client_add_location_menu(E_Gadcon_Client *gcc, E_Menu *menu)
}
}
EAPI E_Menu *
e_gadcon_client_menu_set(E_Gadcon_Client *gcc, E_Menu *m)
{
E_Menu *ret;
E_OBJECT_CHECK_RETURN(gcc, NULL);
E_OBJECT_TYPE_CHECK_RETURN(gcc, E_GADCON_CLIENT_TYPE, NULL);
ret = gcc->menu;
if (ret)
e_menu_post_deactivate_callback_set(ret, NULL, NULL);
gcc->menu = m;
if (gcc->gadcon->shelf) gcc->gadcon->shelf->menu = m;
if (m)
e_menu_post_deactivate_callback_set(m, _e_gadcon_client_cb_menu_post, gcc);
return ret;
}
EAPI E_Menu *
e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_gadget, int flags __UNUSED__)
{

View File

@ -298,6 +298,7 @@ EAPI void e_gadcon_client_resizable_set(E_Gadcon_Client *gcc,
EAPI int e_gadcon_client_geometry_get(E_Gadcon_Client *gcc, int *x, int *y, int *w, int *h);
EAPI int e_gadcon_client_viewport_geometry_get(E_Gadcon_Client *gcc, int *x, int *y, int *w, int *h);
EAPI E_Zone *e_gadcon_client_zone_get(E_Gadcon_Client *gcc);
EAPI E_Menu *e_gadcon_client_menu_set(E_Gadcon_Client *gcc, E_Menu *m);
EAPI E_Menu *e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu_gadget, int flags);
EAPI void e_gadcon_client_util_menu_attach(E_Gadcon_Client *gcc);
EAPI void e_gadcon_locked_set(E_Gadcon *gc, int lock);