forked from enlightenment/enlightenment
parent
0a8ffffa5f
commit
ada4c17fa2
|
@ -4,14 +4,12 @@
|
|||
#include "e_mod_config.h"
|
||||
#include "config.h"
|
||||
|
||||
|
||||
struct _E_Config_Dialog_Data
|
||||
{
|
||||
Evas_Object *o_avail; //List of available gadgets
|
||||
Evas_Object *o_add; //Add button
|
||||
};
|
||||
|
||||
|
||||
/* Local protos */
|
||||
static void *_create_data(E_Config_Dialog *cfd);
|
||||
static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
|
||||
|
@ -21,7 +19,6 @@ static void _fill_gadgets_list(Evas_Object *ilist);
|
|||
static void _cb_add(void *data, void *data2);
|
||||
static void _avail_list_cb_change(void *data, Evas_Object *obj);
|
||||
|
||||
|
||||
EAPI E_Config_Dialog *
|
||||
e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
||||
{
|
||||
|
@ -39,12 +36,9 @@ e_int_config_gadman_module(E_Container *con, const char *params __UNUSED__)
|
|||
v->free_cfdata = _free_data;
|
||||
v->basic.apply_cfdata = _basic_apply_data;
|
||||
v->basic.create_widgets = _basic_create_widgets;
|
||||
v->advanced.apply_cfdata = NULL;
|
||||
v->advanced.create_widgets = NULL;
|
||||
v->override_auto_apply = 0; //TODO this should remove the ok/apply buttons ... but doesnt work :(
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj",
|
||||
Man->module->dir);
|
||||
snprintf(buf, sizeof(buf), "%s/e-module-gadman.edj", Man->module->dir);
|
||||
cfd = e_config_dialog_new(con, _("Gadgets Manager"),
|
||||
"E", "_e_modules_gadman_config_dialog",
|
||||
buf, 0, v, Man);
|
||||
|
@ -58,6 +52,7 @@ static void *
|
|||
_create_data(E_Config_Dialog *cfd)
|
||||
{
|
||||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||
return cfdata;
|
||||
}
|
||||
|
@ -66,8 +61,7 @@ static void
|
|||
_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Man->config_dialog = NULL;
|
||||
free(cfdata);
|
||||
cfdata = NULL;
|
||||
E_FREE(cfdata);
|
||||
}
|
||||
|
||||
static Evas_Object *
|
||||
|
@ -105,8 +99,6 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
static void
|
||||
_fill_gadgets_list(Evas_Object *ilist)
|
||||
{
|
||||
|
@ -126,8 +118,7 @@ _fill_gadgets_list(Evas_Object *ilist)
|
|||
if (cc->func.label) lbl = cc->func.label();
|
||||
if (!lbl) lbl = cc->name;
|
||||
if (cc->func.icon) icon = cc->func.icon(Man->gc->evas);
|
||||
e_widget_ilist_append(ilist, icon, lbl, NULL,
|
||||
(void *)cc, NULL);
|
||||
e_widget_ilist_append(ilist, icon, lbl, NULL, (void *)cc, NULL);
|
||||
}
|
||||
|
||||
e_widget_ilist_go(ilist);
|
||||
|
@ -140,12 +131,12 @@ _fill_gadgets_list(Evas_Object *ilist)
|
|||
static void
|
||||
_cb_add(void *data, void *data2)
|
||||
{
|
||||
E_Config_Dialog_Data *cfdata = data;
|
||||
Evas_List *l;
|
||||
E_Config_Dialog_Data *cfdata;
|
||||
Evas_List *l = NULL;
|
||||
Evas_List *selected;
|
||||
int i;
|
||||
|
||||
if (!cfdata) return;
|
||||
if (!(cfdata = data)) return;
|
||||
|
||||
for (i = 0, l = e_widget_ilist_items_get(cfdata->o_avail); l; l = l->next, i++)
|
||||
{
|
||||
|
@ -163,14 +154,15 @@ _cb_add(void *data, void *data2)
|
|||
gcc = gadman_gadget_add(cc, 0);
|
||||
gadman_gadget_edit_start(gcc);
|
||||
}
|
||||
|
||||
if (l) evas_list_free(l);
|
||||
}
|
||||
|
||||
static void
|
||||
_avail_list_cb_change(void *data, Evas_Object *obj)
|
||||
{
|
||||
E_Config_Dialog_Data *cfdata = data;
|
||||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
if (!cfdata) return;
|
||||
if (!(cfdata = data)) return;
|
||||
e_widget_disabled_set(cfdata->o_add, 0);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,6 @@ static void on_menu_delete(void *data, E_Menu *m, E_Menu_Item *mi);
|
|||
static void on_menu_edit(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
static void on_menu_add(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||
|
||||
|
||||
E_Gadcon_Client *current;
|
||||
|
||||
/* Implementation */
|
||||
|
@ -48,6 +47,7 @@ gadman_init(E_Module *m)
|
|||
/* Create Manager */
|
||||
Man = calloc(1, sizeof(Manager));
|
||||
if (!Man) return;
|
||||
|
||||
Man->module = m;
|
||||
Man->container = e_container_current_get(e_manager_current_get());
|
||||
Man->width = Man->container->w;
|
||||
|
@ -76,12 +76,17 @@ gadman_init(E_Module *m)
|
|||
/* Start existing gadgets */
|
||||
for (l = Man->gc->cf->clients; l; l = l->next)
|
||||
{
|
||||
E_Config_Gadcon_Client *cf_gcc = l->data;
|
||||
E_Config_Gadcon_Client *cf_gcc;
|
||||
|
||||
if (!(cf_gcc = l->data)) continue;
|
||||
gadman_gadget_place(cf_gcc, 0);
|
||||
}
|
||||
|
||||
for (l = Man->gc_top->cf->clients; l; l = l->next)
|
||||
{
|
||||
E_Config_Gadcon_Client *cf_gcc = l->data;
|
||||
E_Config_Gadcon_Client *cf_gcc;
|
||||
|
||||
if(!(cf_gcc = l->data)) continue;
|
||||
gadman_gadget_place(cf_gcc, 1);
|
||||
}
|
||||
}
|
||||
|
@ -124,13 +129,13 @@ gadman_gadget_place(E_Config_Gadcon_Client *cf, int ontop)
|
|||
E_Gadcon *gc;
|
||||
E_Gadcon_Client *gcc;
|
||||
E_Gadcon_Client_Class *cc = NULL;
|
||||
Evas_List *l;
|
||||
Evas_List *l = NULL;
|
||||
|
||||
if (!cf->name) return NULL;
|
||||
|
||||
if (ontop) gc = Man->gc_top;
|
||||
else gc = Man->gc;
|
||||
|
||||
if (!cf->name) return NULL;
|
||||
|
||||
/* Find provider */
|
||||
for (l = e_gadcon_provider_list(); l; l = l->next)
|
||||
{
|
||||
|
@ -154,14 +159,14 @@ gadman_gadget_place(E_Config_Gadcon_Client *cf, int ontop)
|
|||
/* create frame */
|
||||
gcc->o_frame = edje_object_add(gc->evas);
|
||||
e_theme_edje_object_set(gcc->o_frame, "base/theme/gadman", "e/gadman/frame");
|
||||
if ((cf->style) && !strcmp(cf->style, E_GADCON_CLIENT_STYLE_INSET))
|
||||
|
||||
if ((cf->style) && (!strcmp(cf->style, E_GADCON_CLIENT_STYLE_INSET)))
|
||||
edje_object_signal_emit(gcc->o_frame, "e,state,visibility,inset", "e");
|
||||
else
|
||||
edje_object_signal_emit(gcc->o_frame, "e,state,visibility,plain", "e");
|
||||
|
||||
/* swallow the client inside the frame */
|
||||
edje_object_part_swallow(gcc->o_frame, "e.swallow.content", gcc->o_base);
|
||||
|
||||
evas_object_event_callback_add(gcc->o_frame, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
on_frame_click, gcc);
|
||||
|
||||
|
@ -182,6 +187,7 @@ gadman_gadget_add(E_Gadcon_Client_Class *cc, int ontop)
|
|||
E_Gadcon_Client *gcc;
|
||||
E_Gadcon *gc;
|
||||
char *id;
|
||||
|
||||
if (ontop)
|
||||
gc = Man->gc_top;
|
||||
else
|
||||
|
@ -204,7 +210,6 @@ gadman_gadget_add(E_Gadcon_Client_Class *cc, int ontop)
|
|||
void
|
||||
gadman_gadget_remove(E_Gadcon_Client *gcc)
|
||||
{
|
||||
|
||||
Man->gadgets = evas_list_remove(Man->gadgets, gcc);
|
||||
|
||||
edje_object_part_unswallow(gcc->o_frame, gcc->o_base);
|
||||
|
@ -219,7 +224,6 @@ gadman_gadget_remove(E_Gadcon_Client *gcc)
|
|||
void
|
||||
gadman_gadget_del(E_Gadcon_Client *gcc)
|
||||
{
|
||||
|
||||
Man->gadgets = evas_list_remove(Man->gadgets, gcc);
|
||||
|
||||
edje_object_part_unswallow(gcc->o_frame, gcc->o_base);
|
||||
|
@ -236,6 +240,8 @@ void
|
|||
gadman_gadget_edit_start(E_Gadcon_Client *gcc)
|
||||
{
|
||||
E_Gadcon *gc;
|
||||
Evas_Object *mover;
|
||||
int x, y, w, h;
|
||||
|
||||
current = gcc;
|
||||
|
||||
|
@ -243,9 +249,6 @@ gadman_gadget_edit_start(E_Gadcon_Client *gcc)
|
|||
gc->editing = 1;
|
||||
|
||||
/* Move/resize the correct mover */
|
||||
int x, y, w, h;
|
||||
Evas_Object *mover;
|
||||
|
||||
evas_object_geometry_get(gcc->o_frame, &x, &y, &w, &h);
|
||||
mover = _get_mover(gcc);
|
||||
|
||||
|
@ -267,11 +270,10 @@ gadman_gadget_edit_end(void)
|
|||
_save_widget_position(current);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gadman_gadgets_show(void)
|
||||
{
|
||||
Evas_List *l;
|
||||
Evas_List *l = NULL;
|
||||
|
||||
Man->visible = 1;
|
||||
ecore_evas_show(Man->top_ee);
|
||||
|
@ -280,17 +282,18 @@ gadman_gadgets_show(void)
|
|||
|
||||
for (l = Man->gadgets; l; l = l->next)
|
||||
{
|
||||
E_Gadcon_Client *gcc = l->data;
|
||||
E_Gadcon_Client *gcc;
|
||||
|
||||
if (!(gcc = l->data)) continue;
|
||||
if (gcc->gadcon == Man->gc_top)
|
||||
edje_object_signal_emit(gcc->o_frame, "e,state,visibility,show", "e");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gadman_gadgets_hide(void)
|
||||
{
|
||||
Evas_List *l;
|
||||
Evas_List *l = NULL;
|
||||
|
||||
Man->visible = 0;
|
||||
|
||||
|
@ -298,13 +301,14 @@ gadman_gadgets_hide(void)
|
|||
|
||||
for (l = Man->gadgets; l; l = l->next)
|
||||
{
|
||||
E_Gadcon_Client *gcc = l->data;
|
||||
E_Gadcon_Client *gcc;
|
||||
|
||||
if (!(gcc = l->data)) continue;
|
||||
if (gcc->gadcon == Man->gc_top)
|
||||
edje_object_signal_emit(gcc->o_frame, "e,state,visibility,hide", "e");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gadman_gadgets_toggle(void)
|
||||
{
|
||||
|
@ -314,13 +318,12 @@ gadman_gadgets_toggle(void)
|
|||
gadman_gadgets_show();
|
||||
}
|
||||
|
||||
|
||||
/* Internals */
|
||||
static E_Gadcon*
|
||||
_gadman_gadcon_new(const char* name, int ontop)
|
||||
{
|
||||
E_Gadcon *gc;
|
||||
Evas_List *l;
|
||||
Evas_List *l = NULL;
|
||||
|
||||
/* Create Gadcon */
|
||||
gc = E_OBJECT_ALLOC(E_Gadcon, E_GADCON_TYPE, NULL);
|
||||
|
@ -333,8 +336,8 @@ _gadman_gadcon_new(const char* name, int ontop)
|
|||
/* Create ecore fullscreen window */
|
||||
if (ontop)
|
||||
{
|
||||
Man->top_ee = e_canvas_new(e_config->evas_engine_popups,
|
||||
Man->container->win,
|
||||
Man->top_ee =
|
||||
e_canvas_new(e_config->evas_engine_popups, Man->container->win,
|
||||
0, 0, 0, 0, 1, 1, &(Man->top_win), NULL);
|
||||
|
||||
if (Man->use_composite)
|
||||
|
@ -343,12 +346,11 @@ _gadman_gadcon_new(const char* name, int ontop)
|
|||
Man->top_win = ecore_evas_software_x11_window_get(Man->top_ee);
|
||||
// Leave 1px to switch desktop when mouse is on border
|
||||
ecore_x_window_shape_rectangle_set(Man->top_win, 1, 1,
|
||||
Man->width - 2, Man->height - 2);
|
||||
(Man->width - 2),
|
||||
(Man->height - 2));
|
||||
}
|
||||
else
|
||||
{
|
||||
ecore_evas_shaped_set(Man->top_ee, 1);
|
||||
}
|
||||
|
||||
ecore_evas_avoid_damage_set(Man->top_ee, 1); //??
|
||||
e_canvas_add(Man->top_ee); //??
|
||||
|
@ -363,7 +365,8 @@ _gadman_gadcon_new(const char* name, int ontop)
|
|||
|
||||
/* create full background object */
|
||||
Man->full_bg = edje_object_add(gc->evas);
|
||||
e_theme_edje_object_set(Man->full_bg, "base/theme/gadman", "e/gadman/full_bg");
|
||||
e_theme_edje_object_set(Man->full_bg, "base/theme/gadman",
|
||||
"e/gadman/full_bg");
|
||||
edje_object_signal_callback_add(Man->full_bg, "mouse,down,*", "bg",
|
||||
on_bg_click, NULL);
|
||||
edje_object_signal_callback_add(Man->full_bg, "program,stop", "hide",
|
||||
|
@ -371,7 +374,6 @@ _gadman_gadcon_new(const char* name, int ontop)
|
|||
evas_object_move(Man->full_bg, 0, 0);
|
||||
evas_object_resize(Man->full_bg, Man->width, Man->height);
|
||||
evas_object_show(Man->full_bg);
|
||||
|
||||
}
|
||||
/* ... or use the e background window */
|
||||
else
|
||||
|
@ -398,13 +400,16 @@ _gadman_gadcon_new(const char* name, int ontop)
|
|||
gc->cf = NULL;
|
||||
for (l = e_config->gadcons; l; l=l->next)
|
||||
{
|
||||
E_Config_Gadcon *cg = l->data;
|
||||
E_Config_Gadcon *cg;
|
||||
|
||||
if (!(cg = l->data)) continue;
|
||||
if (!strcmp(cg->name, name))
|
||||
{
|
||||
gc->cf = cg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* ... or create a new one */
|
||||
if (!gc->cf)
|
||||
{
|
||||
|
@ -472,8 +477,8 @@ static void
|
|||
_save_widget_position(E_Gadcon_Client *gcc)
|
||||
{
|
||||
int x, y, w, h;
|
||||
evas_object_geometry_get(gcc->o_frame, &x, &y, &w, &h);
|
||||
|
||||
evas_object_geometry_get(gcc->o_frame, &x, &y, &w, &h);
|
||||
current->cf->geom.pos_x = (double)x / (double)Man->width;
|
||||
current->cf->geom.pos_y = (double)y / (double)Man->height;
|
||||
current->cf->geom.size_w = (double)w / (double)Man->width;;
|
||||
|
@ -497,19 +502,17 @@ _apply_widget_position(E_Gadcon_Client *gcc)
|
|||
/* Respect min sizes */
|
||||
if (h < gcc->min.h) h = gcc->min.h;
|
||||
if (w < gcc->min.w) w = gcc->min.w;
|
||||
|
||||
if (h < 1) h = 100;
|
||||
if (w < 1) w = 100;
|
||||
|
||||
/* Respect screen margin */
|
||||
if (x < 0) x = 0;
|
||||
if (y < 0) y = 0;
|
||||
|
||||
if (x > Man->width) x = 0;
|
||||
if (y > Man->height) y = 0;
|
||||
|
||||
if ((y + h) > Man->height) h = Man->height - y;
|
||||
if ((x + w) > Man->width) w = Man->width - x;
|
||||
if ((y + h) > Man->height) h = (Man->height - y);
|
||||
if ((x + w) > Man->width) w = (Man->width - x);
|
||||
|
||||
evas_object_move(gcc->o_frame, x, y);
|
||||
evas_object_resize(gcc->o_frame, w, h);
|
||||
|
@ -599,38 +602,38 @@ _attach_menu(void *data, E_Gadcon_Client *gcc, E_Menu *menu)
|
|||
static char *
|
||||
_get_bind_text(const char* action)
|
||||
{
|
||||
char b[256] = "";
|
||||
E_Binding_Key *bind;
|
||||
bind = e_bindings_key_get(action);
|
||||
char b[256] = "";
|
||||
|
||||
if (bind && bind->key)
|
||||
bind = e_bindings_key_get(action);
|
||||
if ((bind) && (bind->key))
|
||||
{
|
||||
if (bind->mod & E_BINDING_MODIFIER_CTRL)
|
||||
if ((bind->mod) & (E_BINDING_MODIFIER_CTRL))
|
||||
strcat(b, _("CTRL"));
|
||||
|
||||
if (bind->mod & E_BINDING_MODIFIER_ALT)
|
||||
if ((bind->mod) & (E_BINDING_MODIFIER_ALT))
|
||||
{
|
||||
if (b[0]) strcat(b, " + ");
|
||||
strcat(b, _("ALT"));
|
||||
}
|
||||
|
||||
if (bind->mod & E_BINDING_MODIFIER_SHIFT)
|
||||
if ((bind->mod) & (E_BINDING_MODIFIER_SHIFT))
|
||||
{
|
||||
if (b[0]) strcat(b, " + ");
|
||||
strcat(b, _("SHIFT"));
|
||||
}
|
||||
|
||||
if (bind->mod & E_BINDING_MODIFIER_WIN)
|
||||
if ((bind->mod) & (E_BINDING_MODIFIER_WIN))
|
||||
{
|
||||
if (b[0]) strcat(b, " + ");
|
||||
strcat(b, _("WIN"));
|
||||
}
|
||||
|
||||
if (bind->key && bind->key[0])
|
||||
if ((bind->key) && (bind->key[0]))
|
||||
{
|
||||
char *l;
|
||||
if (b[0]) strcat(b, " + ");
|
||||
|
||||
if (b[0]) strcat(b, " + ");
|
||||
l = strdup(bind->key);
|
||||
l[0] = (char)toupper(bind->key[0]);
|
||||
strcat(b, l);
|
||||
|
@ -651,10 +654,11 @@ _hide_finished(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
static void
|
||||
on_shape_change(void *data, E_Container_Shape *es, E_Container_Shape_Change ch)
|
||||
{
|
||||
Evas_List *l;
|
||||
E_Container *con = e_container_shape_container_get(es);
|
||||
Evas_List *l = NULL;
|
||||
E_Container *con;
|
||||
|
||||
if (con->w == Man->width && con->h == Man->height) return;
|
||||
con = e_container_shape_container_get(es);
|
||||
if ((con->w == Man->width) && (con->h == Man->height)) return;
|
||||
|
||||
/* The screen size is changed */
|
||||
Man->width = con->w;
|
||||
|
@ -665,15 +669,21 @@ on_shape_change(void *data, E_Container_Shape *es, E_Container_Shape_Change ch)
|
|||
e_gadcon_unpopulate(Man->gc_top);
|
||||
for (l = Man->gc->cf->clients; l; l = l->next)
|
||||
{
|
||||
E_Config_Gadcon_Client *cf_gcc = l->data;
|
||||
E_Config_Gadcon_Client *cf_gcc;
|
||||
|
||||
if (!(cf_gcc = l->data)) continue;
|
||||
gadman_gadget_place(cf_gcc, 0);
|
||||
}
|
||||
|
||||
for (l = Man->gc_top->cf->clients; l; l = l->next)
|
||||
{
|
||||
E_Config_Gadcon_Client *cf_gcc = l->data;
|
||||
E_Config_Gadcon_Client *cf_gcc;
|
||||
|
||||
if (!(cf_gcc = l->data)) continue;
|
||||
gadman_gadget_place(cf_gcc, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
on_menu_style_plain(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
@ -697,7 +707,7 @@ on_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
E_Gadcon_Client *gcc;
|
||||
|
||||
gcc = current;
|
||||
printf("Inset (%s)\n", gcc->name);
|
||||
// printf("Inset (%s)\n", gcc->name);
|
||||
|
||||
if (gcc->style) evas_stringshare_del(gcc->style);
|
||||
gcc->style = evas_stringshare_add(E_GADCON_CLIENT_STYLE_INSET);
|
||||
|
@ -710,8 +720,6 @@ on_menu_style_inset(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
e_config_save_queue();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
on_menu_layer_bg(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
@ -761,6 +769,7 @@ on_menu_add(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
gadman_gadgets_hide();
|
||||
e_configure_registry_call("extensions/gadman", m->zone->container, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
on_menu_delete(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||
{
|
||||
|
@ -771,14 +780,11 @@ on_menu_delete(void *data, E_Menu *m, E_Menu_Item *mi)
|
|||
static void
|
||||
on_frame_click(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
|
||||
Evas_Event_Mouse_Down *ev;
|
||||
E_Gadcon_Client *gcc;
|
||||
|
||||
ev = event_info;
|
||||
|
||||
printf("Click\n");
|
||||
|
||||
if (Man->gc->editing) gadman_gadget_edit_end();
|
||||
|
||||
gcc = data;
|
||||
|
@ -793,9 +799,7 @@ on_frame_click(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
//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()),
|
||||
|
@ -804,7 +808,6 @@ on_frame_click(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
e_util_evas_fake_mouse_up_later(gcc->gadcon->evas,
|
||||
ev->button);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -814,6 +817,7 @@ on_top(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
int mx, my; //Mouse coord
|
||||
int action = (int)data;
|
||||
Evas_Object *mover;
|
||||
|
||||
mover = _get_mover(current);
|
||||
|
||||
if (action == DRAG_START)
|
||||
|
@ -831,6 +835,7 @@ on_top(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
else if (action == DRAG_MOVE)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
evas_pointer_output_xy_get(current->gadcon->evas, &mx, &my);
|
||||
|
||||
h = (oy + oh) - my - 15;
|
||||
|
@ -847,12 +852,14 @@ on_top(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
static void
|
||||
on_right(void *data, Evas_Object *o, const char *em, const char *src)
|
||||
{
|
||||
Evas_Object *mover;
|
||||
static int ox, oy, ow, oh; //Object coord
|
||||
int mx, my; //Mouse coord
|
||||
int action = (int)data;
|
||||
Evas_Object *mover;
|
||||
int action;
|
||||
|
||||
mover = _get_mover(current);
|
||||
|
||||
action = (int)data;
|
||||
if (action == DRAG_START)
|
||||
{
|
||||
evas_pointer_output_xy_get(current->gadcon->evas, &mx, &my);
|
||||
|
@ -868,6 +875,7 @@ on_right(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
else if (action == DRAG_MOVE)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
evas_pointer_output_xy_get(current->gadcon->evas, &mx, &my);
|
||||
|
||||
w = mx - ox - 15;
|
||||
|
@ -881,10 +889,12 @@ on_right(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
static void
|
||||
on_down(void *data, Evas_Object *o, const char *em, const char *src)
|
||||
{
|
||||
Evas_Object *mover;
|
||||
static int ox, oy, ow, oh; //Object coord
|
||||
int mx, my; //Mouse coord
|
||||
int action = (int)data;
|
||||
Evas_Object *mover;
|
||||
int action;
|
||||
|
||||
action = (int)data;
|
||||
mover = _get_mover(current);
|
||||
|
||||
if (action == DRAG_START)
|
||||
|
@ -902,6 +912,7 @@ on_down(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
else if (action == DRAG_MOVE)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
evas_pointer_output_xy_get(current->gadcon->evas, &mx, &my);
|
||||
h = my - oy - 15;
|
||||
if (h < current->min.h) h = current->min.h;
|
||||
|
@ -914,10 +925,12 @@ on_down(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
static void
|
||||
on_left(void *data, Evas_Object *o, const char *em, const char *src)
|
||||
{
|
||||
Evas_Object *mover;
|
||||
static int ox, oy, ow, oh; //Object coord
|
||||
int mx, my; //Mouse coord
|
||||
int action = (int)data;
|
||||
Evas_Object *mover;
|
||||
int action;
|
||||
|
||||
action = (int)data;
|
||||
mover = _get_mover(current);
|
||||
|
||||
if (action == DRAG_START)
|
||||
|
@ -935,6 +948,7 @@ on_left(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
else if (action == DRAG_MOVE)
|
||||
{
|
||||
int w, h;
|
||||
|
||||
evas_pointer_output_xy_get(current->gadcon->evas, &mx, &my);
|
||||
|
||||
w = (ox + ow) - mx - 15;
|
||||
|
@ -948,17 +962,17 @@ on_left(void *data, Evas_Object *o, const char *em, const char *src)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
on_move(void *data, Evas_Object *o, const char *em, const char *src)
|
||||
{
|
||||
Evas_Object *mover;
|
||||
static int dx, dy; //Offset of mouse pointer inside the mover
|
||||
static int ox, oy; //Starting object position
|
||||
static int ow, oh; //Starting object size
|
||||
int mx, my; //Mouse coord
|
||||
Evas_Object *mover;
|
||||
int action;
|
||||
|
||||
int action = (int)data;
|
||||
action = (int)data;
|
||||
mover = _get_mover(current);
|
||||
|
||||
/* DRAG_START */
|
||||
|
|
|
@ -9,7 +9,6 @@ static void _gadman_maug_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
|||
static void _gadman_maug_add(void *data, E_Menu *m);
|
||||
static void _gadman_action_cb(E_Object *obj, const char *params);
|
||||
|
||||
|
||||
/* public module routines. all modules must have these */
|
||||
EAPI E_Module_Api e_modapi = {
|
||||
E_MODULE_API_VERSION,
|
||||
|
|
Loading…
Reference in New Issue