static void _gc_shutdown(E_Gadcon_Client *gcc) { Instance *inst; inst = gcc->data; exalt_config->instances = evas_list_remove(exalt_config->instances, inst); if (exalt_config->menu) { e_menu_post_deactivate_callback_set(exalt_config->menu, NULL, NULL); e_menu_pre_activate_callback_set(exalt_config->menu, NULL, NULL); e_object_del(E_OBJECT(exalt_config->menu)); exalt_config->menu = NULL; } if (inst->o_button) { evas_object_event_callback_del(inst->o_button, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down); evas_object_del(inst->o_button); } exalt_dbus_notify_set( exalt_config->conn, NULL, NULL); E_FREE(inst); }
EAPI int e_modapi_shutdown (E_Module * m) { ut_config->module = NULL; e_gadcon_provider_unregister (&_gc_class); if (ut_config->config_dialog) e_object_del (E_OBJECT (ut_config->config_dialog)); if (ut_config->menu) { e_menu_post_deactivate_callback_set (ut_config->menu, NULL, NULL); e_object_del (E_OBJECT (ut_config->menu)); ut_config->menu = NULL; } while (ut_config->items) { Config_Item *ci; ci = ut_config->items->data; ut_config->items = eina_list_remove_list (ut_config->items, ut_config->items); if (ci->id) eina_stringshare_del (ci->id); E_FREE(ci); } E_FREE(ut_config); E_CONFIG_DD_FREE (conf_item_edd); E_CONFIG_DD_FREE (conf_edd); return 1; }
static void _wlan_cb_mouse_down (void *data, Evas * e, Evas_Object * obj, void *event_info) { Instance *inst; Evas_Event_Mouse_Down *ev; inst = data; ev = event_info; if ((ev->button == 3) && (!wlan_config->menu)) { E_Menu *m; E_Menu_Item *mi; int x, y, w, h; m = e_menu_new (); mi = e_menu_item_new (m); e_menu_item_label_set (mi, D_ ("Settings")); e_util_menu_item_theme_icon_set(mi, "preferences-system"); e_menu_item_callback_set (mi, _wlan_menu_cb_configure, inst); m = e_gadcon_client_util_menu_items_append (inst->gcc, m, 0); e_menu_post_deactivate_callback_set (m, _wlan_menu_cb_post, inst); wlan_config->menu = m; e_gadcon_canvas_zone_geometry_get (inst->gcc->gadcon, &x, &y, &w, &h); e_menu_activate_mouse (m, e_util_zone_current_get (e_manager_current_get ()), x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_DOWN, ev->timestamp); evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } }
static void _gc_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event) { Instance *inst; Evas_Event_Mouse_Down *ev; if (!(inst = data)) return; ev = event; if ((ev->button == 3) && (!inst->menu)) { E_Menu *m; E_Menu_Item *mi; E_Zone *zone; int x = 0, y = 0; zone = e_util_zone_current_get(e_manager_current_get()); m = e_menu_new(); mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Settings")); e_util_menu_item_theme_icon_set(mi, "configure"); e_menu_item_callback_set(mi, _menu_cb_configure, inst); m = e_gadcon_client_util_menu_items_append(inst->gcc, m, 0); e_menu_post_deactivate_callback_set(m, _gc_cb_menu_post, inst); inst->menu = m; e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, NULL); e_menu_activate_mouse(m, zone, x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); } }
EAPI int e_modapi_shutdown (E_Module * m) { char *player; empris_config->module = NULL; e_gadcon_provider_unregister (&_gc_class); if (conn) { if (cb_name_owner_changed) e_dbus_signal_handler_del(conn, cb_name_owner_changed); e_dbus_connection_close(conn); } EINA_LIST_FREE(players, player) eina_stringshare_del(player); if (empris_config->config_dialog) e_object_del (E_OBJECT (empris_config->config_dialog)); if (empris_config->menu) { e_menu_post_deactivate_callback_set (empris_config->menu, NULL, NULL); e_object_del (E_OBJECT (empris_config->menu)); empris_config->menu = NULL; } while (empris_config->items) { Config_Item *ci; ci = empris_config->items->data; empris_config->items = eina_list_remove_list (empris_config->items, empris_config->items); if (ci->id) eina_stringshare_del (ci->id); free (ci); ci = NULL; } free (empris_config); empris_config = NULL; E_CONFIG_DD_FREE (conf_item_edd); E_CONFIG_DD_FREE (conf_edd); return 1; }
/* local function prototypes */ static void _e_mod_ind_win_cb_free(Ind_Win *iwin) { Ecore_Event_Handler *hdl; /* delete the handlers */ EINA_LIST_FREE(iwin->hdls, hdl) ecore_event_handler_del(hdl); /* delete the menu */ if (iwin->menu) { e_menu_post_deactivate_callback_set(iwin->menu, NULL, NULL); e_object_del(E_OBJECT(iwin->menu)); } iwin->menu = NULL; /* delete the gadget container */ if (iwin->gadcon) e_object_del(E_OBJECT(iwin->gadcon)); iwin->gadcon = NULL; /* delete the objects */ if (iwin->o_base) evas_object_del(iwin->o_base); iwin->o_base = NULL; if (iwin->o_event) evas_object_del(iwin->o_event); iwin->o_event = NULL; /* tell conformant apps our position and size */ ecore_x_e_illume_indicator_geometry_set(iwin->zone->black_win, 0, 0, 0, 0); if (iwin->popup) e_object_del(E_OBJECT(iwin->popup)); iwin->popup = NULL; /* delete the window */ if (iwin->win) e_object_del(E_OBJECT(iwin->win)); iwin->win = NULL; /* free the allocated object */ E_FREE(iwin); }
EAPI int e_modapi_shutdown(E_Module *m) { e_gadcon_provider_unregister((const E_Gadcon_Client_Class *)&_gadcon_class); if (alarm_config->alarms) { while (eina_list_count(alarm_config->alarms)) { Alarm *al; al = eina_list_data_get(alarm_config->alarms); alarm_alarm_del(al); } eina_list_free(alarm_config->alarms); } if (alarm_config->alarms_ring_etimer) ecore_timer_del(alarm_config->alarms_ring_etimer); if (alarm_config->alarms_program_default) eina_stringshare_del(alarm_config->alarms_program_default); if (alarm_config->theme) free(alarm_config->theme); if (alarm_config->config_dialog) e_object_del(E_OBJECT(alarm_config->config_dialog)); if (alarm_config->config_dialog_alarm_new) e_object_del(E_OBJECT(alarm_config->config_dialog_alarm_new)); if (alarm_config->menu) { e_menu_post_deactivate_callback_set(alarm_config->menu , NULL, NULL); e_object_del(E_OBJECT(alarm_config->menu)); } E_FREE(alarm_config); E_CONFIG_DD_FREE(_alarms_edd); E_CONFIG_DD_FREE(_conf_edd); return 1; }
static void _gc_shutdown(E_Gadcon_Client *gcc) { Instance *inst; inst = gcc->data; inst->ci->inst = NULL; weather_cfg->instances = eina_list_remove(weather_cfg->instances, inst); if (inst->menu) { e_menu_post_deactivate_callback_set(inst->menu, NULL, NULL); e_object_del(E_OBJECT(inst->menu)); inst->menu = NULL; } if (inst->obj) { evas_object_event_callback_del(inst->obj, EVAS_CALLBACK_MOUSE_DOWN, _gc_cb_mouse_down); evas_object_del(inst->obj); } E_FREE(inst); }
static void _itask_menu_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Down *ev; Itask *it; E_Menu *m; E_Menu_Item *mi; int cx, cy, cw, ch; Evas_Coord x, y, w, h; int dir; it = data; ev = event_info; if (ev->button == 3) { m = e_menu_new(); e_menu_post_deactivate_callback_set(m, _itask_menu_cb_config_post, NULL); m = e_menu_new(); mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Settings")); e_util_menu_item_theme_icon_set(mi, "enlightenment/configuration"); e_menu_item_callback_set(mi, _itask_menu_cb_configuration, it); m = e_gadcon_client_util_menu_items_append(it->gcc, m, 0); } else if (ev->button == 1) { /* if(it->ci->menu_all_window) */ m = itask_menu_items_menu(it->items); /* else * m = itask_menu_items_menu(it->items_menu); */ } if (m) { e_menu_post_deactivate_callback_set(m, _itask_menu_cb_post, NULL); evas_object_geometry_get(it->o_button, &x, &y, &w, &h); e_gadcon_canvas_zone_geometry_get(it->gcc->gadcon, &cx, &cy, &cw, &ch); x += cx; y += cy; dir = E_MENU_POP_DIRECTION_AUTO; switch (it->gcc->gadcon->orient) { case E_GADCON_ORIENT_TOP: case E_GADCON_ORIENT_CORNER_TL: case E_GADCON_ORIENT_CORNER_TR: dir = E_MENU_POP_DIRECTION_DOWN; break; case E_GADCON_ORIENT_BOTTOM: case E_GADCON_ORIENT_CORNER_BL: case E_GADCON_ORIENT_CORNER_BR: dir = E_MENU_POP_DIRECTION_UP; break; case E_GADCON_ORIENT_LEFT: case E_GADCON_ORIENT_CORNER_LT: case E_GADCON_ORIENT_CORNER_LB: dir = E_MENU_POP_DIRECTION_RIGHT; break; case E_GADCON_ORIENT_RIGHT: case E_GADCON_ORIENT_CORNER_RT: case E_GADCON_ORIENT_CORNER_RB: dir = E_MENU_POP_DIRECTION_LEFT; break; case E_GADCON_ORIENT_FLOAT: case E_GADCON_ORIENT_HORIZ: case E_GADCON_ORIENT_VERT: default: dir = E_MENU_POP_DIRECTION_AUTO; break; } e_menu_activate_mouse(m, e_util_zone_current_get(e_manager_current_get()), x, y, w, h, dir, ev->timestamp); } }
/** * Handle clicking on the face. * * While this callback is not a menu callback, currently all face clicks * that do anything popup a menu. This will change as more emu commands * are implemented * * @param data the pointer you passed to evas_object_event_callback_add(). * @param e not used. * @param obj not used. * @param event_info pointer to the event. * @ingroup Emu_Module_Menu_Group */ static void _emu_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Emu_Face *emu_face; Evas_Event_Mouse_Down *ev; emu_face = data; ev = event_info; // if ((ev->button == 3) && emu_face->face->menu) // { /* Right click configuration menu. */ // e_menu_activate_mouse(emu_face->face->menu, // e_zone_current_get(emu_face->face->con), ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, // ev->timestamp); // } /*else*/ if (ev->button == 1) { /* Left click default menu. */ Easy_Menu *menu; Evas_Coord x, y, w, h; int cx, cy, cw, ch; evas_object_geometry_get(emu_face->o_button, &x, &y, &w, &h); e_gadcon_canvas_zone_geometry_get(emu_face->gcc->gadcon, &cx, &cy, &cw, &ch); x += cx; y += cy; /* Find the default menu, if there is one. */ menu = eina_hash_find(emu_face->menus, ""); if (menu && menu->valid) { int dir; e_menu_post_deactivate_callback_set(menu->menu->menu, _emu_menu_cb_post_deactivate, emu_face); dir = E_MENU_POP_DIRECTION_AUTO; switch (emu_face->gcc->gadcon->orient) { case E_GADCON_ORIENT_TOP: dir = E_MENU_POP_DIRECTION_DOWN; break; case E_GADCON_ORIENT_BOTTOM: dir = E_MENU_POP_DIRECTION_UP; break; case E_GADCON_ORIENT_LEFT: dir = E_MENU_POP_DIRECTION_RIGHT; break; case E_GADCON_ORIENT_RIGHT: dir = E_MENU_POP_DIRECTION_LEFT; break; case E_GADCON_ORIENT_CORNER_TL: dir = E_MENU_POP_DIRECTION_DOWN; break; case E_GADCON_ORIENT_CORNER_TR: dir = E_MENU_POP_DIRECTION_DOWN; break; case E_GADCON_ORIENT_CORNER_BL: dir = E_MENU_POP_DIRECTION_UP; break; case E_GADCON_ORIENT_CORNER_BR: dir = E_MENU_POP_DIRECTION_UP; break; case E_GADCON_ORIENT_CORNER_LT: dir = E_MENU_POP_DIRECTION_RIGHT; break; case E_GADCON_ORIENT_CORNER_RT: dir = E_MENU_POP_DIRECTION_LEFT; break; case E_GADCON_ORIENT_CORNER_LB: dir = E_MENU_POP_DIRECTION_RIGHT; break; case E_GADCON_ORIENT_CORNER_RB: dir = E_MENU_POP_DIRECTION_LEFT; break; case E_GADCON_ORIENT_FLOAT: case E_GADCON_ORIENT_HORIZ: case E_GADCON_ORIENT_VERT: default: dir = E_MENU_POP_DIRECTION_AUTO; break; } // e_menu_activate_mouse(menu->menu->menu, e_zone_current_get(emu_face->face->con), ev->output.x, ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); e_menu_activate_mouse(menu->menu->menu, e_util_zone_current_get(e_manager_current_get()), x, y, w, h, dir, ev->timestamp); edje_object_signal_emit(emu_face->o_button, "active", ""); evas_event_feed_mouse_up(emu_face->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } } }
static void _button_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Instance *inst; Evas_Event_Mouse_Down *ev; inst = data; ev = event_info; if ((ev->button == 3) && (!alarm_config->menu)) { E_Menu *m; E_Menu_Item *mi; int cx, cy, cw, ch; int nb_snoozed = 0; m = e_menu_new(); mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Add an alarm")); e_menu_item_callback_set(mi, _menu_cb_alarm_add, NULL); if (!alarm_config->theme) e_util_menu_item_theme_icon_set(mi, THEME_ICON_ALARM_ON); else e_menu_item_icon_edje_set(mi, alarm_config->theme, THEME_ICON_ALARM_ON); mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Settings")); e_util_menu_item_theme_icon_set(mi, "preferences-system"); e_menu_item_callback_set(mi, _menu_cb_configure, NULL); m = e_gadcon_client_util_menu_items_append(inst->gcc, m, 0); /* snooze menu */ if (alarm_config->alarms_state == ALARM_STATE_RINGING) { Eina_List *l; for (l=alarm_config->alarms; l; l=eina_list_next(l)) { Alarm *al; al = eina_list_data_get(l); if (al->state == ALARM_STATE_RINGING) { char buf[30]; snprintf(buf, sizeof(buf), D_("Snooze %s"), al->name); mi = e_menu_item_new_relative(m, NULL); e_menu_item_label_set(mi, buf); e_menu_item_callback_set(mi, _menu_cb_alarm_snooze, al); if (!alarm_config->theme) e_util_menu_item_theme_icon_set(mi, THEME_ICON_SNOOZE); else e_menu_item_icon_edje_set(mi, alarm_config->theme, THEME_ICON_SNOOZE); if (al->snooze.remember) { snprintf(buf, sizeof(buf), D_("Snooze %.14s of %.2d:%.2d"), al->name, al->snooze.hour, al->snooze.minute); mi = e_menu_item_new_relative(m, NULL); e_menu_item_label_set(mi, buf); e_menu_item_callback_set(mi, _menu_cb_alarm_snooze, al); } nb_snoozed = 1; } } } if (!nb_snoozed) { mi = e_menu_item_new_relative(m, NULL); e_menu_item_label_set(mi, D_("Snooze (No alarm to delay)")); if (!alarm_config->theme) e_util_menu_item_theme_icon_set(mi, THEME_ICON_SNOOZE); else e_menu_item_icon_edje_set(mi, alarm_config->theme, THEME_ICON_SNOOZE); } e_menu_post_deactivate_callback_set(m, _menu_cb_deactivate_post, inst); alarm_config->menu = m; e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &cx, &cy, &cw, &ch); e_menu_activate_mouse(m, 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); evas_event_feed_mouse_up(inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } }
EAPI int e_modapi_shutdown (E_Module * m) { mail_config->module = NULL; e_gadcon_provider_unregister (&_gc_class); if (exit_handler) ecore_event_handler_del (exit_handler); if (mail_config->config_dialog) e_object_del (E_OBJECT (mail_config->config_dialog)); if (mail_config->menu) { e_menu_post_deactivate_callback_set (mail_config->menu, NULL, NULL); e_object_del (E_OBJECT (mail_config->menu)); mail_config->menu = NULL; } while (mail_config->items) { Config_Item *ci; ci = mail_config->items->data; while (ci->boxes) { Config_Box *cb; cb = ci->boxes->data; switch (cb->type) { case MAIL_TYPE_IMAP: _mail_imap_del_mailbox (cb); break; case MAIL_TYPE_POP: _mail_pop_del_mailbox (cb); break; case MAIL_TYPE_MDIR: _mail_mdir_del_mailbox (cb); break; case MAIL_TYPE_MBOX: _mail_mbox_del_mailbox (cb); break; } if (cb->name) eina_stringshare_del (cb->name); if (cb->host) eina_stringshare_del (cb->host); if (cb->user) eina_stringshare_del (cb->user); if (cb->pass) eina_stringshare_del (cb->pass); if (cb->new_path) eina_stringshare_del (cb->new_path); if (cb->cur_path) eina_stringshare_del (cb->cur_path); if (cb->exec) eina_stringshare_del (cb->exec); ci->boxes = eina_list_remove_list (ci->boxes, ci->boxes); free (cb); cb = NULL; } if (ci->id) eina_stringshare_del (ci->id); mail_config->items = eina_list_remove_list (mail_config->items, mail_config->items); free (ci); ci = NULL; } _mail_imap_shutdown (); _mail_pop_shutdown (); _mail_mdir_shutdown (); _mail_mbox_shutdown (); free (mail_config); mail_config = NULL; E_CONFIG_DD_FREE (conf_box_edd); E_CONFIG_DD_FREE (conf_item_edd); E_CONFIG_DD_FREE (conf_edd); return 1; }
static void _mail_cb_mouse_down (void *data, Evas * e, Evas_Object * obj, void *event_info) { Instance *inst = data; Evas_Event_Mouse_Down *ev = event_info; Eina_List *l; if (!inst) return; if ((ev->button == 3) && (!mail_config->menu)) { E_Menu *m; E_Menu_Item *mi; int x, y, w, h; char buf[1024]; m = e_menu_new (); mi = e_menu_item_new (m); e_menu_item_label_set (mi, D_("Settings")); e_util_menu_item_theme_icon_set(mi, "preferences-system"); e_menu_item_callback_set (mi, _mail_menu_cb_configure, inst); m = e_gadcon_client_util_menu_items_append (inst->gcc, m, 0); e_menu_post_deactivate_callback_set (m, _mail_menu_cb_post, inst); mail_config->menu = m; if ((inst->ci->boxes) && (eina_list_count (inst->ci->boxes) > 0)) { mi = NULL; snprintf (buf, sizeof (buf), "%s/module.edj", e_module_dir_get (mail_config->module)); for (l = inst->ci->boxes; l; l = l->next) { Config_Box *cb; cb = l->data; if (!cb) continue; mi = e_menu_item_new_relative (m, mi); snprintf (buf, sizeof (buf), "%s: %d/%d", cb->name, cb->num_new, cb->num_total); e_menu_item_label_set (mi, buf); if ((cb->exec) && (cb->use_exec)) e_menu_item_callback_set (mi, _mail_menu_cb_exec, cb); } if (mi) { mi = e_menu_item_new_relative(m, mi); e_menu_item_separator_set(mi, 1); } } e_gadcon_canvas_zone_geometry_get (inst->gcc->gadcon, &x, &y, &w, &h); e_menu_activate_mouse (m, e_util_zone_current_get (e_manager_current_get ()), x + ev->output.x, y + ev->output.y, 1, 1, E_MENU_POP_DIRECTION_AUTO, ev->timestamp); evas_event_feed_mouse_up (inst->gcc->gadcon->evas, ev->button, EVAS_BUTTON_NONE, ev->timestamp, NULL); } else if (ev->button == 1) _mail_cb_check (inst); }
void ngi_border_menu_show(Ngi_Box *box, E_Border *bd, Evas_Coord x, Evas_Coord y, int dir, Ecore_X_Time timestamp) { E_Menu *m; E_Menu_Item *mi; Ng *ng = box->ng; if (bd->border_menu) return; m = e_menu_new(); e_menu_category_set(m,"border"); e_menu_category_data_set("border",bd); e_object_data_set(E_OBJECT(m), bd); bd->border_menu = m; e_menu_post_deactivate_callback_set(m, _ng_border_cb_border_menu_end, ng); /* FIXME */ if ((!bd->lock_user_fullscreen) && (!bd->shaded)) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Fullscreen")); e_menu_item_check_set(mi, 1); e_menu_item_toggle_set(mi, bd->fullscreen); e_menu_item_callback_set(mi, _ng_border_menu_cb_fullscreen, bd); e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/fullscreen"), "e/widgets/border/default/fullscreen"); } mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); if (!bd->lock_close) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Close")); e_menu_item_callback_set(mi, _ng_border_menu_cb_close, bd); e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/close"), "e/widgets/border/default/close"); } if (!bd->internal) { mi = e_menu_item_new(m); e_menu_item_separator_set(mi, 1); if (!(((bd->client.icccm.min_w == bd->client.icccm.max_w) && (bd->client.icccm.min_h == bd->client.icccm.max_h)) || (bd->lock_user_maximize))) { if ((!bd->lock_user_maximize) && (!bd->shaded) && ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150))) { mi = e_menu_item_new(m); e_menu_item_label_set(mi, D_("Maximized")); e_menu_item_check_set(mi, 1); e_menu_item_toggle_set(mi, (bd->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH); if((bd->maximized & E_MAXIMIZE_DIRECTION) == E_MAXIMIZE_BOTH) e_menu_item_callback_set(mi, _ng_border_menu_cb_unmaximize, bd); else e_menu_item_callback_set(mi, _ng_border_menu_cb_maximize, bd); e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/maximize"), "e/widgets/border/default/maximize"); } } } if (!bd->lock_user_iconify) { mi = e_menu_item_new(m); if(bd->iconic) e_menu_item_label_set(mi, D_("Uniconify")); else e_menu_item_label_set(mi, D_("Iconify")); e_menu_item_callback_set(mi, _ng_border_menu_cb_iconify, bd); e_menu_item_icon_edje_set(mi, e_theme_edje_file_get("base/theme/borders", "e/widgets/border/default/minimize"), "e/widgets/border/default/minimize"); } e_menu_activate_mouse(m, ng->zone, ng->zone->x + x, ng->zone->y + y, 1, 1, dir, timestamp); }
static void _itask_item_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Mouse_Down *ev; Itask_Item *ic; Evas_Coord x, y, w, h; E_Menu *mn = NULL; int cx, cy, cw, ch, dir; ev = event_info; ic = data; if (ev->button == 1) { ic->drag.x = ev->output.x; ic->drag.y = ev->output.y; ic->drag.start = 1; ic->drag.dnd = 0; ic->time_press = ecore_loop_time_get(); } else if (ev->button == 3) { if (ic->border) { evas_object_geometry_get(ic->o_holder, &x, &y, &w, &h); e_gadcon_canvas_zone_geometry_get(ic->itask->gcc->gadcon, &cx, &cy, &cw, &ch); x += cx; y += cy; e_int_border_menu_show(ic->border, x, y, 0, ev->timestamp); } } else if (ev->button == 2) { } if (mn) { e_menu_post_deactivate_callback_set(mn, _itask_item_cb_menu_post, NULL); evas_object_geometry_get(ic->o_holder, &x, &y, &w, &h); e_gadcon_canvas_zone_geometry_get(ic->itask->gcc->gadcon, &cx, &cy, &cw, &ch); x += cx; y += cy; dir = E_MENU_POP_DIRECTION_AUTO; switch (ic->itask->gcc->gadcon->orient) { case E_GADCON_ORIENT_TOP: case E_GADCON_ORIENT_CORNER_TL: case E_GADCON_ORIENT_CORNER_TR: dir = E_MENU_POP_DIRECTION_DOWN; break; case E_GADCON_ORIENT_BOTTOM: case E_GADCON_ORIENT_CORNER_BL: case E_GADCON_ORIENT_CORNER_BR: dir = E_MENU_POP_DIRECTION_UP; break; case E_GADCON_ORIENT_LEFT: case E_GADCON_ORIENT_CORNER_LT: case E_GADCON_ORIENT_CORNER_LB: dir = E_MENU_POP_DIRECTION_RIGHT; break; case E_GADCON_ORIENT_RIGHT: case E_GADCON_ORIENT_CORNER_RT: case E_GADCON_ORIENT_CORNER_RB: dir = E_MENU_POP_DIRECTION_LEFT; break; case E_GADCON_ORIENT_FLOAT: case E_GADCON_ORIENT_HORIZ: case E_GADCON_ORIENT_VERT: default: dir = E_MENU_POP_DIRECTION_AUTO; break; } e_menu_activate_mouse(mn, e_util_zone_current_get(e_manager_current_get()), x, y, w, h, dir, ev->timestamp); } }