]> git.eshelyaron.com Git - emacs.git/commitdiff
(update_tool_bar, redisplay_tool_bar, redisplay_window)
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 14 Jun 2007 08:40:24 +0000 (08:40 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 14 Jun 2007 08:40:24 +0000 (08:40 +0000)
[USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.

src/ChangeLog
src/xdisp.c

index 0ebcdd103fbb01d2b8fb5433b816783f8daa43d2..fd8c3235166ab595e6dda06f8d0644d0366b53e7 100644 (file)
@@ -1,3 +1,46 @@
+2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
+       (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
+
+       * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
+       (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
+
+       * macgui.h (USE_MAC_TOOLBAR): New define.
+
+       * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
+       Return immediately unless popup is activated.
+
+       * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
+       background to scroll bar gap.
+       (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
+       (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
+       scroll bars on frame edge.  Check fringe background extension.
+       Don't clear extended fringe background area.
+       (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
+       (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
+       (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
+       [USE_MAC_TOOLBAR]: New macros.
+       (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
+       (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
+       (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
+       (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
+       [USE_MAC_TOOLBAR]: New functions.
+       (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
+       manually if previous repositioning has failed.
+       (mac_handle_keyboard_event): Use precomputed event kind.
+       (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
+       as tool bar item click.  Handle mouse movement over tool bar items.
+
+       * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
+       toolbar_win_gravity.
+       (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
+       (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
+       Add externs.
+
+       * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
+       [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
+
 2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 
        * image.c (search_image_cache): Remove unused variable.
index f3e1aa1112c1ed1693972c5af970a85bcc8dc7d3..e1c29ce72eb7f02ff27ef14658c7cb32ce418d4e 100644 (file)
@@ -9365,7 +9365,7 @@ update_tool_bar (f, save_match_data)
      struct frame *f;
      int save_match_data;
 {
-#ifdef USE_GTK
+#if defined (USE_GTK) || USE_MAC_TOOLBAR
   int do_update = FRAME_EXTERNAL_TOOL_BAR (f);
 #else
   int do_update = WINDOWP (f->tool_bar_window)
@@ -9831,7 +9831,7 @@ redisplay_tool_bar (f)
   struct it it;
   struct glyph_row *row;
 
-#ifdef USE_GTK
+#if defined (USE_GTK) || USE_MAC_TOOLBAR
   if (FRAME_EXTERNAL_TOOL_BAR (f))
     update_frame_tool_bar (f);
   return 0;
@@ -13467,7 +13467,7 @@ redisplay_window (window, just_this_one_p)
         display_menu_bar (w);
 
 #ifdef HAVE_WINDOW_SYSTEM
-#ifdef USE_GTK
+#if defined (USE_GTK) || USE_MAC_TOOLBAR
       redisplay_tool_bar_p = FRAME_EXTERNAL_TOOL_BAR (f);
 #else
       redisplay_tool_bar_p = WINDOWP (f->tool_bar_window)