]> git.eshelyaron.com Git - emacs.git/commitdiff
(keymap_panes): Pass the keymap's prompt as the pane name to
authorJason Rumney <jasonr@gnu.org>
Sun, 20 Aug 2000 21:14:08 +0000 (21:14 +0000)
committerJason Rumney <jasonr@gnu.org>
Sun, 20 Aug 2000 21:14:08 +0000 (21:14 +0000)
single_keymap_panes.
(w32_menu_show): Set wv->title when dealing with titles.
(w32_menu_display_help): Call show_help_echo with OBJECT and POS.

src/ChangeLog
src/w32menu.c

index db632de81b4d5b5d628a22468e142412dddcbf8a..bb9269fcd85f12cdbf5956fb95cfe391dd8cb894 100644 (file)
@@ -1,3 +1,27 @@
+2000-08-20  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (x_display_info_for_display): Remove as this function
+       does not exist on W32.
+
+       * w32term.c (help_echo_window): New variable.
+       (syms_of_w32term): staticpro it.
+       (note_mode_line_highlight): Set it.
+       (XTextExtents16): Removed as there is no equivalent on W32.
+       (x_compute_glyph_string_overhangs): Incomplete body removed, as
+       the X way of doing this will not work for W32.
+       (w32_intersect_rectangles): Removed. Use IntersectRect API call.
+       (x_draw_image_foreground):  Avoid drawing outside of the clip area
+       when image doesn't have a mask.
+       (note_mouse_highlight): Process overlays in the right order of
+       priority. Set help_echo_window.
+       (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
+       because that's more visible for large images.
+
+       * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
+       name to single_keymap_panes.
+       (w32_menu_show): Set wv->title when dealing with titles.
+       (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
+
 2000-08-21  Miles Bader  <miles@gnu.org>
 
        * minibuf.c (do_completion): Try again if we rewrite the input
index 52baa248a469c55f88058ed0244b81618c88ac7b..ac740671c81702fc994aa7b0c0ec08fa7f22f443 100644 (file)
@@ -399,7 +399,8 @@ keymap_panes (keymaps, nmaps, notreal)
      But don't make a pane that is empty--ignore that map instead.
      P is the number of panes we have made so far.  */
   for (mapno = 0; mapno < nmaps; mapno++)
-    single_keymap_panes (keymaps[mapno], Qnil, Qnil, notreal, 10);
+    single_keymap_panes (keymaps[mapno],
+                         map_prompt (keymaps[mapno]), Qnil, notreal, 10);
 
   finish_menu_items ();
 }
@@ -1733,6 +1734,7 @@ w32_menu_show (f, x, y, for_click, keymaps, title, error)
 #endif
       wv_title->name = (char *) XSTRING (title)->data;
       wv_title->enabled = True;
+      wv_title->title = True;
       wv_title->button_type = BUTTON_TYPE_NONE;
       wv_title->next = wv_sep;
       first_wv->contents = wv_title;
@@ -2157,11 +2159,17 @@ popup_activated ()
 void
 w32_menu_display_help (HMENU menu, UINT item, UINT flags)
 {
+  int pane = 0; /* NTEMACS_TODO: Set this to pane number.  */
+
   HMODULE user32 = GetModuleHandle ("user32.dll");
   FARPROC get_menu_item_info = GetProcAddress (user32, "GetMenuItemInfoA");
 
   if (get_menu_item_info)
     {
+      extern Lisp_Object Qmenu_item;
+      Lisp_Object *first_item;
+      Lisp_Object pane_name;
+      Lisp_Object menu_object;
       MENUITEMINFO info;
 
       bzero (&info, sizeof (info));
@@ -2169,9 +2177,23 @@ w32_menu_display_help (HMENU menu, UINT item, UINT flags)
       info.fMask = MIIM_DATA;
       get_menu_item_info (menu, item, FALSE, &info);
 
+      first_item = XVECTOR (menu_items)->contents;
+      if (EQ (first_item[0], Qt))
+        pane_name = first_item[MENU_ITEMS_PANE_NAME];
+      else if (EQ (first_item[0], Qquote))
+        /* This shouldn't happen, see w32_menu_show.  */
+        pane_name = build_string ("");
+      else
+        pane_name = first_item[MENU_ITEMS_ITEM_NAME];
+
+      /* (menu-item MENU-NAME PANE-NUMBER)  */
+      menu_object = Fcons (Qmenu_item,
+                           Fcons (pane_name,
+                                  Fcons (make_number (pane), Qnil)));
+
       show_help_echo (info.dwItemData ?
                      build_string ((char *) info.dwItemData) : Qnil,
-                      Qnil, -1, 1);
+                      Qnil, menu_object, make_number (item), 1);
     }
 }