Mercurial > emacs
annotate oldXMenu/XMenu.h @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | fec5e03aaf59 |
children | edf631bdbb7a ec58e5c426ef 5cc91198ffb2 |
rev | line source |
---|---|
76174
fec5e03aaf59
Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
1 /* Copyright Massachusetts Institute of Technology 1985 */ |
fec5e03aaf59
Remove FSF copyright since file does not differ significantly from X11
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
2 |
25858 | 3 #include "copyright.h" |
4 | |
5 | |
6 /* | |
7 * XMenu: MIT Project Athena, X Window system menu package | |
8 * | |
9 * XMenu.h - Include file for the MIT Project Athena | |
10 * XMenu X window system menu package. | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
27454
diff
changeset
|
11 * |
25858 | 12 * Author: Tony Della Fera, DEC |
13 * August, 1984 | |
14 */ | |
15 | |
16 #ifndef _XMenu_h_ | |
17 #define _XMenu_h_ | |
18 | |
19 #include <X11/Xutil.h> | |
20 #include "X10.h" | |
21 | |
22 #define FAILURE -1 | |
23 #define SUCCESS 1 | |
24 #define POST_ERROR -1 | |
25 #define NO_SELECTION -1 | |
26 | |
27 #define XM_FAILURE -1 | |
28 #define XM_SUCCESS 1 | |
29 #define XM_NO_SELECT 2 | |
30 #define XM_IA_SELECT 3 | |
31 | |
32 #define XME_CODE_COUNT 17 | |
33 | |
34 #define XME_NO_ERROR 0 | |
35 #define XME_NOT_INIT 1 | |
36 #define XME_ARG_BOUNDS 2 | |
37 #define XME_P_NOT_FOUND 3 | |
38 #define XME_S_NOT_FOUND 4 | |
39 #define XME_STYLE_PARAM 5 | |
40 #define XME_GRAB_MOUSE 6 | |
41 #define XME_INTERP_LOC 7 | |
42 #define XME_CALLOC 8 | |
43 #define XME_CREATE_ASSOC 9 | |
44 #define XME_STORE_BITMAP 10 | |
45 #define XME_MAKE_TILES 11 | |
46 #define XME_MAKE_PIXMAP 12 | |
47 #define XME_CREATE_CURSOR 13 | |
48 #define XME_OPEN_FONT 14 | |
49 #define XME_CREATE_WINDOW 15 | |
50 #define XME_CREATE_TRANSP 16 | |
51 | |
52 /* | |
53 * XMenu error code and error list definitions. | |
54 */ | |
55 extern int _XMErrorCode; | |
56 extern char *_XMErrorList[]; | |
57 | |
58 /* | |
59 * Define the XMWindow datatypes. | |
60 * | |
61 * An XMWindow is either an XMPane or an XMSelect. | |
62 * | |
63 * XMWindow is wrapper used to identify the constant window | |
64 * information that makes up XMPane and XMSelect objects. | |
65 * | |
66 * An XMPane is a menu pane made up of one or more XMSelect and a label. | |
67 * | |
68 * An XMSelect is a menu selection object with a label and a data pointer. | |
69 */ | |
70 typedef enum _xmwintype {PANE, SELECTION, PL_HEADER, SL_HEADER, SEPARATOR} XMWType; | |
71 | |
72 typedef struct _xmwindow { | |
73 struct _xmwindow *next; /* Next obj pointer (for emacs_insque). */ | |
74 struct _xmwindow *prev; /* Prev obj pointer (for emacs_insque). */ | |
75 XMWType type; /* Type of window. */ | |
76 Window window; /* X Window Id. */ | |
77 int window_x; /* Window upper left X coordinate. */ | |
78 int window_y; /* Window upper left y coordinate. */ | |
79 int window_w; /* Window width. */ | |
80 int window_h; /* Window height. */ | |
81 int active; /* Window active? */ | |
82 int activated; /* Window activated? */ | |
83 int pad_l1; /* ---- */ | |
84 char *pad_l2; /* ---- */ | |
85 int pad_l3; /* ---- */ | |
86 int pad_l4; /* ---- */ | |
87 int pad_l5; /* ---- */ | |
88 int pad_l6; /* ---- */ | |
89 int pad_l7; /* ---- */ | |
90 int pad_l8; /* ---- */ | |
91 struct _xmwindow *pad_l9; /* ---- */ | |
92 char *pad_l10; /* ---- */ | |
93 struct _xmwindow *pad_l11; /* ---- */ | |
94 } XMWindow; | |
95 | |
96 typedef struct _xmpane { | |
97 struct _xmpane *next; /* Next obj pointer (for emacs_insque). */ | |
98 struct _xmpane *prev; /* Prev obj pointer (for emacs_insque). */ | |
99 XMWType type; /* Type of window. */ | |
100 Window window; /* X Window Id. */ | |
101 int window_x; /* Window upper left X coordinate. */ | |
102 int window_y; /* Window upper left y coordinate. */ | |
103 int window_w; /* Window width. */ | |
104 int window_h; /* Window height. */ | |
105 int active; /* Window active? */ | |
106 int activated; /* Window activated? */ | |
107 int serial; /* -- Pane serial number. */ | |
108 char *label; /* -- Pane label. */ | |
109 int label_width; /* -- Pane label width in pixels. */ | |
110 int label_length; /* -- Pane label length in chars. */ | |
111 int label_x; /* -- Pane label X offset. */ | |
112 int label_uy; /* -- Pane label upper Y offset. */ | |
113 int label_ly; /* -- Pane label lower Y offset. */ | |
114 int s_count; /* -- Selections in this pane. */ | |
115 struct _xmselect *s_list; /* -- Selection window list. */ | |
116 char *pad_l10; /* ---- */ | |
117 struct _xmwindow *pad_l11; /* ---- */ | |
118 } XMPane; | |
119 | |
120 typedef struct _xmselect { | |
121 struct _xmselect *next; /* Next obj pointer (for emacs_insque). */ | |
122 struct _xmselect *prev; /* Prev obj pointer (for emacs_insque). */ | |
123 XMWType type; /* Type of window. */ | |
124 Window window; /* X Window Id. */ | |
125 Window parent; /* X Window id of parent window. */ | |
126 int window_x; /* Window upper left X coordinate. */ | |
127 int window_y; /* Window upper left y coordinate. */ | |
128 int window_w; /* Window width. */ | |
129 int window_h; /* Window height. */ | |
130 int active; /* Window active? */ | |
131 int activated; /* Window activated? */ | |
132 int serial; /* -- Selection serial number. */ | |
133 char *label; /* -- Selection label. */ | |
134 int label_width; /* -- Selection label width in pixels. */ | |
135 int label_length; /* -- Selection label length in chars. */ | |
136 int label_x; /* -- Selection label X offset. */ | |
137 int label_y; /* -- Selection label Y offset. */ | |
138 int pad_l7; /* ---- */ | |
139 int pad_l8; /* ---- */ | |
140 struct _xmwindow *pad_l9; /* ---- */ | |
141 char *data; /* -- Selection data pointer. */ | |
142 struct _xmpane *parent_p; /* -- Selection parent pane structure. */ | |
27454
60bf61bbd0b3
(XmSelect): Add member `help_string'.
Gerd Moellmann <gerd@gnu.org>
parents:
25858
diff
changeset
|
143 char *help_string; /* Help string or null. */ |
25858 | 144 } XMSelect; |
145 | |
146 | |
147 /* | |
148 * Define the XMStyle datatype. | |
149 * | |
150 * Menu presentation style information. | |
151 * | |
152 */ | |
153 typedef enum _xmstyle { | |
154 LEFT, /* Left oriented obejct. */ | |
155 RIGHT, /* Right oriented obejct. */ | |
156 CENTER /* Center oriented object. */ | |
157 } XMStyle; | |
158 | |
159 | |
160 /* | |
161 * Define the XMMode datatype. | |
162 * | |
163 * Menu presentation mode information. | |
164 * | |
165 */ | |
166 typedef enum _xmmode { | |
167 BOX, /* BOXed graphic rendition. */ | |
168 INVERT /* INVERTed graphic rendition. */ | |
169 } XMMode; | |
170 | |
171 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
27454
diff
changeset
|
172 /* |
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
27454
diff
changeset
|
173 * Define the XMenu datatype. |
25858 | 174 * |
175 * All dimensions are in pixels unless otherwise noted. | |
176 */ | |
177 typedef struct _xmenu { | |
178 /* -------------------- Menu data -------------------- */ | |
179 XMStyle menu_style; /* Menu display style. */ | |
180 XMMode menu_mode; /* Menu display mode. */ | |
181 int freeze; /* Freeze server mode? */ | |
182 int aeq; /* Asynchronous Event Queuing mode? */ | |
183 int recompute; /* Recompute menu dependencies? */ | |
184 Window parent; /* Menu's parent window. */ | |
185 int width; /* Overall menu width. */ | |
186 int height; /* Overall menu height. */ | |
187 int x_pos; /* Oveall menu origin. */ | |
188 int y_pos; /* Overall menu origin. */ | |
189 Cursor mouse_cursor; /* Mouse cursor raster. */ | |
190 XAssocTable *assoc_tab; /* XMWindow association table. */ | |
191 XMPane *p_list; /* List of XMPanes. */ | |
192 /* -------------------- Pane window data -------------------- */ | |
193 XMStyle p_style; /* Pane display style. */ | |
194 int p_events; /* Pane window X events. */ | |
195 XFontStruct *p_fnt_info; /* Flag font info structure. */ | |
196 GC pane_GC; /* Pane graphics context. */ | |
197 int p_fnt_pad; /* Fixed flag font padding in pixels. */ | |
198 double p_spread; /* Pane spread in flag height fractions. */ | |
199 int p_bdr_width; /* Pane border width. */ | |
200 int flag_height; /* Flag height. */ | |
201 int p_width; /* Menu pane width. */ | |
202 int p_height; /* Menu pane height. */ | |
203 int p_x_off; /* Pane window X offset. */ | |
204 int p_y_off; /* Pane window Y offset. */ | |
205 int p_count; /* Number of panes per menu. */ | |
206 /* -------------------- Selection window data -------------------- */ | |
207 XMStyle s_style; /* Selection display style. */ | |
208 int s_events; /* Selection window X events. */ | |
209 XFontStruct *s_fnt_info; /* Body font info structure. */ | |
210 int s_fnt_pad; /* Fixed body font padding in pixels. */ | |
211 double s_spread; /* Select spread in line height fractions. */ | |
212 int s_bdr_width; /* Select border width. */ | |
213 int s_width; /* Selection window width. */ | |
214 int s_height; /* Selection window height. */ | |
215 int s_x_off; /* Selection window X offset. */ | |
216 int s_y_off; /* Selection window Y offset. */ | |
217 int s_count; /* Maximum number of selections per pane. */ | |
218 GC normal_select_GC; /* GC used for inactive selections. */ | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
27454
diff
changeset
|
219 GC inverse_select_GC; /* GC used for active (current) selection. */ |
25858 | 220 GC inact_GC; /* GC used for inactive selections and */ |
221 /* panes headers. */ | |
222 /* -------------------- Color data -------------------- */ | |
223 unsigned long p_bdr_color; /* Color of pane border pixmap. */ | |
224 unsigned long s_bdr_color; /* Color of selection border pixmap. */ | |
225 unsigned long p_frg_color; /* Color of pane foreground pixmap. */ | |
226 unsigned long s_frg_color; /* Color of selection pixmap. */ | |
227 unsigned long bkgnd_color; /* Color of menu background pixmap. */ | |
228 /* -------------------- Pixmap data -------------------- */ | |
229 Pixmap p_bdr_pixmap; /* Pane border pixmap. */ | |
230 Pixmap s_bdr_pixmap; /* Selection border pixmap. */ | |
231 Pixmap p_frg_pixmap; /* Pane foreground pixmap. */ | |
232 Pixmap s_frg_pixmap; /* Selection foreground pixmap. */ | |
233 Pixmap bkgnd_pixmap; /* Menu background pixmap. */ | |
234 Pixmap inact_pixmap; /* Menu inactive pixmap. */ | |
235 } XMenu; | |
236 | |
237 /* | |
238 * XMenu library routine declarations. | |
239 */ | |
240 XMenu *XMenuCreate(); | |
241 int XMenuAddPane(); | |
242 int XMenuAddSelection(); | |
243 int XMenuInsertPane(); | |
244 int XMenuInsertSelection(); | |
245 int XMenuFindPane(); | |
246 int XMenuFindSelection(); | |
247 int XMenuChangePane(); | |
248 int XMenuChangeSelection(); | |
249 int XMenuSetPane(); | |
250 int XMenuSetSelection(); | |
251 int XMenuRecompute(); | |
252 int XMenuEventHandler(); /* No value actually returned. */ | |
253 int XMenuLocate(); | |
254 int XMenuSetFreeze(); /* No value actually returned. */ | |
58167
9351060ba546
* XMenu.h (XMenuActivateSetWaitFunction): New function.
Jan Djärv <jan.h.d@swipnet.se>
parents:
54770
diff
changeset
|
255 void XMenuActivateSetWaitFunction(); |
25858 | 256 int XMenuActivate(); |
257 char *XMenuPost(); | |
258 int XMenuDeletePane(); | |
259 int XMenuDeleteSelection(); | |
260 int XMenuDestroy(); /* No value actually returned. */ | |
261 char *XMenuError(); | |
262 | |
263 #endif | |
264 /* Don't add after this point. */ | |
52401 | 265 |
266 /* arch-tag: 7e57b5ac-9355-4057-9385-afbe6912d60f | |
267 (do not change this comment) */ |