Populate the toolbar when it gets created.

Added start of orientation support.


SVN revision: 32523
This commit is contained in:
Christopher Michael 2007-11-09 20:43:54 +00:00
parent bf03226559
commit 96d567024e
1 changed files with 39 additions and 4 deletions

View File

@ -11,6 +11,7 @@ static void _e_toolbar_menu_cb_edit(void *data, E_Menu *mn, E_Menu_Item *mi);
static void _e_toolbar_menu_cb_config(void *data, E_Menu *mn, E_Menu_Item *mi);
static void _e_toolbar_menu_cb_contents(void *data, E_Menu *mn, E_Menu_Item *mi);
static void _e_toolbar_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coord h);
static const char *_e_toolbar_orient_string_get(E_Toolbar *tbar);
/* local vars */
static Evas_List *toolbars = NULL;
@ -38,6 +39,7 @@ EAPI E_Toolbar *
e_toolbar_new(Evas *evas, const char *name)
{
E_Toolbar *tbar = NULL;
char buf[4096];
if (!name) return NULL;
@ -65,11 +67,15 @@ e_toolbar_new(Evas *evas, const char *name)
tbar->gadcon = e_gadcon_swallowed_new(tbar->name, tbar->id, tbar->o_base, "e.swallow.content");
e_gadcon_size_request_callback_set(tbar->gadcon, _e_toolbar_gadcon_size_request, tbar);
/* FIXME: We want to implement "styles" here ? */
snprintf(buf, sizeof(buf), "e,state,orientation,%s",
_e_toolbar_orient_string_get(tbar));
e_gadcon_orient(tbar->gadcon, E_GADCON_ORIENT_TOP);
/* TODO: Send signals to theme obj */
edje_object_signal_emit(tbar->o_base, buf, "e");
edje_object_message_signal_process(tbar->o_base);
e_gadcon_toolbar_set(tbar->gadcon, tbar);
e_gadcon_populate(tbar->gadcon);
toolbars = evas_list_append(toolbars, tbar);
return tbar;
@ -270,9 +276,7 @@ _e_toolbar_menu_cb_contents(void *data, E_Menu *mn, E_Menu_Item *mi)
E_Toolbar *tbar;
tbar = data;
#if 0
if (!tbar->gadcon->config_dialog) e_int_gadcon_config(tbar->gadcon);
#endif
}
static void
@ -310,3 +314,34 @@ _e_toolbar_gadcon_size_request(void *data, E_Gadcon *gc, Evas_Coord w, Evas_Coor
}
e_toolbar_move_resize(tbar, nx, ny, nw, nh);
}
static const char *
_e_toolbar_orient_string_get(E_Toolbar *tbar)
{
const char *sig = "";
switch (tbar->gadcon->orient)
{
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;
default:
break;
}
return sig;
}