Dynamically add and remove desks in the preview when you change the # of virtual desks.
A few small fixmes still to go SVN revision: 26662
This commit is contained in:
parent
9c2590121e
commit
1532587bcb
|
@ -10,55 +10,55 @@ static void _e_bg_signal(void *data, Evas_Object *obj, const char *emission, con
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
EAPI const char *
|
EAPI const char *
|
||||||
e_bg_file_get(E_Zone *zone, E_Desk *desk)
|
e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y)
|
||||||
{
|
{
|
||||||
Evas_List *l, *ll, *entries;
|
Evas_List *l, *ll, *entries;
|
||||||
int ok;
|
int ok;
|
||||||
int current_spec;
|
int current_spec;
|
||||||
const char *bgfile = "";
|
const char *bgfile = "";
|
||||||
|
|
||||||
|
|
||||||
if (!zone) zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
|
|
||||||
|
|
||||||
ok = 0;
|
ok = 0;
|
||||||
current_spec = 0; /* how specific the setting is - we want the least general one that applies */
|
current_spec = 0; /* how specific the setting is - we want the least general one that applies */
|
||||||
|
|
||||||
/* look for desk specific background. if desk is NULL this is skipped */
|
/* look for desk specific background. */
|
||||||
for (l = e_config->desktop_backgrounds; desk && l; l = l->next)
|
if (container_num >= 0 || zone_num >= 0 || desk_x >= 0 || desk_y >= 0)
|
||||||
{
|
{
|
||||||
E_Config_Desktop_Background *cfbg;
|
for (l = e_config->desktop_backgrounds; l; l = l->next)
|
||||||
int spec;
|
|
||||||
|
|
||||||
cfbg = l->data;
|
|
||||||
if ((cfbg->container >= 0) && (zone->container->num != cfbg->container)) continue;
|
|
||||||
if ((cfbg->zone >= 0) && (zone->num != cfbg->zone)) continue;
|
|
||||||
if ((cfbg->desk_x >= 0) && (cfbg->desk_x != desk->x)) continue;
|
|
||||||
if ((cfbg->desk_y >= 0) && (cfbg->desk_y != desk->y)) continue;
|
|
||||||
|
|
||||||
spec = 0;
|
|
||||||
if (cfbg->container >= 0) spec++;
|
|
||||||
if (cfbg->zone >= 0) spec++;
|
|
||||||
if (cfbg->desk_x >= 0) spec++;
|
|
||||||
if (cfbg->desk_y >= 0) spec++;
|
|
||||||
|
|
||||||
if (spec <= current_spec) continue;
|
|
||||||
|
|
||||||
entries = edje_file_collection_list(cfbg->file);
|
|
||||||
if (entries)
|
|
||||||
{
|
{
|
||||||
for (ll = entries; ll; ll = ll->next)
|
E_Config_Desktop_Background *cfbg;
|
||||||
|
int spec;
|
||||||
|
|
||||||
|
cfbg = l->data;
|
||||||
|
|
||||||
|
spec = 0;
|
||||||
|
if (cfbg->container == container_num) spec++;
|
||||||
|
else if (cfbg->container >= 0) continue;
|
||||||
|
if (cfbg->zone == zone_num) spec++;
|
||||||
|
else if (cfbg->zone >= 0) continue;
|
||||||
|
if (cfbg->desk_x == desk_x) spec++;
|
||||||
|
else if (cfbg->desk_x >= 0) continue;
|
||||||
|
if (cfbg->desk_y == desk_y) spec++;
|
||||||
|
else if (cfbg->desk_y >= 0) continue;
|
||||||
|
|
||||||
|
if (spec <= current_spec) continue;
|
||||||
|
|
||||||
|
entries = edje_file_collection_list(cfbg->file);
|
||||||
|
if (entries)
|
||||||
{
|
{
|
||||||
if (!strcmp(ll->data, "e/desktop/background"))
|
for (ll = entries; ll; ll = ll->next)
|
||||||
{
|
{
|
||||||
bgfile = cfbg->file;
|
if (!strcmp(ll->data, "e/desktop/background"))
|
||||||
current_spec = spec;
|
{
|
||||||
ok = 1;
|
bgfile = cfbg->file;
|
||||||
|
current_spec = spec;
|
||||||
|
ok = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
edje_file_collection_list_free(entries);
|
||||||
}
|
}
|
||||||
edje_file_collection_list_free(entries);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* fall back to default bg for zone */
|
/* fall back to default */
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
entries = edje_file_collection_list(e_config->desktop_default_background);
|
entries = edje_file_collection_list(e_config->desktop_default_background);
|
||||||
|
@ -89,13 +89,18 @@ e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition)
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
const char *bgfile = "";
|
const char *bgfile = "";
|
||||||
const char *trans = "";
|
const char *trans = "";
|
||||||
|
E_Desk *desk;
|
||||||
|
|
||||||
if (transition == E_BG_TRANSITION_START) trans = e_config->transition_start;
|
if (transition == E_BG_TRANSITION_START) trans = e_config->transition_start;
|
||||||
else if (transition == E_BG_TRANSITION_DESK) trans = e_config->transition_desk;
|
else if (transition == E_BG_TRANSITION_DESK) trans = e_config->transition_desk;
|
||||||
else if (transition == E_BG_TRANSITION_CHANGE) trans = e_config->transition_change;
|
else if (transition == E_BG_TRANSITION_CHANGE) trans = e_config->transition_change;
|
||||||
if ((!trans) || (strlen(trans) < 1)) transition = E_BG_TRANSITION_NONE;
|
if ((!trans) || (strlen(trans) < 1)) transition = E_BG_TRANSITION_NONE;
|
||||||
|
|
||||||
bgfile = e_bg_file_get(zone, e_desk_current_get(zone));
|
desk = e_desk_current_get(zone);
|
||||||
|
if (desk)
|
||||||
|
bgfile = e_bg_file_get(zone->container->num, zone->num, desk->x, desk->y);
|
||||||
|
else
|
||||||
|
bgfile = e_bg_file_get(zone->container->num, zone->num, -1, -1);
|
||||||
|
|
||||||
if (zone->bg_object)
|
if (zone->bg_object)
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,7 @@ typedef enum {
|
||||||
#ifndef E_BG_H
|
#ifndef E_BG_H
|
||||||
#define E_BG_H
|
#define E_BG_H
|
||||||
|
|
||||||
EAPI const char *e_bg_file_get(E_Zone *zone, E_Desk *desk);
|
EAPI const char *e_bg_file_get(int container_num, int zone_num, int desk_x, int desk_y);
|
||||||
EAPI void e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition);
|
EAPI void e_bg_zone_update(E_Zone *zone, E_Bg_Transition transition);
|
||||||
EAPI void e_bg_add(int container, int zone, int desk_x, int desk_y, char *file);
|
EAPI void e_bg_add(int container, int zone, int desk_x, int desk_y, char *file);
|
||||||
EAPI void e_bg_del(int container, int zone, int desk_x, int desk_y);
|
EAPI void e_bg_del(int container, int zone, int desk_x, int desk_y);
|
||||||
|
|
|
@ -140,7 +140,7 @@ e_widget_sub_object_add(Evas_Object *obj, Evas_Object *sobj)
|
||||||
printf("----------EEEEEK! dupe sub obj is a sub obj!\n");
|
printf("----------EEEEEK! dupe sub obj is a sub obj!\n");
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
sd->subobjs = evas_list_append(sd->subobjs, sobj);
|
sd->subobjs = evas_list_append(sd->subobjs, sobj);
|
||||||
if (!sd->child_can_focus)
|
if (!sd->child_can_focus)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,10 @@
|
||||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* XXX need to detect when bg's change and update
|
||||||
|
* XXX thumb doesn't properly change size
|
||||||
|
*/
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
typedef struct _E_Widget_Data E_Widget_Data;
|
typedef struct _E_Widget_Data E_Widget_Data;
|
||||||
|
@ -13,35 +17,18 @@ struct _E_Widget_Data
|
||||||
Evas_List *desks;
|
Evas_List *desks;
|
||||||
|
|
||||||
int w, h;
|
int w, h;
|
||||||
|
int cur_x, cur_y; /* currently drawn */
|
||||||
int desk_count_x, desk_count_y;
|
int desk_count_x, desk_count_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct _E_Widget_Desk_Data E_Widget_Desk_Data;
|
||||||
static void
|
struct _E_Widget_Desk_Data
|
||||||
_e_wid_desks_free(E_Widget_Data *wd)
|
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
Evas_Object *thumb;
|
||||||
for (l = wd->desks; l; l = l->next)
|
int x, y;
|
||||||
{
|
};
|
||||||
Evas_Object *desk = l->data;
|
|
||||||
e_widget_sub_object_del(wd->obj, desk);
|
static void _e_wid_reconfigure(E_Widget_Data *wd);
|
||||||
evas_object_del(desk);
|
|
||||||
}
|
|
||||||
evas_list_free(wd->desks);
|
|
||||||
wd->desks = NULL;
|
|
||||||
if (wd->table)
|
|
||||||
{
|
|
||||||
e_widget_sub_object_del(wd->obj, wd->table);
|
|
||||||
evas_object_del(wd->table);
|
|
||||||
}
|
|
||||||
wd->table = NULL;
|
|
||||||
if (wd->aspect)
|
|
||||||
{
|
|
||||||
e_widget_sub_object_del(wd->obj, wd->aspect);
|
|
||||||
evas_object_del(wd->aspect);
|
|
||||||
}
|
|
||||||
wd->aspect = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_wid_del_hook(Evas_Object *obj)
|
_e_wid_del_hook(Evas_Object *obj)
|
||||||
|
@ -51,47 +38,95 @@ _e_wid_del_hook(Evas_Object *obj)
|
||||||
wd = e_widget_data_get(obj);
|
wd = e_widget_data_get(obj);
|
||||||
if (!wd) return;
|
if (!wd) return;
|
||||||
|
|
||||||
_e_wid_desks_free(wd);
|
evas_list_free(wd->desks);
|
||||||
free(wd);
|
free(wd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
static void
|
||||||
* XXX break this into num_desks_set and _reconfigure calls
|
_e_wid_desk_del_hook(Evas_Object *obj)
|
||||||
* XXX don't completely redraw on change just add/del rows/columns and update min sizes
|
{
|
||||||
*/
|
E_Widget_Desk_Data *dd;
|
||||||
|
|
||||||
|
dd = e_widget_data_get(obj);
|
||||||
|
if (!dd) return;
|
||||||
|
|
||||||
|
free(dd);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_widget_desk_preview_num_desks_set(Evas_Object *obj, int nx, int ny)
|
e_widget_desk_preview_num_desks_set(Evas_Object *obj, int nx, int ny)
|
||||||
{
|
{
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
Evas_Object *o;
|
|
||||||
int x, y;
|
|
||||||
int aw, ah; /* available */
|
|
||||||
int mw, mh; /* min size for each desk */
|
|
||||||
int tw, th; /* size to thumb at */
|
|
||||||
E_Zone *zone;
|
|
||||||
|
|
||||||
wd = e_widget_data_get(obj);
|
wd = e_widget_data_get(obj);
|
||||||
if (!wd) return;
|
if (!wd) return;
|
||||||
|
|
||||||
wd->desk_count_x = nx;
|
wd->desk_count_x = nx;
|
||||||
wd->desk_count_y = ny;
|
wd->desk_count_y = ny;
|
||||||
|
_e_wid_reconfigure(wd);
|
||||||
|
}
|
||||||
|
|
||||||
_e_wid_desks_free(wd);
|
Evas_Object *
|
||||||
|
e_widget_deskpreview_desk_add(Evas *evas, E_Zone *zone, int x, int y, int tw, int th)
|
||||||
|
{
|
||||||
|
Evas_Object *overlay;
|
||||||
|
Evas_Object *obj, *o;
|
||||||
|
const char *bgfile;
|
||||||
|
E_Widget_Desk_Data *dd = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
bgfile = e_bg_file_get(zone->container->num, zone->num, x, y);
|
||||||
|
|
||||||
|
/* wrap desks in a widget (to set min size) */
|
||||||
|
obj = e_widget_add(evas);
|
||||||
|
|
||||||
|
dd = calloc(1, sizeof(E_Widget_Desk_Data));
|
||||||
|
e_widget_data_set(obj, dd);
|
||||||
|
dd->x = x;
|
||||||
|
dd->y = y;
|
||||||
|
|
||||||
|
e_widget_del_hook_set(obj, _e_wid_desk_del_hook);
|
||||||
|
|
||||||
|
o = edje_object_add(evas);
|
||||||
|
e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/deskpreview/desk");
|
||||||
|
e_widget_resize_object_set(obj, o);
|
||||||
|
evas_object_show(o);
|
||||||
|
e_widget_sub_object_add(obj, o);
|
||||||
|
overlay = o;
|
||||||
|
|
||||||
|
o = e_thumb_icon_add(evas);
|
||||||
|
e_icon_fill_inside_set(o, 0);
|
||||||
|
e_thumb_icon_file_set(o, bgfile, "e/desktop/background");
|
||||||
|
e_thumb_icon_size_set(o, tw, th);
|
||||||
|
edje_object_part_swallow(overlay, "e.swallow.content", o);
|
||||||
|
e_thumb_icon_begin(o);
|
||||||
|
evas_object_show(o);
|
||||||
|
e_widget_sub_object_add(obj, o);
|
||||||
|
dd->thumb = o;
|
||||||
|
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_wid_reconfigure(E_Widget_Data *wd)
|
||||||
|
{
|
||||||
|
Evas_List *l, *delete = NULL;
|
||||||
|
Evas_Object *o;
|
||||||
|
int x, y;
|
||||||
|
int aw, ah; /* available */
|
||||||
|
int mw, mh; /* min size for each desk */
|
||||||
|
int tw, th; /* size to thumb at */
|
||||||
|
int nx, ny;
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
|
if (wd->desk_count_x == wd->cur_x && wd->desk_count_y == wd->cur_y) return;
|
||||||
|
|
||||||
|
nx = wd->desk_count_x;
|
||||||
|
ny = wd->desk_count_y;
|
||||||
|
|
||||||
zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
|
zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
|
||||||
|
|
||||||
o = e_widget_aspect_add(evas_object_evas_get(obj), zone->w * nx, zone->h * ny);
|
|
||||||
e_widget_resize_object_set(obj, o);
|
|
||||||
e_widget_sub_object_add(obj, o);
|
|
||||||
evas_object_show(o);
|
|
||||||
wd->aspect = o;
|
|
||||||
|
|
||||||
o = e_widget_table_add(evas_object_evas_get(obj), 1);
|
|
||||||
e_widget_sub_object_add(obj, o);
|
|
||||||
evas_object_show(o);
|
|
||||||
e_widget_aspect_child_set(wd->aspect, o);
|
|
||||||
wd->table = o;
|
|
||||||
|
|
||||||
evas_object_geometry_get(wd->table, NULL, NULL, &aw, &ah);
|
evas_object_geometry_get(wd->table, NULL, NULL, &aw, &ah);
|
||||||
|
|
||||||
if (ny > nx)
|
if (ny > nx)
|
||||||
|
@ -120,45 +155,50 @@ e_widget_desk_preview_num_desks_set(Evas_Object *obj, int nx, int ny)
|
||||||
tw = 300;
|
tw = 300;
|
||||||
th = (tw * zone->h) / zone->w;
|
th = (tw * zone->h) / zone->w;
|
||||||
|
|
||||||
|
for (l = wd->desks; l; l = l->next)
|
||||||
|
{
|
||||||
|
Evas_Object *dw = l->data;
|
||||||
|
E_Widget_Desk_Data *dd = e_widget_data_get(dw);
|
||||||
|
if (dd->x < nx && dd->y < ny)
|
||||||
|
{
|
||||||
|
e_widget_min_size_set(dw, mw, mh);
|
||||||
|
e_widget_table_object_repack(wd->table, dw, dd->x, dd->y, 1, 1, 1, 1, 1, 1);
|
||||||
|
e_thumb_icon_size_set(dd->thumb, tw, th);
|
||||||
|
e_thumb_icon_begin(dd->thumb); /* XXX this isn't working - never ggetting new thumb */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
delete = evas_list_append(delete, dw);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (delete)
|
||||||
|
{
|
||||||
|
Evas_Object *dw = delete->data;
|
||||||
|
e_widget_table_unpack(wd->table, dw);
|
||||||
|
evas_object_del(dw);
|
||||||
|
wd->desks = evas_list_remove(wd->desks, dw);
|
||||||
|
delete = evas_list_remove_list(delete, delete);
|
||||||
|
}
|
||||||
|
|
||||||
for (y = 0; y < ny; y++)
|
for (y = 0; y < ny; y++)
|
||||||
{
|
{
|
||||||
for (x = 0; x < nx; x++)
|
int sx;
|
||||||
|
if (y >= wd->cur_y) sx = 0;
|
||||||
|
else sx = wd->cur_x;
|
||||||
|
for (x = sx; x < nx; x++)
|
||||||
{
|
{
|
||||||
Evas_Object *overlay;
|
|
||||||
Evas_Object *dw;
|
Evas_Object *dw;
|
||||||
const char *bgfile;
|
|
||||||
E_Desk *desk = NULL;
|
|
||||||
|
|
||||||
if (x < zone->desk_x_count && y < zone->desk_y_count)
|
dw = e_widget_deskpreview_desk_add(evas_object_evas_get(wd->obj), zone, x, y, tw, th);
|
||||||
desk = zone->desks[x + (y * zone->desk_x_count)];
|
|
||||||
bgfile = e_bg_file_get(zone, desk);
|
|
||||||
|
|
||||||
/* wrap desks in a widget (to set min size) */
|
|
||||||
dw = e_widget_add(evas_object_evas_get(obj));
|
|
||||||
e_widget_min_size_set(dw, mw, mh);
|
e_widget_min_size_set(dw, mw, mh);
|
||||||
|
|
||||||
o = edje_object_add(evas_object_evas_get(obj));
|
|
||||||
e_theme_edje_object_set(o, "base/theme/widgets", "e/widgets/deskpreview/desk");
|
|
||||||
e_widget_resize_object_set(dw, o);
|
|
||||||
e_widget_sub_object_add(dw, o);
|
|
||||||
|
|
||||||
evas_object_show(o);
|
|
||||||
e_widget_sub_object_add(dw, o);
|
|
||||||
overlay = o;
|
|
||||||
|
|
||||||
o = e_thumb_icon_add(evas_object_evas_get(obj));
|
|
||||||
e_icon_fill_inside_set(o, 0);
|
|
||||||
e_thumb_icon_file_set(o, bgfile, "e/desktop/background");
|
|
||||||
e_thumb_icon_size_set(o, tw, th);
|
|
||||||
edje_object_part_swallow(overlay, "e.swallow.content", o);
|
|
||||||
e_thumb_icon_begin(o);
|
|
||||||
evas_object_show(o);
|
|
||||||
e_widget_sub_object_add(dw, o);
|
|
||||||
|
|
||||||
e_widget_table_object_append(wd->table, dw, x, y, 1, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(wd->table, dw, x, y, 1, 1, 1, 1, 1, 1);
|
||||||
wd->desks = evas_list_append(wd->desks, dw);
|
wd->desks = evas_list_append(wd->desks, dw);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wd->cur_x = wd->desk_count_x;
|
||||||
|
wd->cur_y = wd->desk_count_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
|
@ -167,6 +207,7 @@ e_widget_desk_preview_add(Evas *evas, int nx, int ny)
|
||||||
Evas_Object *obj, *o;
|
Evas_Object *obj, *o;
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
Evas_Coord iw, ih;
|
Evas_Coord iw, ih;
|
||||||
|
E_Zone *zone;
|
||||||
|
|
||||||
obj = e_widget_add(evas);
|
obj = e_widget_add(evas);
|
||||||
wd = calloc(1, sizeof(E_Widget_Data));
|
wd = calloc(1, sizeof(E_Widget_Data));
|
||||||
|
@ -175,6 +216,19 @@ e_widget_desk_preview_add(Evas *evas, int nx, int ny)
|
||||||
e_widget_data_set(obj, wd);
|
e_widget_data_set(obj, wd);
|
||||||
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
||||||
|
|
||||||
|
zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
|
||||||
|
o = e_widget_aspect_add(evas, zone->w * nx, zone->h * ny);
|
||||||
|
e_widget_resize_object_set(wd->obj, o);
|
||||||
|
e_widget_sub_object_add(wd->obj, o);
|
||||||
|
evas_object_show(o);
|
||||||
|
wd->aspect = o;
|
||||||
|
|
||||||
|
o = e_widget_table_add(evas, 1);
|
||||||
|
e_widget_sub_object_add(wd->obj, o);
|
||||||
|
evas_object_show(o);
|
||||||
|
e_widget_aspect_child_set(wd->aspect, o);
|
||||||
|
wd->table = o;
|
||||||
|
|
||||||
e_widget_desk_preview_num_desks_set(obj, nx, ny);
|
e_widget_desk_preview_num_desks_set(obj, nx, ny);
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
|
|
|
@ -81,6 +81,13 @@ e_widget_table_object_repack(Evas_Object *obj, Evas_Object *sobj, int col, int r
|
||||||
e_widget_min_size_set(obj, mw, mh);
|
e_widget_min_size_set(obj, mw, mh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
e_widget_table_unpack(Evas_Object *obj, Evas_Object *sobj)
|
||||||
|
{
|
||||||
|
e_widget_sub_object_del(obj, sobj);
|
||||||
|
e_table_unpack(sobj);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_e_wid_del_hook(Evas_Object *obj)
|
_e_wid_del_hook(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
EAPI Evas_Object *e_widget_table_add(Evas *evas, int homogenous);
|
EAPI Evas_Object *e_widget_table_add(Evas *evas, int homogenous);
|
||||||
EAPI void e_widget_table_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h);
|
EAPI void e_widget_table_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h);
|
||||||
EAPI void e_widget_table_object_repack(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h);
|
EAPI void e_widget_table_object_repack(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h);
|
||||||
|
EAPI void e_widget_table_unpack(Evas_Object *obj, Evas_Object *sobj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue