Mercurial > emacs
view lwlib/xlwmenuP.h @ 10314:b5260fe3dfdd
(Fmake_indirect_buffer): New function.
(Fbuffer_base_buffer): New function.
(syms_of_buffer): defsubr them.
(reset_buffer): Don't alter intervals here.
(Fget_buffer_create): Use BUF_MARKERS. Init BUF_INTERVALS here.
(Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf.
Likewise BUF_INTERVALS.
(init_buffer_once): Set up .text and BUF_INTERVALS
in buffer_local_symbols and buffer_defaults.
(Fkill_buffer): Don't free the text in indirect buffer.
When killing a base buffer, kill its indirect buffers first.
(set_buffer_temp): New function.
(reset_buffer_local_variables): Initialize buffer_file_type field.
(Fget_buffer_create): Initialize pt_marker, begv/zv_marker.
(set_buffer_internal): Use and update these markers.
Copy undo_list in and out of the base buffer.
(Fget_buffer_create): Init save_modiff field here.
(reset_buffer): Not here.
(Fbuffer_modified_p): Use BUF_SAVE_MODIFF.
(Fset_buffer_modified_p): Use SAVE_MODIFF.
(Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF.
(Fget_buffer_create): Initialize the size and text fields.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 02 Jan 1995 21:50:28 +0000 |
parents | cfb65c58eb9a |
children | 584c34c7cf53 |
line wrap: on
line source
#ifndef _XlwMenuP_h #define _XlwMenuP_h #include "xlwmenu.h" #include <X11/CoreP.h> /* Elements in the stack arrays. */ typedef struct _window_state { Window window; Position x; Position y; Dimension width; Dimension height; Dimension label_width; } window_state; /* New fields for the XlwMenu widget instance record */ typedef struct _XlwMenu_part { /* slots set by the resources */ XFontStruct* font; Pixel foreground; Pixel button_foreground; Dimension margin; Dimension horizontal_spacing; Dimension vertical_spacing; Dimension arrow_spacing; Dimension shadow_thickness; Pixel top_shadow_color; Pixel bottom_shadow_color; Pixmap top_shadow_pixmap; Pixmap bottom_shadow_pixmap; Cursor cursor_shape; XtCallbackList open; XtCallbackList select; widget_value* contents; int horizontal; /* State of the XlwMenu */ int old_depth; widget_value** old_stack; int old_stack_length; /* New state after the user moved */ int new_depth; widget_value** new_stack; int new_stack_length; /* Window resources */ window_state* windows; int windows_length; /* Internal part, set by the XlwMenu */ GC foreground_gc; GC button_gc; GC background_gc; GC inactive_gc; GC inactive_button_gc; GC shadow_top_gc; GC shadow_bottom_gc; Cursor cursor; Boolean popped_up; Pixmap gray_pixmap; } XlwMenuPart; /* Full instance record declaration */ typedef struct _XlwMenuRec { CorePart core; XlwMenuPart menu; } XlwMenuRec; /* New fields for the XlwMenu widget class record */ typedef struct { int dummy; } XlwMenuClassPart; /* Full class record declaration. */ typedef struct _XlwMenuClassRec { CoreClassPart core_class; XlwMenuClassPart menu_class; } XlwMenuClassRec; /* Class pointer. */ extern XlwMenuClassRec xlwMenuClassRec; #endif /* _XlwMenuP_h */