annotate lwlib/xlwmenuP.h @ 22758:dbd9ecc9dbac

Added next-buffer/previous-buffer keybindings (bound to M-n/M-p). (crisp-unbury-buffer): New function. Fixed bogus XEmacs/Lucid string-match checking. Made modeline entry mouse2-able. (crisp-mode-map): Make this a sparse keymap parented from current-global-map. (crisp-mode-original-keymap): Don't copy the keymap. (crisp-last-last-command): Renamed from last-last-command. defvar it. (crisp-mode): Honor ARG. (crisp-kill-line, crisp-copy-line): When a region isn't highlighted, use the region from point to eol. Honor prefix argument. (crisp-submit-bug-report): New command, taken from cc-mode. Shortened the version numbering, removed the release-version tracking (crisp-version): New function. New keybindings `C-home', `C-end', `M-home', `M-end', `C-f', `M-l', `M-m'. (crisp-copy-line): No need to save point. Removed S-right and S-left bindings. Abstract the marking and selection interfaces so that we can be compatible with both Emacs and XEmacs. And try and make the behavior as close as possible under both environments so that there are no surprises.
author Karl Heuer <kwzh@gnu.org>
date Tue, 14 Jul 1998 22:17:35 +0000
parents cfb65c58eb9a
children 584c34c7cf53
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7359
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 #ifndef _XlwMenuP_h
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 #define _XlwMenuP_h
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 #include "xlwmenu.h"
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 #include <X11/CoreP.h>
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 /* Elements in the stack arrays. */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 typedef struct _window_state
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 {
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 Window window;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 Position x;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 Position y;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 Dimension width;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 Dimension height;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 Dimension label_width;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 } window_state;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 /* New fields for the XlwMenu widget instance record */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 typedef struct _XlwMenu_part
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 {
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 /* slots set by the resources */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 XFontStruct* font;
7360
cfb65c58eb9a entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7359
diff changeset
24 Pixel foreground;
7359
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 Pixel button_foreground;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 Dimension margin;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 Dimension horizontal_spacing;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 Dimension vertical_spacing;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 Dimension arrow_spacing;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30 Dimension shadow_thickness;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 Pixel top_shadow_color;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 Pixel bottom_shadow_color;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 Pixmap top_shadow_pixmap;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 Pixmap bottom_shadow_pixmap;
7360
cfb65c58eb9a entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 7359
diff changeset
35 Cursor cursor_shape;
7359
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36 XtCallbackList open;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
37 XtCallbackList select;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
38 widget_value* contents;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39 int horizontal;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 /* State of the XlwMenu */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42 int old_depth;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
43 widget_value** old_stack;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
44 int old_stack_length;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 /* New state after the user moved */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47 int new_depth;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
48 widget_value** new_stack;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
49 int new_stack_length;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 /* Window resources */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
52 window_state* windows;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
53 int windows_length;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 /* Internal part, set by the XlwMenu */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 GC foreground_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57 GC button_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
58 GC background_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
59 GC inactive_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 GC inactive_button_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 GC shadow_top_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 GC shadow_bottom_gc;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 Cursor cursor;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 Boolean popped_up;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 Pixmap gray_pixmap;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 } XlwMenuPart;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 /* Full instance record declaration */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
69 typedef struct _XlwMenuRec
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
70 {
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 CorePart core;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
72 XlwMenuPart menu;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
73 } XlwMenuRec;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
75 /* New fields for the XlwMenu widget class record */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
76 typedef struct
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 {
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 int dummy;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 } XlwMenuClassPart;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
80
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 /* Full class record declaration. */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
82 typedef struct _XlwMenuClassRec
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
83 {
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
84 CoreClassPart core_class;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
85 XlwMenuClassPart menu_class;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86 } XlwMenuClassRec;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 /* Class pointer. */
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 extern XlwMenuClassRec xlwMenuClassRec;
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90
6ab8e21b9b7c Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 #endif /* _XlwMenuP_h */