]> git.eshelyaron.com Git - emacs.git/commitdiff
(xlwMenuResources): All XtNhighlightCallback.
authorGerd Moellmann <gerd@gnu.org>
Mon, 17 Jan 2000 09:10:58 +0000 (09:10 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 17 Jan 2000 09:10:58 +0000 (09:10 +0000)
(remap_menubar): Call highlight callback.

lwlib/xlwmenu.c

index cadd02584af65d9976fe146a9d6c4162f242f5c5..11dfc2e58dbb570d6b50549caf8c9bcab8d32a04 100644 (file)
@@ -112,6 +112,8 @@ xlwMenuResources[] =
      offset(menu.open), XtRCallback, (XtPointer)NULL},
   {XtNselect, XtCCallback, XtRCallback, sizeof(XtPointer), 
      offset(menu.select), XtRCallback, (XtPointer)NULL},
+  {XtNhighlightCallback, XtCCallback, XtRCallback, sizeof(XtPointer), 
+     offset(menu.highlight), XtRCallback, (XtPointer)NULL},
   {XtNmenu, XtCMenu, XtRPointer, sizeof(XtPointer),
      offset(menu.contents), XtRImmediate, (XtPointer)NULL},
   {XtNcursor, XtCCursor, XtRCursor, sizeof(Cursor),
@@ -1246,6 +1248,11 @@ remap_menubar (mw)
   if (new_selection && !new_selection->enabled)
     new_selection = NULL;
 
+  /* Call callback when the hightlighted item changes.  */
+  if (old_selection || new_selection)
+    XtCallCallbackList ((Widget)mw, mw->menu.highlight,
+                       (XtPointer) new_selection);
+
   /* updates old_state from new_state.  It has to be done now because
      display_menu (called below) uses the old_stack to know what to display. */
   for (i = last_same + 1; i < new_depth; i++)