forked from enlightenment/enlightenment
Add type checking for the various E objects.
SVN revision: 13053
This commit is contained in:
parent
b904a0bb2c
commit
b6c300dd69
|
@ -94,7 +94,7 @@ e_app_new(char *path, int scan_subdirs)
|
|||
e_object_ref(E_OBJECT(a));
|
||||
return a;
|
||||
}
|
||||
a = E_OBJECT_ALLOC(E_App, _e_app_free);
|
||||
a = E_OBJECT_ALLOC(E_App, E_APP_TYPE, _e_app_free);
|
||||
a->mod_time = e_file_mod_time(path);
|
||||
if (e_file_is_dir(path))
|
||||
{
|
||||
|
@ -164,6 +164,7 @@ e_app_subdir_scan(E_App *a, int scan_subdirs)
|
|||
char buf[4096];
|
||||
|
||||
E_OBJECT_CHECK(a);
|
||||
E_OBJECT_TYPE_CHECK(a, E_APP_TYPE);
|
||||
if (a->exe) return;
|
||||
if (a->scanned)
|
||||
{
|
||||
|
@ -213,6 +214,7 @@ e_app_exec(E_App *a)
|
|||
Ecore_Exe *exe;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(a, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(a, E_APP_TYPE, 0);
|
||||
if (!a->exe) return 0;
|
||||
exe = ecore_exe_run(a->exe, a);
|
||||
if (!exe) return 0;
|
||||
|
@ -226,6 +228,7 @@ int
|
|||
e_app_starting_get(E_App *a)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(a, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(a, E_APP_TYPE, 0);
|
||||
return a->starting;
|
||||
}
|
||||
|
||||
|
@ -233,6 +236,7 @@ int
|
|||
e_app_running_get(E_App *a)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(a, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(a, E_APP_TYPE, 0);
|
||||
if (a->instances) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ typedef struct _E_App E_App;
|
|||
#ifndef E_APPS_H
|
||||
#define E_APPS_H
|
||||
|
||||
#define E_APP_TYPE 0xE0b01001
|
||||
|
||||
struct _E_App
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -156,7 +156,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
|
|||
unsigned int managed, desk[2];
|
||||
int deskx, desky;
|
||||
|
||||
bd = E_OBJECT_ALLOC(E_Border, _e_border_free);
|
||||
bd = E_OBJECT_ALLOC(E_Border, E_BORDER_TYPE, _e_border_free);
|
||||
if (!bd) return NULL;
|
||||
e_object_del_func_set(E_OBJECT(bd), E_OBJECT_CLEANUP_FUNC(_e_border_del));
|
||||
|
||||
|
@ -297,7 +297,9 @@ e_border_desk_set(E_Border *bd, E_Desk *desk)
|
|||
unsigned int deskpos[2];
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
E_OBJECT_CHECK(desk);
|
||||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||
if (bd->desk == desk) return;
|
||||
bd->desk->clients = evas_list_remove(bd->desk->clients, bd);
|
||||
desk->clients = evas_list_append(desk->clients, bd);
|
||||
|
@ -325,6 +327,7 @@ e_border_show(E_Border *bd)
|
|||
unsigned int visible;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->visible) return;
|
||||
e_container_shape_show(bd->shape);
|
||||
ecore_x_window_show(bd->client.win);
|
||||
|
@ -351,6 +354,7 @@ e_border_hide(E_Border *bd)
|
|||
unsigned int visible;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (!bd->visible) return;
|
||||
|
||||
ecore_x_window_hide(bd->client.win);
|
||||
|
@ -382,6 +386,7 @@ e_border_move(E_Border *bd, int x, int y)
|
|||
E_Event_Border_Move *ev;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->new_client)
|
||||
{
|
||||
E_Border_Pending_Move_Resize *pnd;
|
||||
|
@ -417,6 +422,7 @@ e_border_resize(E_Border *bd, int w, int h)
|
|||
{
|
||||
E_Event_Border_Resize *ev;
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->new_client)
|
||||
{
|
||||
E_Border_Pending_Move_Resize *pnd;
|
||||
|
@ -456,6 +462,7 @@ e_border_move_resize(E_Border *bd, int x, int y, int w, int h)
|
|||
E_Event_Border_Resize *rev;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->new_client)
|
||||
{
|
||||
E_Border_Pending_Move_Resize *pnd;
|
||||
|
@ -508,6 +515,7 @@ e_border_raise(E_Border *bd)
|
|||
Ecore_X_Window mwin;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
||||
bd->container->clients = evas_list_append(bd->container->clients, bd);
|
||||
mwin = e_menu_grab_window_get();
|
||||
|
@ -525,6 +533,7 @@ void
|
|||
e_border_lower(E_Border *bd)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
||||
bd->container->clients = evas_list_prepend(bd->container->clients, bd);
|
||||
ecore_x_window_lower(bd->win);
|
||||
|
@ -534,6 +543,7 @@ void
|
|||
e_border_stack_above(E_Border *bd, E_Border *above)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
||||
bd->container->clients = evas_list_append_relative(bd->container->clients, bd, above);
|
||||
ecore_x_window_configure(bd->win,
|
||||
|
@ -547,6 +557,7 @@ void
|
|||
e_border_stack_below(E_Border *bd, E_Border *below)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->container->clients = evas_list_remove(bd->container->clients, bd);
|
||||
bd->container->clients = evas_list_prepend_relative(bd->container->clients, bd, below);
|
||||
ecore_x_window_configure(bd->win,
|
||||
|
@ -560,6 +571,7 @@ void
|
|||
e_border_focus_set(E_Border *bd, int focus, int set)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (!bd->client.icccm.accepts_focus) return;
|
||||
if ((focus) && (!bd->focused))
|
||||
edje_object_signal_emit(bd->bg_object, "active", "");
|
||||
|
@ -607,6 +619,7 @@ e_border_shade(E_Border *bd, E_Direction dir)
|
|||
E_Event_Border_Resize *ev;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->maximized) return;
|
||||
if (!bd->shaded)
|
||||
{
|
||||
|
@ -679,6 +692,7 @@ e_border_unshade(E_Border *bd, E_Direction dir)
|
|||
E_Event_Border_Resize *ev;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if (bd->maximized) return;
|
||||
if (bd->shaded)
|
||||
{
|
||||
|
@ -757,6 +771,7 @@ void
|
|||
e_border_maximize(E_Border *bd)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
|
||||
if ((bd->shaded) || (bd->shading)) return;
|
||||
if (!bd->maximized)
|
||||
|
@ -783,6 +798,7 @@ void
|
|||
e_border_unmaximize(E_Border *bd)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if ((bd->shaded) || (bd->shading)) return;
|
||||
if (bd->maximized)
|
||||
{
|
||||
|
@ -803,6 +819,7 @@ e_border_iconify(E_Border *bd)
|
|||
{
|
||||
unsigned int iconic;
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if ((bd->shading)) return;
|
||||
if (!bd->iconic)
|
||||
{
|
||||
|
@ -822,6 +839,7 @@ e_border_uniconify(E_Border *bd)
|
|||
unsigned int iconic;
|
||||
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
if ((bd->shading)) return;
|
||||
if (bd->iconic)
|
||||
{
|
||||
|
@ -841,16 +859,18 @@ e_border_uniconify(E_Border *bd)
|
|||
void
|
||||
e_border_stick(E_Border *bd)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
bd->sticky = 1;
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->sticky = 1;
|
||||
}
|
||||
|
||||
void
|
||||
e_border_unstick(E_Border *bd)
|
||||
{
|
||||
E_OBJECT_CHECK(bd);
|
||||
bd->sticky = 0;
|
||||
bd->desk = e_desk_current_get(bd->zone);
|
||||
E_OBJECT_CHECK(bd);
|
||||
E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE);
|
||||
bd->sticky = 0;
|
||||
bd->desk = e_desk_current_get(bd->zone);
|
||||
}
|
||||
|
||||
E_Border *
|
||||
|
|
|
@ -30,6 +30,8 @@ typedef struct _E_Event_Border_Desk_Set E_Event_Border_Desk_Set;
|
|||
#ifndef E_BORDER_H
|
||||
#define E_BORDER_H
|
||||
|
||||
#define E_BORDER_TYPE 0xE0b01002
|
||||
|
||||
struct _E_Border
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -89,17 +89,25 @@ e_config_init(void)
|
|||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em = E_NEW(E_Config_Module, 1);
|
||||
em->name = strdup("battery");
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em->name = strdup("snow");
|
||||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em = E_NEW(E_Config_Module, 1);
|
||||
em->name = strdup("flame");
|
||||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em = E_NEW(E_Config_Module, 1);
|
||||
em->name = strdup("battery");
|
||||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em = E_NEW(E_Config_Module, 1);
|
||||
em->name = strdup("temperature");
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em = E_NEW(E_Config_Module, 1);
|
||||
em->name = strdup("pager");
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
em->enabled = 1;
|
||||
e_config->modules = evas_list_append(e_config->modules, em);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ e_container_new(E_Manager *man)
|
|||
char name[40];
|
||||
int i, n;
|
||||
|
||||
con = E_OBJECT_ALLOC(E_Container, _e_container_free);
|
||||
con = E_OBJECT_ALLOC(E_Container, E_CONTAINER_TYPE, _e_container_free);
|
||||
if (!con) return NULL;
|
||||
con->manager = man;
|
||||
con->manager->containers = evas_list_append(con->manager->containers, con);
|
||||
|
@ -106,6 +106,7 @@ e_container_show(E_Container *con)
|
|||
{
|
||||
printf("Container show!\n");
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
if (con->visible) return;
|
||||
ecore_x_window_show(con->win);
|
||||
con->visible = 1;
|
||||
|
@ -115,6 +116,7 @@ void
|
|||
e_container_hide(E_Container *con)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
if (!con->visible) return;
|
||||
ecore_x_window_hide(con->win);
|
||||
con->visible = 0;
|
||||
|
@ -125,6 +127,7 @@ e_container_current_get(E_Manager *man)
|
|||
{
|
||||
Evas_List *l;
|
||||
E_OBJECT_CHECK_RETURN(man, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(man, E_MANAGER_TYPE, NULL);
|
||||
|
||||
for (l = man->containers; l; l = l->next)
|
||||
{
|
||||
|
@ -139,6 +142,7 @@ void
|
|||
e_container_move(E_Container *con, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
if ((x == con->x) && (y == con->y)) return;
|
||||
con->x = x;
|
||||
con->y = y;
|
||||
|
@ -150,6 +154,7 @@ void
|
|||
e_container_resize(E_Container *con, int w, int h)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
if ((w == con->w) && (h == con->h)) return;
|
||||
con->w = w;
|
||||
con->h = h;
|
||||
|
@ -162,6 +167,7 @@ void
|
|||
e_container_move_resize(E_Container *con, int x, int y, int w, int h)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
if ((x == con->x) && (y == con->y) && (w == con->w) && (h == con->h)) return;
|
||||
con->x = x;
|
||||
con->y = y;
|
||||
|
@ -177,6 +183,7 @@ void
|
|||
e_container_raise(E_Container *con)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
ecore_x_window_raise(con->win);
|
||||
}
|
||||
|
||||
|
@ -184,6 +191,7 @@ void
|
|||
e_container_lower(E_Container *con)
|
||||
{
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
ecore_x_window_lower(con->win);
|
||||
}
|
||||
|
||||
|
@ -191,6 +199,7 @@ Evas_List *
|
|||
e_container_clients_list_get(E_Container *con)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
return con->clients;
|
||||
}
|
||||
|
||||
|
@ -200,6 +209,7 @@ e_container_zone_at_point_get(E_Container *con, int x, int y)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
for (l = con->zones; l; l = l->next)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
@ -218,6 +228,7 @@ e_container_zone_number_get(E_Container *con, int num)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
for (l = con->zones; l; l = l->next)
|
||||
{
|
||||
E_Zone *zone;
|
||||
|
@ -235,8 +246,9 @@ e_container_shape_add(E_Container *con)
|
|||
E_Container_Shape *es;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, 0);
|
||||
|
||||
es = E_OBJECT_ALLOC(E_Container_Shape, _e_container_shape_free);
|
||||
es = E_OBJECT_ALLOC(E_Container_Shape, E_CONTAINER_SHAPE_TYPE, _e_container_shape_free);
|
||||
E_OBJECT_DEL_SET(es, _e_container_shape_del);
|
||||
es->con = con;
|
||||
con->shapes = evas_list_append(con->shapes, es);
|
||||
|
@ -248,6 +260,7 @@ void
|
|||
e_container_shape_show(E_Container_Shape *es)
|
||||
{
|
||||
E_OBJECT_CHECK(es);
|
||||
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
|
||||
if (es->visible) return;
|
||||
es->visible = 1;
|
||||
_e_container_shape_change_call(es, E_CONTAINER_SHAPE_SHOW);
|
||||
|
@ -257,6 +270,7 @@ void
|
|||
e_container_shape_hide(E_Container_Shape *es)
|
||||
{
|
||||
E_OBJECT_CHECK(es);
|
||||
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
|
||||
if (!es->visible) return;
|
||||
es->visible = 0;
|
||||
_e_container_shape_change_call(es, E_CONTAINER_SHAPE_HIDE);
|
||||
|
@ -266,6 +280,7 @@ void
|
|||
e_container_shape_move(E_Container_Shape *es, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK(es);
|
||||
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
|
||||
if ((es->x == x) && (es->y == y)) return;
|
||||
es->x = x;
|
||||
es->y = y;
|
||||
|
@ -276,6 +291,7 @@ void
|
|||
e_container_shape_resize(E_Container_Shape *es, int w, int h)
|
||||
{
|
||||
E_OBJECT_CHECK(es);
|
||||
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
|
||||
if (w < 1) w = 1;
|
||||
if (h < 1) h = 1;
|
||||
if ((es->w == w) && (es->h == h)) return;
|
||||
|
@ -288,6 +304,7 @@ Evas_List *
|
|||
e_container_shape_list_get(E_Container *con)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
return con->shapes;
|
||||
}
|
||||
|
||||
|
@ -295,6 +312,7 @@ void
|
|||
e_container_shape_geometry_get(E_Container_Shape *es, int *x, int *y, int *w, int *h)
|
||||
{
|
||||
E_OBJECT_CHECK(es);
|
||||
E_OBJECT_TYPE_CHECK(es, E_CONTAINER_SHAPE_TYPE);
|
||||
if (x) *x = es->x;
|
||||
if (y) *y = es->y;
|
||||
if (w) *w = es->w;
|
||||
|
@ -305,6 +323,7 @@ E_Container *
|
|||
e_container_shape_container_get(E_Container_Shape *es)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(es, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(es, E_CONTAINER_SHAPE_TYPE, NULL);
|
||||
return es->con;
|
||||
}
|
||||
|
||||
|
@ -314,6 +333,7 @@ e_container_shape_change_callback_add(E_Container *con, void (*func) (void *data
|
|||
E_Container_Shape_Callback *cb;
|
||||
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
cb = calloc(1, sizeof(E_Container_Shape_Callback));
|
||||
if (!cb) return;
|
||||
cb->func = func;
|
||||
|
@ -328,6 +348,7 @@ e_container_shape_change_callback_del(E_Container *con, void (*func) (void *data
|
|||
|
||||
/* FIXME: if we call this from within a callback we are in trouble */
|
||||
E_OBJECT_CHECK(con);
|
||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
for (l = con->shape_change_cb; l; l = l->next)
|
||||
{
|
||||
E_Container_Shape_Callback *cb;
|
||||
|
@ -346,6 +367,7 @@ Evas_List *
|
|||
e_container_shape_rects_get(E_Container_Shape *es)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(es, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(es, E_CONTAINER_SHAPE_TYPE, NULL);
|
||||
return es->shape;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,9 @@ typedef struct _E_Event_Container_Resize E_Event_Container_Resize;
|
|||
#ifndef E_CONTAINER_H
|
||||
#define E_CONTAINER_H
|
||||
|
||||
#define E_CONTAINER_TYPE 0xE0b01003
|
||||
#define E_CONTAINER_SHAPE_TYPE 0xE0b01004
|
||||
|
||||
struct _E_Container
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -31,8 +31,9 @@ e_desk_new(E_Zone *zone, int x, int y)
|
|||
char name[40];
|
||||
|
||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
|
||||
|
||||
desk = E_OBJECT_ALLOC(E_Desk, _e_desk_free);
|
||||
desk = E_OBJECT_ALLOC(E_Desk, E_DESK_TYPE, _e_desk_free);
|
||||
if (!desk) return NULL;
|
||||
|
||||
desk->clients = NULL;
|
||||
|
@ -47,6 +48,7 @@ void
|
|||
e_desk_name_set(E_Desk *desk, const char *name)
|
||||
{
|
||||
E_OBJECT_CHECK(desk);
|
||||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||
if (desk->name)
|
||||
free(desk->name);
|
||||
desk->name = strdup(name);
|
||||
|
@ -59,6 +61,7 @@ e_desk_show(E_Desk *desk)
|
|||
int x, y;
|
||||
|
||||
E_OBJECT_CHECK(desk);
|
||||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||
if (desk->visible) return;
|
||||
|
||||
for (l = desk->zone->container->clients; l; l = l->next)
|
||||
|
@ -123,6 +126,7 @@ E_Desk *
|
|||
e_desk_current_get(E_Zone *zone)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
|
||||
|
||||
return e_desk_at_xy_get(zone, zone->desk_x_current, zone->desk_y_current);
|
||||
}
|
||||
|
@ -131,6 +135,7 @@ E_Desk *
|
|||
e_desk_at_xy_get(E_Zone *zone, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
|
||||
|
||||
if (x >= zone->desk_x_count || y >= zone->desk_y_count)
|
||||
return NULL;
|
||||
|
@ -143,8 +148,8 @@ e_desk_xy_get(E_Desk *desk, int *x, int *y)
|
|||
{
|
||||
int xx, yy;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_CHECK(desk);
|
||||
E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
|
||||
|
||||
for (xx = 0; xx < desk->zone->desk_x_count; xx++)
|
||||
{
|
||||
|
@ -171,6 +176,7 @@ e_desk_next(E_Zone *zone)
|
|||
int x, y;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if (zone->desk_x_count < 2 && zone->desk_y_count < 2)
|
||||
return;
|
||||
|
@ -198,6 +204,7 @@ e_desk_prev(E_Zone *zone)
|
|||
int x, y;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if (zone->desk_x_count < 2 && zone->desk_y_count < 2)
|
||||
return;
|
||||
|
|
|
@ -6,6 +6,8 @@ typedef struct _E_Desk E_Desk;
|
|||
#ifndef E_DESK_H
|
||||
#define E_DESK_H
|
||||
|
||||
#define E_DESK_TYPE 0xE0b01005
|
||||
|
||||
struct _E_Desk
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -102,7 +102,7 @@ e_gadman_new(E_Container *con)
|
|||
{
|
||||
E_Gadman *gm;
|
||||
|
||||
gm = E_OBJECT_ALLOC(E_Gadman, _e_gadman_free);
|
||||
gm = E_OBJECT_ALLOC(E_Gadman, E_GADMAN_TYPE, _e_gadman_free);
|
||||
if (!gm) return NULL;
|
||||
gm->container = con;
|
||||
return gm;
|
||||
|
@ -114,6 +114,7 @@ e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(gm);
|
||||
E_OBJECT_TYPE_CHECK(gm, E_GADMAN_TYPE);
|
||||
if (gm->mode == mode) return;
|
||||
gm->mode = mode;
|
||||
if (gm->mode == E_GADMAN_MODE_EDIT)
|
||||
|
@ -132,6 +133,7 @@ E_Gadman_Mode
|
|||
e_gadman_mode_get(E_Gadman *gm)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(gm, E_GADMAN_MODE_NORMAL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(gm, E_GADMAN_TYPE, E_GADMAN_MODE_NORMAL);
|
||||
return gm->mode;
|
||||
}
|
||||
|
||||
|
@ -170,8 +172,9 @@ e_gadman_client_new(E_Gadman *gm)
|
|||
{
|
||||
E_Gadman_Client *gmc;
|
||||
E_OBJECT_CHECK_RETURN(gm, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(gm, E_GADMAN_TYPE, NULL);
|
||||
|
||||
gmc = E_OBJECT_ALLOC(E_Gadman_Client, _e_gadman_client_free);
|
||||
gmc = E_OBJECT_ALLOC(E_Gadman_Client, E_GADMAN_CLIENT_TYPE, _e_gadman_client_free);
|
||||
if (!gmc) return NULL;
|
||||
gmc->gadman = gm;
|
||||
gmc->policy = E_GADMAN_POLICY_ANYWHERE | E_GADMAN_POLICY_HSIZE | E_GADMAN_POLICY_VSIZE | E_GADMAN_POLICY_HMOVE | E_GADMAN_POLICY_VMOVE;
|
||||
|
@ -196,6 +199,7 @@ e_gadman_client_save(E_Gadman_Client *gmc)
|
|||
char buf[1024];
|
||||
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
/* save all values */
|
||||
cf.ax = gmc->ax;
|
||||
cf.ay = gmc->ay;
|
||||
|
@ -213,6 +217,7 @@ void
|
|||
e_client_gadman_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->edge = edge;
|
||||
}
|
||||
|
||||
|
@ -223,6 +228,7 @@ e_gadman_client_load(E_Gadman_Client *gmc)
|
|||
char buf[1024];
|
||||
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
snprintf(buf, sizeof(buf), "gadman.%s.%i", gmc->domain, gmc->instance);
|
||||
cf = e_config_domain_load(buf, gadman_config_edd);
|
||||
if (cf)
|
||||
|
@ -274,6 +280,7 @@ void
|
|||
e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if (gmc->domain) free(gmc->domain);
|
||||
gmc->domain = strdup(domain);
|
||||
gmc->instance = instance;
|
||||
|
@ -283,6 +290,7 @@ void
|
|||
e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if (zone == gmc->zone) return;
|
||||
gmc->zone = zone;
|
||||
gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax);
|
||||
|
@ -299,6 +307,7 @@ void
|
|||
e_gadman_client_policy_set(E_Gadman_Client *gmc, E_Gadman_Policy pol)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->policy = pol;
|
||||
}
|
||||
|
||||
|
@ -306,6 +315,7 @@ void
|
|||
e_gadman_client_min_size_set(E_Gadman_Client *gmc, Evas_Coord minw, Evas_Coord minh)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if ((gmc->minw == minw) && (gmc->minh == minh)) return;
|
||||
gmc->minw = minw;
|
||||
gmc->minh = minh;
|
||||
|
@ -326,6 +336,7 @@ void
|
|||
e_gadman_client_max_size_set(E_Gadman_Client *gmc, Evas_Coord maxw, Evas_Coord maxh)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if ((gmc->maxw == maxw) && (gmc->maxh == maxh)) return;
|
||||
gmc->maxw = maxw;
|
||||
gmc->maxh = maxh;
|
||||
|
@ -346,6 +357,7 @@ void
|
|||
e_gadman_client_align_set(E_Gadman_Client *gmc, double xalign, double yalign)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if ((gmc->ax == xalign) && (gmc->ay == yalign)) return;
|
||||
gmc->ax = xalign;
|
||||
gmc->ay = yalign;
|
||||
|
@ -358,6 +370,7 @@ void
|
|||
e_gadman_client_aspect_set(E_Gadman_Client *gmc, double mina, double maxa)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->mina = mina;
|
||||
gmc->maxa = maxa;
|
||||
}
|
||||
|
@ -366,6 +379,7 @@ void
|
|||
e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord autoh)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->autow = autow;
|
||||
gmc->autoh = autoh;
|
||||
if (gmc->use_autow)
|
||||
|
@ -385,6 +399,7 @@ void
|
|||
e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->edge = edge;
|
||||
}
|
||||
|
||||
|
@ -392,6 +407,7 @@ E_Gadman_Edge
|
|||
e_gadman_client_edge_get(E_Gadman_Client *gmc)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(gmc, E_GADMAN_EDGE_TOP);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(gmc, E_GADMAN_CLIENT_TYPE, E_GADMAN_EDGE_TOP);
|
||||
return gmc->edge;
|
||||
}
|
||||
|
||||
|
@ -399,6 +415,7 @@ void
|
|||
e_gadman_client_geometry_get(E_Gadman_Client *gmc, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if (x) *x = gmc->x;
|
||||
if (y) *y = gmc->y;
|
||||
if (w) *w = gmc->w;
|
||||
|
@ -409,6 +426,7 @@ void
|
|||
e_gadman_client_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
if ((gmc->w == w) && (gmc->h == h)) return;
|
||||
gmc->w = w;
|
||||
if (gmc->w > gmc->zone->w) gmc->w = gmc->zone->w;
|
||||
|
@ -423,6 +441,7 @@ void
|
|||
e_gadman_client_change_func_set(E_Gadman_Client *gmc, void (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change), void *data)
|
||||
{
|
||||
E_OBJECT_CHECK(gmc);
|
||||
E_OBJECT_TYPE_CHECK(gmc, E_GADMAN_CLIENT_TYPE);
|
||||
gmc->func = func;
|
||||
gmc->data = data;
|
||||
}
|
||||
|
@ -434,6 +453,7 @@ e_gadman_client_menu_new(E_Gadman_Client *gmc)
|
|||
E_Menu_Item *mi;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(gmc, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(gmc, E_GADMAN_CLIENT_TYPE, NULL);
|
||||
m = e_menu_new();
|
||||
|
||||
gmc->menu = m;
|
||||
|
|
|
@ -42,6 +42,9 @@ typedef struct _E_Gadman_Client E_Gadman_Client;
|
|||
#ifndef E_GADMAN_H
|
||||
#define E_GADMAN_H
|
||||
|
||||
#define E_GADMAN_TYPE 0xE0b01006
|
||||
#define E_GADMAN_CLIENT_TYPE 0xE0b01007
|
||||
|
||||
struct _E_Gadman
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -54,7 +54,7 @@ e_manager_new(Ecore_X_Window root)
|
|||
Ecore_Event_Handler *h;
|
||||
|
||||
if (!ecore_x_window_manage(root)) return NULL;
|
||||
man = E_OBJECT_ALLOC(E_Manager, _e_manager_free);
|
||||
man = E_OBJECT_ALLOC(E_Manager, E_MANAGER_TYPE, _e_manager_free);
|
||||
if (!man) return NULL;
|
||||
managers = evas_list_append(managers, man);
|
||||
man->root = root;
|
||||
|
@ -72,6 +72,7 @@ void
|
|||
e_manager_show(E_Manager *man)
|
||||
{
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
if (man->visible) return;
|
||||
ecore_x_window_show(man->win);
|
||||
ecore_x_window_focus(man->win);
|
||||
|
@ -83,6 +84,7 @@ void
|
|||
e_manager_hide(E_Manager *man)
|
||||
{
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
if (!man->visible) return;
|
||||
ecore_x_window_hide(man->win);
|
||||
man->visible = 0;
|
||||
|
@ -92,6 +94,7 @@ void
|
|||
e_manager_move(E_Manager *man, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
if ((x == man->x) && (y == man->y)) return;
|
||||
man->x = x;
|
||||
man->y = y;
|
||||
|
@ -104,6 +107,7 @@ e_manager_resize(E_Manager *man, int w, int h)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
if ((w == man->w) && (h == man->h)) return;
|
||||
man->w = w;
|
||||
man->h = h;
|
||||
|
@ -124,6 +128,7 @@ e_manager_move_resize(E_Manager *man, int x, int y, int w, int h)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
if ((x == man->x) && (y == man->y) && (w == man->w) && (h == man->h)) return;
|
||||
man->x = x;
|
||||
man->y = y;
|
||||
|
@ -144,6 +149,7 @@ void
|
|||
e_manager_raise(E_Manager *man)
|
||||
{
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
ecore_x_window_raise(man->win);
|
||||
e_init_show();
|
||||
}
|
||||
|
@ -152,6 +158,7 @@ void
|
|||
e_manager_lower(E_Manager *man)
|
||||
{
|
||||
E_OBJECT_CHECK(man);
|
||||
E_OBJECT_TYPE_CHECK(man, E_MANAGER_TYPE);
|
||||
ecore_x_window_lower(man->win);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@ typedef struct _E_Manager E_Manager;
|
|||
#ifndef E_MANAGER_H
|
||||
#define E_MANAGER_H
|
||||
|
||||
#define E_MANAGER_TYPE 0xE0b01008
|
||||
|
||||
struct _E_Manager
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -123,7 +123,7 @@ e_menu_new(void)
|
|||
{
|
||||
E_Menu *m;
|
||||
|
||||
m = E_OBJECT_ALLOC(E_Menu, _e_menu_free);
|
||||
m = E_OBJECT_ALLOC(E_Menu, E_MENU_TYPE, _e_menu_free);
|
||||
if (!m) return NULL;
|
||||
m->cur.w = 1;
|
||||
m->cur.h = 1;
|
||||
|
@ -134,7 +134,9 @@ void
|
|||
e_menu_activate_key(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
_e_menu_activate_time = 0.0;
|
||||
_e_menu_activate_internal(m, zone);
|
||||
m->cur.x = 200;
|
||||
|
@ -148,7 +150,9 @@ e_menu_activate_mouse(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int d
|
|||
E_Menu_Item *pmi;
|
||||
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
_e_menu_activate_time = ecore_time_get();
|
||||
_e_menu_activate_internal(m, zone);
|
||||
m->cur.x = x;
|
||||
|
@ -164,7 +168,9 @@ e_menu_activate(E_Menu *m, E_Zone *zone, int x, int y, int w, int h, int dir)
|
|||
E_Menu_Item *pmi;
|
||||
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
_e_menu_activate_time = 0.0;
|
||||
_e_menu_activate_internal(m, zone);
|
||||
m->cur.x = x;
|
||||
|
@ -177,6 +183,7 @@ void
|
|||
e_menu_deactivate(E_Menu *m)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
m->cur.visible = 0;
|
||||
m->active = 0;
|
||||
if (m->post_deactivate_cb.func)
|
||||
|
@ -187,6 +194,7 @@ int
|
|||
e_menu_freeze(E_Menu *m)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MENU_TYPE, 0);
|
||||
m->frozen++;
|
||||
return m->frozen;
|
||||
}
|
||||
|
@ -195,6 +203,7 @@ int
|
|||
e_menu_thaw(E_Menu *m)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MENU_TYPE, 0);
|
||||
m->frozen--;
|
||||
if (m->frozen < 0) m->frozen = 0;
|
||||
return m->frozen;
|
||||
|
@ -204,6 +213,7 @@ void
|
|||
e_menu_title_set(E_Menu *m, char *title)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
/* FIXME: support menu titles */
|
||||
if ((m->header.title) && (title) && (!strcmp(m->header.title, title)))
|
||||
return;
|
||||
|
@ -221,6 +231,7 @@ void
|
|||
e_menu_icon_file_set(E_Menu *m, char *icon)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
/* FIXME: support menu icons */
|
||||
}
|
||||
|
||||
|
@ -228,6 +239,7 @@ void
|
|||
e_menu_pre_activate_callback_set(E_Menu *m, void (*func) (void *data, E_Menu *m), void *data)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
m->pre_activate_cb.func = func;
|
||||
m->pre_activate_cb.data = data;
|
||||
}
|
||||
|
@ -236,6 +248,7 @@ void
|
|||
e_menu_post_deactivate_callback_set(E_Menu *m, void (*func) (void *data, E_Menu *m), void *data)
|
||||
{
|
||||
E_OBJECT_CHECK(m);
|
||||
E_OBJECT_TYPE_CHECK(m, E_MENU_TYPE);
|
||||
m->post_deactivate_cb.func = func;
|
||||
m->post_deactivate_cb.data = data;
|
||||
}
|
||||
|
@ -246,6 +259,7 @@ e_menu_root_get(E_Menu *m)
|
|||
E_Menu *ret;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(m, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MENU_TYPE, NULL);
|
||||
ret = m;
|
||||
while (ret->parent_item && ret->parent_item->menu)
|
||||
{
|
||||
|
@ -261,7 +275,8 @@ e_menu_item_new(E_Menu *m)
|
|||
E_Menu_Item *mi;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(m, NULL);
|
||||
mi = E_OBJECT_ALLOC(E_Menu_Item, _e_menu_item_free);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MENU_TYPE, NULL);
|
||||
mi = E_OBJECT_ALLOC(E_Menu_Item, E_MENU_ITEM_TYPE, _e_menu_item_free);
|
||||
mi->menu = m;
|
||||
mi->menu->items = evas_list_append(mi->menu->items, mi);
|
||||
return mi;
|
||||
|
@ -271,6 +286,7 @@ E_Menu_Item *
|
|||
e_menu_item_nth(E_Menu *m, int n)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MENU_TYPE, NULL);
|
||||
return (E_Menu_Item *)evas_list_nth(m->items, n);
|
||||
}
|
||||
|
||||
|
@ -281,6 +297,7 @@ e_menu_item_num_get(E_Menu_Item *mi)
|
|||
int i;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(mi, -1);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(mi, E_MENU_TYPE, -1);
|
||||
for (i = 0, l = mi->menu->items; l; l = l->next, i++)
|
||||
{
|
||||
E_Menu_Item *mi2;
|
||||
|
@ -295,6 +312,7 @@ void
|
|||
e_menu_item_icon_file_set(E_Menu_Item *mi, char *icon)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->icon) && (icon) && (!strcmp(icon, mi->icon))) ||
|
||||
((!mi->icon) && (!icon)))
|
||||
return;
|
||||
|
@ -311,6 +329,7 @@ void
|
|||
e_menu_item_icon_edje_set(E_Menu_Item *mi, char *icon, char *key)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->icon) && (icon) && (!strcmp(icon, mi->icon))) ||
|
||||
((!mi->icon) && (!icon)) ||
|
||||
((key) && (mi->icon_key) && (!strcmp(key, mi->icon_key))))
|
||||
|
@ -329,6 +348,7 @@ void
|
|||
e_menu_item_label_set(E_Menu_Item *mi, char *label)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->label) && (label) && (!strcmp(label, mi->label))) ||
|
||||
((!mi->label) && (!label)))
|
||||
return;
|
||||
|
@ -343,6 +363,7 @@ void
|
|||
e_menu_item_submenu_set(E_Menu_Item *mi, E_Menu *sub)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (mi->submenu) e_object_unref(E_OBJECT(mi->submenu));
|
||||
e_object_ref(E_OBJECT(sub));
|
||||
mi->submenu = sub;
|
||||
|
@ -354,6 +375,7 @@ void
|
|||
e_menu_item_separator_set(E_Menu_Item *mi, int sep)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->separator) && (sep)) ||
|
||||
((!mi->separator) && (!sep))) return;
|
||||
mi->separator = sep;
|
||||
|
@ -365,6 +387,7 @@ void
|
|||
e_menu_item_check_set(E_Menu_Item *mi, int chk)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->check) && (chk)) ||
|
||||
((!mi->check) && (!chk))) return;
|
||||
mi->check = chk;
|
||||
|
@ -376,6 +399,7 @@ void
|
|||
e_menu_item_radio_set(E_Menu_Item *mi, int rad)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (((mi->radio) && (rad)) ||
|
||||
((!mi->radio) && (!rad))) return;
|
||||
mi->radio = rad;
|
||||
|
@ -387,6 +411,7 @@ void
|
|||
e_menu_item_radio_group_set(E_Menu_Item *mi, int radg)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (mi->radio_group == radg) return;
|
||||
mi->radio_group = radg;
|
||||
mi->changed = 1;
|
||||
|
@ -397,6 +422,7 @@ void
|
|||
e_menu_item_toggle_set(E_Menu_Item *mi, int tog)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (mi->separator) return;
|
||||
if (tog)
|
||||
{
|
||||
|
@ -452,6 +478,7 @@ int
|
|||
e_menu_item_toggle_get(E_Menu_Item *mi)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(mi, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(mi, E_MENU_ITEM_TYPE, 0);
|
||||
return mi->toggle;
|
||||
}
|
||||
|
||||
|
@ -459,6 +486,7 @@ void
|
|||
e_menu_item_callback_set(E_Menu_Item *mi, void (*func) (void *data, E_Menu *m, E_Menu_Item *mi), void *data)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
mi->cb.func = func;
|
||||
mi->cb.data = data;
|
||||
}
|
||||
|
@ -467,6 +495,7 @@ void
|
|||
e_menu_item_active_set(E_Menu_Item *mi, int active)
|
||||
{
|
||||
E_OBJECT_CHECK(mi);
|
||||
E_OBJECT_TYPE_CHECK(mi, E_MENU_ITEM_TYPE);
|
||||
if (mi->separator) return;
|
||||
if (active)
|
||||
{
|
||||
|
|
|
@ -15,6 +15,10 @@ typedef struct _E_Menu_Item E_Menu_Item;
|
|||
#ifndef E_MENU_H
|
||||
#define E_MENU_H
|
||||
|
||||
#define E_MENU_TYPE 0xE0b01009
|
||||
|
||||
#define E_MENU_ITEM_TYPE 0xE0b0100a
|
||||
|
||||
struct _E_Menu
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -79,7 +79,7 @@ e_module_new(char *name)
|
|||
int in_list = 0;
|
||||
|
||||
if (!name) return NULL;
|
||||
m = E_OBJECT_ALLOC(E_Module, _e_module_free);
|
||||
m = E_OBJECT_ALLOC(E_Module, E_MODULE_TYPE, _e_module_free);
|
||||
m->api = &_e_module_api;
|
||||
if (name[0] != '/')
|
||||
{
|
||||
|
@ -166,6 +166,7 @@ int
|
|||
e_module_save(E_Module *m)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MODULE_TYPE, 0);
|
||||
return m->func.save(m);
|
||||
}
|
||||
|
||||
|
@ -173,6 +174,7 @@ const char *
|
|||
e_module_dir_get(E_Module *m)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MODULE_TYPE, 0);
|
||||
return m->dir;
|
||||
}
|
||||
|
||||
|
@ -182,6 +184,7 @@ e_module_enable(E_Module *m)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MODULE_TYPE, 0);
|
||||
if (m->enabled) return 0;
|
||||
m->data = m->func.init(m);
|
||||
if (m->data) m->enabled = 1;
|
||||
|
@ -207,6 +210,7 @@ e_module_disable(E_Module *m)
|
|||
int ret;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MODULE_TYPE, 0);
|
||||
if (!m->enabled) return 0;
|
||||
ret = m->func.shutdown(m);
|
||||
m->data = NULL;
|
||||
|
@ -230,6 +234,7 @@ int
|
|||
e_module_enabled_get(E_Module *m)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(m, 0);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(m, E_MODULE_TYPE, 0);
|
||||
return m->enabled;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,8 @@ typedef struct _E_Module_Api E_Module_Api;
|
|||
#ifndef E_MODULE_H
|
||||
#define E_MODULE_H
|
||||
|
||||
#define E_MODULE_TYPE 0xE0b0100b
|
||||
|
||||
struct _E_Module
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -28,13 +28,14 @@ static sigjmp_buf _e_object_segv_buf;
|
|||
|
||||
/* externally accessible functions */
|
||||
void *
|
||||
e_object_alloc(int size, E_Object_Cleanup_Func cleanup_func)
|
||||
e_object_alloc(int size, int type, E_Object_Cleanup_Func cleanup_func)
|
||||
{
|
||||
E_Object *obj;
|
||||
|
||||
obj = calloc(1, size);
|
||||
if (!obj) return NULL;
|
||||
obj->magic = E_OBJECT_MAGIC;
|
||||
obj->type = type;
|
||||
obj->references = 1;
|
||||
obj->cleanup_func = cleanup_func;
|
||||
return obj;
|
||||
|
|
|
@ -23,21 +23,27 @@
|
|||
#define E_OBJECT_MAGIC_FREED 0xe0bf6eed
|
||||
#define E_OBJECT(x) ((E_Object *)(x))
|
||||
#define E_OBJECT_CLEANUP_FUNC(x) ((E_Object_Cleanup_Func)(x))
|
||||
#define E_OBJECT_ALLOC(x, cleanup_func) e_object_alloc(sizeof(x), E_OBJECT_CLEANUP_FUNC(cleanup_func))
|
||||
#define E_OBJECT_ALLOC(x, type, cleanup_func) e_object_alloc(sizeof(x), (type), E_OBJECT_CLEANUP_FUNC(cleanup_func))
|
||||
#define E_OBJECT_DEL_SET(x, del_func) e_object_del_func_set(E_OBJECT(x), E_OBJECT_CLEANUP_FUNC(del_func))
|
||||
|
||||
#ifdef OBJECT_PARANOIA_CHECK
|
||||
# define E_OBJECT_CHECK(x) {if (e_object_error(E_OBJECT(x))) return;}
|
||||
# define E_OBJECT_CHECK_RETURN(x, ret) {if (e_object_error(E_OBJECT(x))) return ret;}
|
||||
# define E_OBJECT_IF_NOT_TYPE(x, type) if (E_OBJECT(x)->type != (type))
|
||||
# define E_OBJECT_CHECK(x) do {if (e_object_error(E_OBJECT(x))) return;} while (0)
|
||||
# define E_OBJECT_CHECK_RETURN(x, ret) do {if (e_object_error(E_OBJECT(x))) return ret;} while (0)
|
||||
# define E_OBJECT_TYPE_CHECK(x, tp) do {if ((E_OBJECT(x)->type) != (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); return;} } while (0)
|
||||
# define E_OBJECT_TYPE_CHECK_RETURN(x, tp, ret) do {if ((E_OBJECT(x)->type) != tp) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); return ret;} } while (0)
|
||||
# define E_OBJECT_IF_NOT_TYPE(x, tp) if (E_OBJECT(x)->type != (tp))
|
||||
#else
|
||||
# ifdef OBJECT_CHECK
|
||||
# define E_OBJECT_CHECK(x) {if ((!E_OBJECT(x)) || (E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return;}
|
||||
# define E_OBJECT_CHECK_RETURN(x, ret) {if ((!E_OBJECT(x)) || (E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return ret;}
|
||||
# define E_OBJECT_CHECK(x) do {if ((!E_OBJECT(x)) || (E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return;} while (0)
|
||||
# define E_OBJECT_CHECK_RETURN(x, ret) do {if ((!E_OBJECT(x)) || (E_OBJECT(x)->magic != E_OBJECT_MAGIC)) return ret;} while (0)
|
||||
# define E_OBJECT_TYPE_CHECK(x, tp) do {if ((E_OBJECT(x)->type) != (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); return;} } while (0)
|
||||
# define E_OBJECT_TYPE_CHECK_RETURN(x, tp, ret) do {if ((E_OBJECT(x)->type) != (tp)) { fprintf(stderr, "Object type check failed in %s\n", __FUNCTION__); return ret;} } while (0)
|
||||
# define E_OBJECT_IF_NOT_TYPE(x, type) if (E_OBJECT(x)->type != (type))
|
||||
# else
|
||||
# define E_OBJECT_CHECK(x)
|
||||
# define E_OBJECT_CHECK_RETURN(x, ret)
|
||||
# define E_OBJECT_TYPE_CHECK(x, type)
|
||||
# define E_OBJECT_TYPE_CHECK_RETURN(x, type, ret)
|
||||
# define E_OBJECT_IF_NOT_TYPE(x, type)
|
||||
# endif
|
||||
#endif
|
||||
|
@ -63,7 +69,7 @@ struct _E_Object
|
|||
unsigned char deleted : 1;
|
||||
};
|
||||
|
||||
EAPI void *e_object_alloc (int size, E_Object_Cleanup_Func cleanup_func);
|
||||
EAPI void *e_object_alloc (int size, int type, E_Object_Cleanup_Func cleanup_func);
|
||||
EAPI void e_object_del (E_Object *obj);
|
||||
EAPI int e_object_del_get (E_Object *obj);
|
||||
EAPI void e_object_del_func_set (E_Object *obj, E_Object_Cleanup_Func del_func);
|
||||
|
|
|
@ -14,7 +14,7 @@ e_path_new(void)
|
|||
{
|
||||
E_Path *ep;
|
||||
|
||||
ep = E_OBJECT_ALLOC(E_Path, _e_path_free);
|
||||
ep = E_OBJECT_ALLOC(E_Path, E_PATH_TYPE, _e_path_free);
|
||||
return ep;
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ void
|
|||
e_path_path_append(E_Path *ep, const char *path)
|
||||
{
|
||||
E_OBJECT_CHECK(ep);
|
||||
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
|
||||
if (!path) return;
|
||||
if (path[0] == '~')
|
||||
{
|
||||
|
@ -53,6 +54,7 @@ void
|
|||
e_path_path_prepend(E_Path *ep, const char *path)
|
||||
{
|
||||
E_OBJECT_CHECK(ep);
|
||||
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
|
||||
if (!path) return;
|
||||
if (path[0] == '~')
|
||||
{
|
||||
|
@ -86,6 +88,7 @@ e_path_path_remove(E_Path *ep, const char *path)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(ep);
|
||||
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
|
||||
if (!path) return;
|
||||
if (path[0] == '~')
|
||||
{
|
||||
|
@ -151,6 +154,7 @@ e_path_find(E_Path *ep, const char *file)
|
|||
char *str;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(ep, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(ep, E_PATH_TYPE, NULL);
|
||||
if (!file) return NULL;
|
||||
_e_path_buf[0] = 0;
|
||||
str = evas_hash_find(ep->hash, file);
|
||||
|
@ -189,6 +193,7 @@ e_path_evas_append(E_Path *ep, Evas *evas)
|
|||
Evas_List *l;
|
||||
|
||||
E_OBJECT_CHECK(ep);
|
||||
E_OBJECT_TYPE_CHECK(ep, E_PATH_TYPE);
|
||||
if (!evas) return;
|
||||
for (l = ep->dir_list; l; l = l->next)
|
||||
{
|
||||
|
|
|
@ -6,6 +6,8 @@ typedef struct _E_Path E_Path;
|
|||
#ifndef E_PATH_H
|
||||
#define E_PATH_H
|
||||
|
||||
#define E_PATH_TYPE 0xE0b0100c
|
||||
|
||||
struct _E_Path
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
|
@ -39,7 +39,7 @@ e_zone_new(E_Container *con, int x, int y, int w, int h)
|
|||
E_Zone *zone;
|
||||
int i;
|
||||
|
||||
zone = E_OBJECT_ALLOC(E_Zone, _e_zone_free);
|
||||
zone = E_OBJECT_ALLOC(E_Zone, E_ZONE_TYPE, _e_zone_free);
|
||||
if (!zone) return NULL;
|
||||
|
||||
zone->container = con;
|
||||
|
@ -105,6 +105,7 @@ void
|
|||
e_zone_name_set(E_Zone *zone, const char *name)
|
||||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
if (zone->name)
|
||||
free(zone->name);
|
||||
zone->name = strdup(name);
|
||||
|
@ -114,6 +115,7 @@ void
|
|||
e_zone_move(E_Zone *zone, int x, int y)
|
||||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if ((x == zone->x) && (y == zone->y)) return;
|
||||
zone->x = x;
|
||||
|
@ -127,6 +129,7 @@ void
|
|||
e_zone_resize(E_Zone *zone, int w, int h)
|
||||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if ((w == zone->w) && (h == zone->h)) return;
|
||||
zone->w = w;
|
||||
|
@ -140,6 +143,7 @@ void
|
|||
e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h)
|
||||
{
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
|
||||
if ((x == zone->x) && (y == zone->y) && (w == zone->w) && (h == zone->h))
|
||||
return;
|
||||
|
@ -164,6 +168,7 @@ e_zone_current_get(E_Container *con)
|
|||
E_Border *bd;
|
||||
|
||||
E_OBJECT_CHECK_RETURN(con, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(con, E_CONTAINER_TYPE, NULL);
|
||||
bd = e_border_focused_get();
|
||||
if (bd)
|
||||
{
|
||||
|
@ -195,6 +200,7 @@ e_zone_bg_reconfigure(E_Zone *zone)
|
|||
Evas_Object *o;
|
||||
|
||||
E_OBJECT_CHECK(zone);
|
||||
E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE);
|
||||
o = zone->bg_object;
|
||||
evas_object_hide(o);
|
||||
edje_object_file_set(o,
|
||||
|
@ -207,8 +213,9 @@ e_zone_bg_reconfigure(E_Zone *zone)
|
|||
Evas_List *
|
||||
e_zone_clients_list_get(E_Zone *zone)
|
||||
{
|
||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||
return zone->clients;
|
||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||
E_OBJECT_TYPE_CHECK_RETURN(zone, E_ZONE_TYPE, NULL);
|
||||
return zone->clients;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -8,6 +8,8 @@ typedef struct _E_Event_Zone_Desk_Count_Set E_Event_Zone_Desk_Count_Set;
|
|||
#ifndef E_ZONE_H
|
||||
#define E_ZONE_H
|
||||
|
||||
#define E_ZONE_TYPE 0xE0b0100d
|
||||
|
||||
struct _E_Zone
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
|
|
Loading…
Reference in New Issue