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 #<toolbar-button 0x%x>",
- tb->header.uid);
-
- sprintf (buf, "#<toolbar-button 0x%x>", 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, /*
static void
compute_frame_toolbars_data (struct frame *f)
{
- set_frame_toolbar (f, TOP_TOOLBAR);
- set_frame_toolbar (f, BOTTOM_TOOLBAR);
- set_frame_toolbar (f, LEFT_TOOLBAR);
- set_frame_toolbar (f, RIGHT_TOOLBAR);
+ set_frame_toolbar (f, TOP_TOOLBAR);
+ set_frame_toolbar (f, BOTTOM_TOOLBAR);
+ set_frame_toolbar (f, LEFT_TOOLBAR);
+ set_frame_toolbar (f, RIGHT_TOOLBAR);
}
void
&& (f->toolbar_changed || f->frame_changed || f->clear))
{
int pos;
-
+
/* We're not officially "in redisplay", so we still have a
chance to re-layout toolbars and windows. This is done here,
because toolbar is the only thing which currently might
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");
if (!CONSP (elt[0]))
{
/* We can't check the buffer-local here because we don't know
- 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.
+ 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. */
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))
{
void
syms_of_toolbar (void)
{
+ INIT_LRECORD_IMPLEMENTATION (toolbar_button);
+
defsymbol (&Qtoolbar_buttonp, "toolbar-button-p");
defsymbol (&Q2D, "2D");
defsymbol (&Q3D, "3D");
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] /*
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] /*
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] /*
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] /*
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'. */
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.
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] /*
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] /*
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] /*
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] /*
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 (Qx), make_int (DEFAULT_TOOLBAR_HEIGHT)), fb);
#endif
#ifdef HAVE_MS_WINDOWS
- fb = Fcons (Fcons (list1 (Qmswindows),
+ fb = Fcons (Fcons (list1 (Qmswindows),
make_int (MSWINDOWS_DEFAULT_TOOLBAR_HEIGHT)), fb);
#endif
if (!NILP (fb))
fb = Fcons (Fcons (list1 (Qx), make_int (DEFAULT_TOOLBAR_WIDTH)), fb);
#endif
#ifdef HAVE_MS_WINDOWS
- fb = Fcons (Fcons (list1 (Qmswindows),
+ fb = Fcons (Fcons (list1 (Qmswindows),
make_int (MSWINDOWS_DEFAULT_TOOLBAR_WIDTH)), fb);
#endif
if (!NILP (fb))
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] /*
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] /*
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] /*
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] /*
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
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] /*
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] /*
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] /*
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] /*
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'. */
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)));
}