aboutsummaryrefslogtreecommitdiffstats
path: root/lwlib
diff options
context:
space:
mode:
authorGerd Moellmann2000-01-17 09:09:39 +0000
committerGerd Moellmann2000-01-17 09:09:39 +0000
commitfa616ec497a0913e322c57f8561456a5def5607f (patch)
treeb4eebf4dd0a55f2abfb35e6307f89975e7c2f69c /lwlib
parentd3065ce277122a6cc45bcc07227abee3fcd3fb60 (diff)
downloademacs-fa616ec497a0913e322c57f8561456a5def5607f.tar.gz
emacs-fa616ec497a0913e322c57f8561456a5def5607f.zip
(highlight_hook): New function.
(xlw_create_menubar, xlw_create_popup_menu): Add highlight_hook as callback XtNhighlightCallback.
Diffstat (limited to 'lwlib')
-rw-r--r--lwlib/lwlib-Xlw.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/lwlib/lwlib-Xlw.c b/lwlib/lwlib-Xlw.c
index ee6596c27ef..bcc2198ff4f 100644
--- a/lwlib/lwlib-Xlw.c
+++ b/lwlib/lwlib-Xlw.c
@@ -31,6 +31,26 @@ Boston, MA 02111-1307, USA. */
31#include "xlwmenu.h" 31#include "xlwmenu.h"
32 32
33 /* Menu callbacks */ 33 /* Menu callbacks */
34
35/* Callback XtNhighlightCallback for Lucid menus. W is the menu
36 widget, CLIENT_DATA contains a pointer to the widget_instance
37 for the menu, CALL_DATA contains a pointer to the widget_value
38 structure for the highlighted menu item. The latter may be null
39 if there isn't any highlighted menu item. */
40
41static void
42highlight_hook (w, client_data, call_data)
43 Widget w;
44 XtPointer client_data;
45 XtPointer call_data;
46{
47 widget_instance *instance = (widget_instance *) client_data;
48
49 if (instance->info->highlight_cb
50 && !w->core.being_destroyed)
51 instance->info->highlight_cb (w, instance->info->id, call_data);
52}
53
34static void 54static void
35pre_hook (w, client_data, call_data) 55pre_hook (w, client_data, call_data)
36 Widget w; 56 Widget w;
@@ -100,6 +120,8 @@ xlw_create_menubar (instance)
100 120
101 XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance); 121 XtAddCallback (widget, XtNopen, pre_hook, (XtPointer)instance);
102 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); 122 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance);
123 XtAddCallback (widget, XtNhighlightCallback, highlight_hook,
124 (XtPointer)instance);
103 return widget; 125 return widget;
104} 126}
105 127
@@ -125,7 +147,8 @@ xlw_create_popup_menu (instance)
125 popup_shell, al, ac); 147 popup_shell, al, ac);
126 148
127 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance); 149 XtAddCallback (widget, XtNselect, pick_hook, (XtPointer)instance);
128 150 XtAddCallback (widget, XtNhighlightCallback, highlight_hook,
151 (XtPointer)instance);
129 return popup_shell; 152 return popup_shell;
130} 153}
131 154