Declare and put static methods where they belong.

SVN revision: 32840
This commit is contained in:
Sebastian Dransfeld 2007-11-23 09:32:02 +00:00
parent 9dd01a4b9f
commit 4ca1a61c07
1 changed files with 190 additions and 181 deletions

View File

@ -44,6 +44,16 @@ static void _e_gadcon_cb_dnd_move(void *data, const char *type, void *event);
static void _e_gadcon_cb_dnd_leave(void *data, const char *type, void *event);
static void _e_gadcon_cb_drop(void *data, const char *type, void *event);
static int _e_gadcon_client_class_feature_check(E_Gadcon_Client_Class *cc, const char *name, void *feature);
static void _e_gadcon_client_cb_menu_post(void *data, E_Menu *m);
static void _e_gadcon_client_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
static void _e_gadcon_client_cb_menu_style_plain(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_gadcon_client_cb_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_gadcon_client_cb_menu_autoscroll(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_gadcon_client_cb_menu_resizable(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_gadcon_client_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
static void _e_gadcon_client_cb_menu_remove(void *data, E_Menu *m, E_Menu_Item *mi);
static Evas_Object *e_gadcon_layout_add(Evas *evas);
static void e_gadcon_layout_orientation_set(Evas_Object *obj, int horizontal);
static int e_gadcon_layout_orientation_get(Evas_Object *obj);
@ -60,8 +70,6 @@ static void e_gadcon_layout_pack_aspect_set(Evas_Object *obj, int w, int h);
static void e_gadcon_layout_pack_aspect_pad_set(Evas_Object *obj, int w, int h);
static void e_gadcon_layout_unpack(Evas_Object *obj);
static int _e_gadcon_client_class_feature_check(E_Gadcon_Client_Class *cc, const char *name, void *feature);
/********************/
#define E_LAYOUT_ITEM_DRAG_RESIST_LEVEL 10
@ -1138,91 +1146,6 @@ e_gadcon_client_geometry_get(E_Gadcon_Client *gcc, int *x, int *y, int *w, int *
return 1;
}
static void
_e_gadcon_client_cb_menu_style_plain(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
E_Gadcon *gc;
gcc = data;
gc = gcc->gadcon;
if (gcc->style) evas_stringshare_del(gcc->style);
gcc->style = evas_stringshare_add(E_GADCON_CLIENT_STYLE_PLAIN);
_e_gadcon_client_save(gcc);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
}
static void
_e_gadcon_client_cb_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
E_Gadcon *gc;
gcc = data;
gc = gcc->gadcon;
if (gcc->style) evas_stringshare_del(gcc->style);
gcc->style = evas_stringshare_add(E_GADCON_CLIENT_STYLE_INSET);
_e_gadcon_client_save(gcc);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
}
static void
_e_gadcon_client_cb_menu_autoscroll(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
e_gadcon_layout_freeze(gcc->gadcon->o_container);
if (gcc->autoscroll) gcc->autoscroll = 0;
else gcc->autoscroll = 1;
e_gadcon_client_autoscroll_set(gcc, gcc->autoscroll);
_e_gadcon_client_save(gcc);
e_gadcon_layout_thaw(gcc->gadcon->o_container);
}
static void
_e_gadcon_client_cb_menu_resizable(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
e_gadcon_layout_freeze(gcc->gadcon->o_container);
if (gcc->resizable) gcc->resizable = 0;
else gcc->resizable = 1;
e_gadcon_client_resizable_set(gcc, gcc->resizable);
_e_gadcon_client_save(gcc);
e_gadcon_layout_thaw(gcc->gadcon->o_container);
}
static void
_e_gadcon_client_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
if (gcc->o_control)
e_gadcon_client_edit_end(gcc);
else
e_gadcon_client_edit_begin(gcc);
}
static void
_e_gadcon_client_cb_menu_remove(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon *gc;
E_Gadcon_Client *gcc;
gcc = data;
gc = gcc->gadcon;
e_gadcon_client_config_del(gc->cf, gcc->cf);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
e_config_save_queue();
}
EAPI void
e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int flags)
{
@ -1297,49 +1220,6 @@ e_gadcon_client_util_menu_items_append(E_Gadcon_Client *gcc, E_Menu *menu, int f
gcc->gadcon->menu_attach.func(gcc->gadcon->menu_attach.data, menu);
}
}
static void
_e_gadcon_client_cb_menu_post(void *data, E_Menu *m)
{
E_Gadcon_Client *gcc;
gcc = data;
if (!gcc->menu) return;
e_object_del(E_OBJECT(gcc->menu));
gcc->menu = NULL;
}
static void
_e_gadcon_client_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Event_Mouse_Down *ev;
E_Gadcon_Client *gcc;
ev = event_info;
gcc = data;
if (gcc->menu) return;
if (ev->button == 3)
{
E_Menu *mn;
int cx, cy, cw, ch;
mn = e_menu_new();
e_menu_post_deactivate_callback_set(mn, _e_gadcon_client_cb_menu_post,
gcc);
gcc->menu = mn;
e_gadcon_client_util_menu_items_append(gcc, mn, 0);
e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &cx, &cy, &cw, &ch);
e_menu_activate_mouse(mn,
e_util_zone_current_get(e_manager_current_get()),
cx + ev->output.x, cy + ev->output.y, 1, 1,
E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
e_util_evas_fake_mouse_up_later(gcc->gadcon->evas,
ev->button);
}
}
EAPI void
e_gadcon_client_util_menu_attach(E_Gadcon_Client *gcc)
@ -1352,6 +1232,45 @@ e_gadcon_client_util_menu_attach(E_Gadcon_Client *gcc)
evas_object_event_callback_add(gcc->o_base, EVAS_CALLBACK_MOUSE_DOWN, _e_gadcon_client_cb_mouse_down, gcc);
}
/*
* NOTE: x & y are relative to the o_box of the gadcon.
*/
EAPI void
e_gadcon_client_autoscroll_update(E_Gadcon_Client *gcc, Evas_Coord x, Evas_Coord y)
{
if (gcc->autoscroll)
{
Evas_Coord w, h;
double d;
evas_object_geometry_get(gcc->o_box, NULL, NULL, &w, &h);
if (e_box_orientation_get(gcc->o_box))
{
if (w > 1) d = (double)x / (double)(w - 1);
else d = 0;
}
else
{
if (h > 1) d = (double)y / (double)(h - 1);
else d = 0;
}
if (d < 0.0) d = 0.0;
else if (d > 1.0) d = 1.0;
if (!gcc->scroll_timer)
gcc->scroll_timer = ecore_timer_add(0.01, _e_gadcon_cb_client_scroll_timer, gcc);
if (!gcc->scroll_animator)
gcc->scroll_animator = ecore_animator_add(_e_gadcon_cb_client_scroll_animator, gcc);
gcc->scroll_wanted = d;
}
}
EAPI void
e_gadcon_client_autoscroll_cb_set(E_Gadcon_Client *gcc, void (*func)(void *data), void *data)
{
gcc->scroll_cb.func = func;
gcc->scroll_cb.data = data;
}
/* local subsystem functions */
static void
_e_gadcon_free(E_Gadcon *gc)
@ -1470,45 +1389,6 @@ _e_gadcon_cb_client_frame_mouse_move(void *data, Evas *e, Evas_Object *obj, void
e_gadcon_client_autoscroll_update(gcc, ev->cur.output.x - x, ev->cur.output.y - y);
}
/*
* NOTE: x & y are relative to the o_box of the gadcon.
*/
EAPI void
e_gadcon_client_autoscroll_update(E_Gadcon_Client *gcc, Evas_Coord x, Evas_Coord y)
{
if (gcc->autoscroll)
{
Evas_Coord w, h;
double d;
evas_object_geometry_get(gcc->o_box, NULL, NULL, &w, &h);
if (e_box_orientation_get(gcc->o_box))
{
if (w > 1) d = (double)x / (double)(w - 1);
else d = 0;
}
else
{
if (h > 1) d = (double)y / (double)(h - 1);
else d = 0;
}
if (d < 0.0) d = 0.0;
else if (d > 1.0) d = 1.0;
if (!gcc->scroll_timer)
gcc->scroll_timer = ecore_timer_add(0.01, _e_gadcon_cb_client_scroll_timer, gcc);
if (!gcc->scroll_animator)
gcc->scroll_animator = ecore_animator_add(_e_gadcon_cb_client_scroll_animator, gcc);
gcc->scroll_wanted = d;
}
}
EAPI void
e_gadcon_client_autoscroll_cb_set(E_Gadcon_Client *gcc, void (*func)(void *data), void *data)
{
gcc->scroll_cb.func = func;
gcc->scroll_cb.data = data;
}
static void
_e_gadcon_cb_client_frame_moveresize(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
@ -2258,6 +2138,147 @@ _e_gadcon_cb_drop(void *data, const char *type, void *event)
e_config_save_queue();
}
static int
_e_gadcon_client_class_feature_check(E_Gadcon_Client_Class *cc, const char *name, void *feature)
{
if (!feature)
{
e_util_dialog_show("Insufficent gadcon support",
"Module %s needs to support %s",
cc->name, name);
return 0;
}
return 1;
}
static void
_e_gadcon_client_cb_menu_post(void *data, E_Menu *m)
{
E_Gadcon_Client *gcc;
gcc = data;
if (!gcc->menu) return;
e_object_del(E_OBJECT(gcc->menu));
gcc->menu = NULL;
}
static void
_e_gadcon_client_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Evas_Event_Mouse_Down *ev;
E_Gadcon_Client *gcc;
ev = event_info;
gcc = data;
if (gcc->menu) return;
if (ev->button == 3)
{
E_Menu *mn;
int cx, cy, cw, ch;
mn = e_menu_new();
e_menu_post_deactivate_callback_set(mn, _e_gadcon_client_cb_menu_post,
gcc);
gcc->menu = mn;
e_gadcon_client_util_menu_items_append(gcc, mn, 0);
e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &cx, &cy, &cw, &ch);
e_menu_activate_mouse(mn,
e_util_zone_current_get(e_manager_current_get()),
cx + ev->output.x, cy + ev->output.y, 1, 1,
E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
e_util_evas_fake_mouse_up_later(gcc->gadcon->evas,
ev->button);
}
}
static void
_e_gadcon_client_cb_menu_style_plain(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
E_Gadcon *gc;
gcc = data;
gc = gcc->gadcon;
if (gcc->style) evas_stringshare_del(gcc->style);
gcc->style = evas_stringshare_add(E_GADCON_CLIENT_STYLE_PLAIN);
_e_gadcon_client_save(gcc);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
}
static void
_e_gadcon_client_cb_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
E_Gadcon *gc;
gcc = data;
gc = gcc->gadcon;
if (gcc->style) evas_stringshare_del(gcc->style);
gcc->style = evas_stringshare_add(E_GADCON_CLIENT_STYLE_INSET);
_e_gadcon_client_save(gcc);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
}
static void
_e_gadcon_client_cb_menu_autoscroll(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
e_gadcon_layout_freeze(gcc->gadcon->o_container);
if (gcc->autoscroll) gcc->autoscroll = 0;
else gcc->autoscroll = 1;
e_gadcon_client_autoscroll_set(gcc, gcc->autoscroll);
_e_gadcon_client_save(gcc);
e_gadcon_layout_thaw(gcc->gadcon->o_container);
}
static void
_e_gadcon_client_cb_menu_resizable(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
e_gadcon_layout_freeze(gcc->gadcon->o_container);
if (gcc->resizable) gcc->resizable = 0;
else gcc->resizable = 1;
e_gadcon_client_resizable_set(gcc, gcc->resizable);
_e_gadcon_client_save(gcc);
e_gadcon_layout_thaw(gcc->gadcon->o_container);
}
static void
_e_gadcon_client_cb_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon_Client *gcc;
gcc = data;
if (gcc->o_control)
e_gadcon_client_edit_end(gcc);
else
e_gadcon_client_edit_begin(gcc);
}
static void
_e_gadcon_client_cb_menu_remove(void *data, E_Menu *m, E_Menu_Item *mi)
{
E_Gadcon *gc;
E_Gadcon_Client *gcc;
gcc = data;
gc = gcc->gadcon;
e_gadcon_client_config_del(gc->cf, gcc->cf);
e_gadcon_unpopulate(gc);
e_gadcon_populate(gc);
e_config_save_queue();
}
/* a smart object JUST for gadcon */
typedef struct _E_Gadcon_Layout_Item E_Gadcon_Layout_Item;
@ -4826,15 +4847,3 @@ _e_gadcon_layout_smart_restore_gadcons_position_before_move(E_Smart_Data *sd, E_
}
}
static int
_e_gadcon_client_class_feature_check(E_Gadcon_Client_Class *cc, const char *name, void *feature)
{
if (!feature)
{
e_util_dialog_show("Insufficent gadcon support",
"Module %s needs to support %s",
cc->name, name);
return 0;
}
return 1;
}