X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Ftoolbar.c;h=7711b6bda76061bf3e3209ac29a6f4c4c154fdd9;hb=6b1f1b2af579009e8a95f9c79f3cfe119f2f595d;hp=963d373755ff502b18a5a1da135c7fed187dc2d0;hpb=a1655b870904de973c366d85ebdc8adde4ef5e1e;p=chise%2Fxemacs-chise.git.1 diff --git a/src/toolbar.c b/src/toolbar.c index 963d373..7711b6b 100644 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -73,24 +73,8 @@ mark_toolbar_button (Lisp_Object obj) return data->help_string; } -static void -print_toolbar_button (Lisp_Object obj, Lisp_Object printcharfun, - int escapeflag) -{ - struct toolbar_button *tb = XTOOLBAR_BUTTON (obj); - char buf[100]; - - if (print_readably) - error ("printing unreadable object #", - tb->header.uid); - - sprintf (buf, "#", tb->header.uid); - write_c_string (buf, printcharfun); -} - DEFINE_LRECORD_IMPLEMENTATION ("toolbar-button", toolbar_button, - mark_toolbar_button, print_toolbar_button, - 0, 0, 0, 0, + mark_toolbar_button, 0, 0, 0, 0, 0, struct toolbar_button); DEFUN ("toolbar-button-p", Ftoolbar_button_p, 1, 1, 0, /* @@ -1006,11 +990,11 @@ Verify the syntax of entry BUTTON in a toolbar description list. If you want to verify the syntax of a toolbar description list as a whole, use `check-valid-instantiator' with a specifier type of 'toolbar. */ - (button, no_error)) + (button, noerror)) { Lisp_Object *elt, glyphs, value; int len; - Error_behavior errb = decode_error_behavior_flag (no_error); + Error_behavior errb = decode_error_behavior_flag (noerror); if (!VECTORP (button)) CTB_ERROR ("toolbar button descriptors must be vectors"); @@ -1040,7 +1024,7 @@ whole, use `check-valid-instantiator' with a specifier type of 'toolbar. which buffer to check in. #### I think this is a bad thing. See if we can't get enough information to this function so that it can check. - + #### Wrong. We shouldn't be checking the value at all here. The user might set or change the value at any time. */ value = Fsymbol_value (elt[0]); @@ -1160,14 +1144,9 @@ toolbar_after_change (Lisp_Object specifier, Lisp_Object locale) DEFUN ("toolbar-specifier-p", Ftoolbar_specifier_p, 1, 1, 0, /* Return non-nil if OBJECT is a toolbar specifier. -Toolbar specifiers are used to specify the format of a toolbar. -The values of the variables `default-toolbar', `top-toolbar', -`left-toolbar', `right-toolbar', and `bottom-toolbar' are always -toolbar specifiers. - -Valid toolbar instantiators are called "toolbar descriptors" -and are lists of vectors. See `default-toolbar' for a description -of the exact format. + +See `make-toolbar-specifier' for a description of possible toolbar +instantiators. */ (object)) { @@ -1438,7 +1417,7 @@ For the other vector formats (specifying blank areas of the toolbar): set_specifier_caching (Vdefault_toolbar, offsetof (struct window, default_toolbar), default_toolbar_specs_changed, - 0, 0); + 0, 0, 0); DEFVAR_SPECIFIER ("top-toolbar", &Vtoolbar[TOP_TOOLBAR] /* @@ -1450,7 +1429,7 @@ See `default-toolbar' for a description of a valid toolbar instantiator. set_specifier_caching (Vtoolbar[TOP_TOOLBAR], offsetof (struct window, toolbar[TOP_TOOLBAR]), toolbar_specs_changed, - 0, 0); + 0, 0, 0); DEFVAR_SPECIFIER ("bottom-toolbar", &Vtoolbar[BOTTOM_TOOLBAR] /* @@ -1467,7 +1446,7 @@ displayed even if you provide a value for `bottom-toolbar'. set_specifier_caching (Vtoolbar[BOTTOM_TOOLBAR], offsetof (struct window, toolbar[BOTTOM_TOOLBAR]), toolbar_specs_changed, - 0, 0); + 0, 0, 0); DEFVAR_SPECIFIER ("left-toolbar", &Vtoolbar[LEFT_TOOLBAR] /* @@ -1484,7 +1463,7 @@ displayed even if you provide a value for `left-toolbar'. set_specifier_caching (Vtoolbar[LEFT_TOOLBAR], offsetof (struct window, toolbar[LEFT_TOOLBAR]), toolbar_specs_changed, - 0, 0); + 0, 0, 0); DEFVAR_SPECIFIER ("right-toolbar", &Vtoolbar[RIGHT_TOOLBAR] /* @@ -1501,7 +1480,7 @@ displayed even if you provide a value for `right-toolbar'. set_specifier_caching (Vtoolbar[RIGHT_TOOLBAR], offsetof (struct window, toolbar[RIGHT_TOOLBAR]), toolbar_specs_changed, - 0, 0); + 0, 0, 0); /* initially, top inherits from default; this can be changed with `set-default-toolbar-position'. */ @@ -1556,7 +1535,7 @@ is not visible, so it is expanded to take up the slack. offsetof (struct window, default_toolbar_height), default_toolbar_size_changed_in_window, offsetof (struct frame, default_toolbar_height), - default_toolbar_size_changed_in_frame); + default_toolbar_size_changed_in_frame, 0); DEFVAR_SPECIFIER ("default-toolbar-width", &Vdefault_toolbar_width /* *Width of the default toolbar, if it's oriented vertically. @@ -1569,7 +1548,7 @@ See `default-toolbar-height' for more information. offsetof (struct window, default_toolbar_width), default_toolbar_size_changed_in_window, offsetof (struct frame, default_toolbar_width), - default_toolbar_size_changed_in_frame); + default_toolbar_size_changed_in_frame, 0); DEFVAR_SPECIFIER ("top-toolbar-height", &Vtoolbar_size[TOP_TOOLBAR] /* @@ -1583,7 +1562,7 @@ See `default-toolbar-height' for more information. offsetof (struct window, toolbar_size[TOP_TOOLBAR]), toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_size[TOP_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("bottom-toolbar-height", &Vtoolbar_size[BOTTOM_TOOLBAR] /* @@ -1597,7 +1576,7 @@ See `default-toolbar-height' for more information. offsetof (struct window, toolbar_size[BOTTOM_TOOLBAR]), toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_size[BOTTOM_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("left-toolbar-width", &Vtoolbar_size[LEFT_TOOLBAR] /* @@ -1611,7 +1590,7 @@ See `default-toolbar-height' for more information. offsetof (struct window, toolbar_size[LEFT_TOOLBAR]), toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_size[LEFT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("right-toolbar-width", &Vtoolbar_size[RIGHT_TOOLBAR] /* @@ -1625,12 +1604,15 @@ See `default-toolbar-height' for more information. offsetof (struct window, toolbar_size[RIGHT_TOOLBAR]), toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_size[RIGHT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); fb = Qnil; #ifdef HAVE_TTY fb = Fcons (Fcons (list1 (Qtty), Qzero), fb); #endif +#ifdef HAVE_GTK + fb = Fcons (Fcons (list1 (Qgtk), make_int (DEFAULT_TOOLBAR_HEIGHT)), fb); +#endif #ifdef HAVE_X_WINDOWS fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_HEIGHT)), fb); #endif @@ -1645,6 +1627,9 @@ See `default-toolbar-height' for more information. #ifdef HAVE_TTY fb = Fcons (Fcons (list1 (Qtty), Qzero), fb); #endif +#ifdef HAVE_GTK + fb = Fcons (Fcons (list1 (Qgtk), make_int (DEFAULT_TOOLBAR_WIDTH)), fb); +#endif #ifdef HAVE_X_WINDOWS fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_WIDTH)), fb); #endif @@ -1688,7 +1673,7 @@ the value in a window domain will not. offsetof (struct window, default_toolbar_border_width), default_toolbar_border_width_changed_in_window, offsetof (struct frame, default_toolbar_border_width), - default_toolbar_border_width_changed_in_frame); + default_toolbar_border_width_changed_in_frame, 0); DEFVAR_SPECIFIER ("top-toolbar-border-width", &Vtoolbar_border_width[TOP_TOOLBAR] /* @@ -1704,7 +1689,7 @@ See `default-toolbar-height' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_border_width[TOP_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("bottom-toolbar-border-width", &Vtoolbar_border_width[BOTTOM_TOOLBAR] /* @@ -1720,7 +1705,7 @@ See `default-toolbar-height' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_border_width[BOTTOM_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("left-toolbar-border-width", &Vtoolbar_border_width[LEFT_TOOLBAR] /* @@ -1736,7 +1721,7 @@ See `default-toolbar-height' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_border_width[LEFT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("right-toolbar-border-width", &Vtoolbar_border_width[RIGHT_TOOLBAR] /* @@ -1752,7 +1737,7 @@ See `default-toolbar-height' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_border_width[RIGHT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); fb = Qnil; #ifdef HAVE_TTY @@ -1761,6 +1746,9 @@ See `default-toolbar-height' for more information. #ifdef HAVE_X_WINDOWS fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_BORDER_WIDTH)), fb); #endif +#ifdef HAVE_GTK + fb = Fcons (Fcons (list1 (Qgtk), make_int (DEFAULT_TOOLBAR_BORDER_WIDTH)), fb); +#endif #ifdef HAVE_MS_WINDOWS fb = Fcons (Fcons (list1 (Qmswindows), make_int (MSWINDOWS_DEFAULT_TOOLBAR_BORDER_WIDTH)), fb); #endif @@ -1798,7 +1786,7 @@ visibility specifiers have a fallback value of true. offsetof (struct window, default_toolbar_visible_p), default_toolbar_visible_p_changed_in_window, offsetof (struct frame, default_toolbar_visible_p), - default_toolbar_visible_p_changed_in_frame); + default_toolbar_visible_p_changed_in_frame, 0); DEFVAR_SPECIFIER ("top-toolbar-visible-p", &Vtoolbar_visible_p[TOP_TOOLBAR] /* @@ -1814,7 +1802,7 @@ See `default-toolbar-visible-p' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_visible_p[TOP_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("bottom-toolbar-visible-p", &Vtoolbar_visible_p[BOTTOM_TOOLBAR] /* @@ -1830,7 +1818,7 @@ See `default-toolbar-visible-p' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_visible_p[BOTTOM_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("left-toolbar-visible-p", &Vtoolbar_visible_p[LEFT_TOOLBAR] /* @@ -1846,7 +1834,7 @@ See `default-toolbar-visible-p' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_visible_p[LEFT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); DEFVAR_SPECIFIER ("right-toolbar-visible-p", &Vtoolbar_visible_p[RIGHT_TOOLBAR] /* @@ -1862,7 +1850,7 @@ See `default-toolbar-visible-p' for more information. toolbar_geometry_changed_in_window, offsetof (struct frame, toolbar_visible_p[RIGHT_TOOLBAR]), - frame_size_slipped); + frame_size_slipped, 0); /* initially, top inherits from default; this can be changed with `set-default-toolbar-position'. */ @@ -1885,7 +1873,7 @@ This is a specifier; use `set-specifier' to change it. set_specifier_caching (Vtoolbar_buttons_captioned_p, offsetof (struct window, toolbar_buttons_captioned_p), toolbar_buttons_captioned_p_changed, - 0, 0); + 0, 0, 0); set_specifier_fallback (Vtoolbar_buttons_captioned_p, list1 (Fcons (Qnil, Qt))); }