X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/d3e4babdd1267fb5690a17949196640a47c6f159..b336bfcdf39f1e4d35bff4a7bd01d3b4bca8f516:/lwlib/lwlib-Xlw.c diff --git a/lwlib/lwlib-Xlw.c b/lwlib/lwlib-Xlw.c index e5d9ebbd0f..115997d361 100644 --- a/lwlib/lwlib-Xlw.c +++ b/lwlib/lwlib-Xlw.c @@ -1,6 +1,7 @@ /* The lwlib interface to "xlwmenu" menus. Copyright (C) 1992 Lucid, Inc. - Copyright (C) 1994, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1994, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of the Lucid Widget Library. @@ -23,6 +24,7 @@ Boston, MA 02110-1301, USA. */ #include #endif +#include #include "lisp.h" #include "lwlib-Xlw.h" @@ -82,6 +84,25 @@ highlight_hook (w, client_data, call_data) instance->info->highlight_cb (w, instance->info->id, call_data); } +static void +enter_hook (w, client_data, call_data) + Widget w; + XtPointer client_data; + XtPointer call_data; +{ + highlight_hook (w, client_data, call_data); +} + +static void +leave_hook (w, client_data, call_data) + Widget w; + XtPointer client_data; + XtPointer call_data; +{ + highlight_hook (w, client_data, NULL); +} + + static void pre_hook (w, client_data, call_data) Widget w; @@ -151,8 +172,8 @@ xlw_create_menubar (instance) XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance); XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); - XtAddCallback (widget, XtNhighlightCallback, highlight_hook, - (XtPointer)instance); + XtAddCallback (widget, XtNleaveCallback, leave_hook, (XtPointer)instance); + XtAddCallback (widget, XtNenterCallback, enter_hook, (XtPointer)instance); return widget; } @@ -178,8 +199,8 @@ xlw_create_popup_menu (instance) popup_shell, al, ac); XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); - XtAddCallback (widget, XtNhighlightCallback, highlight_hook, - (XtPointer)instance); + XtAddCallback (widget, XtNleaveCallback, leave_hook, (XtPointer)instance); + XtAddCallback (widget, XtNenterCallback, enter_hook, (XtPointer)instance); return popup_shell; }