From: YAMAMOTO Mitsuharu Date: Thu, 14 Jun 2007 08:38:52 +0000 (+0000) Subject: (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. X-Git-Tag: emacs-pretest-23.0.90~12280 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cccda642c8a40655eb70a07ba69ce4c6d3ddcade;p=emacs.git (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity. (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR. --- diff --git a/src/macfns.c b/src/macfns.c index b98e2814281..cd571a13c5e 100644 --- a/src/macfns.c +++ b/src/macfns.c @@ -1682,6 +1682,25 @@ x_set_tool_bar_lines (f, value, oldval) /* Make sure we redisplay all windows in this frame. */ ++windows_or_buffers_changed; +#if USE_MAC_TOOLBAR + FRAME_TOOL_BAR_LINES (f) = 0; + if (nlines) + { + FRAME_EXTERNAL_TOOL_BAR (f) = 1; + if (FRAME_MAC_P (f) && !IsWindowToolbarVisible (FRAME_MAC_WINDOW (f))) + /* Make sure next redisplay shows the tool bar. */ + XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = Qt; + } + else + { + if (FRAME_EXTERNAL_TOOL_BAR (f)) + free_frame_tool_bar (f); + FRAME_EXTERNAL_TOOL_BAR (f) = 0; + } + + return; +#endif + delta = nlines - FRAME_TOOL_BAR_LINES (f); /* Don't resize the tool-bar to more than we have room for. */ @@ -2284,6 +2303,16 @@ mac_window (f) XSetWindowBackground (FRAME_MAC_DISPLAY(f), FRAME_MAC_WINDOW (f), FRAME_BACKGROUND_PIXEL (f)); +#if USE_MAC_TOOLBAR + /* At the moment, the size of the tool bar is not yet known. We + record the gravity value of the newly created window and use it + to adjust the position of the window (especially for a negative + specification of its vertical position) when the tool bar is + first redisplayed. */ + if (FRAME_EXTERNAL_TOOL_BAR (f)) + f->output_data.mac->toolbar_win_gravity = f->win_gravity; +#endif + validate_x_resource_name (); /* x_set_name normally ignores requests to set the name if the