]>
Commit | Line | Data |
---|---|---|
9ce192d4 RD |
1 | // Scintilla source code edit control |
2 | // Scintilla.h - interface to the edit control | |
3 | // Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org> | |
4 | // The License.txt file describes the conditions under which this software may be distributed. | |
5 | ||
6 | #ifndef SCINTILLA_H | |
7 | #define SCINTILLA_H | |
8 | ||
9 | // Compile-time configuration options | |
10 | #define MACRO_SUPPORT 1 // Comment out to remove macro hooks | |
11 | ||
12 | #if PLAT_GTK | |
13 | #include <gdk/gdk.h> | |
14 | #include <gtk/gtkvbox.h> | |
15 | ||
16 | #ifdef __cplusplus | |
17 | extern "C" { | |
18 | #endif | |
19 | ||
20 | #define SCINTILLA(obj) GTK_CHECK_CAST (obj, scintilla_get_type (), ScintillaObject) | |
21 | #define SCINTILLA_CLASS(klass) GTK_CHECK_CLASS_CAS T (klass, scintilla_get_type (), ScintillaClass) | |
22 | #define IS_SCINTILLA(obj) GTK_CHECK_TYPE (obj, scintilla_get_type ()) | |
23 | ||
24 | typedef struct _ScintillaObject ScintillaObject; | |
25 | typedef struct _ScintillaClass ScintillaClass; | |
26 | ||
27 | struct _ScintillaObject | |
28 | { | |
29 | GtkFixed vbox; | |
30 | void *pscin; | |
31 | }; | |
32 | ||
33 | struct _ScintillaClass | |
34 | { | |
35 | GtkFixedClass parent_class; | |
36 | ||
37 | void (* command) (ScintillaObject *ttt); | |
38 | void (* notify) (ScintillaObject *ttt); | |
39 | }; | |
40 | ||
41 | guint scintilla_get_type (void); | |
42 | GtkWidget* scintilla_new (void); | |
43 | void scintilla_set_id (ScintillaObject *sci,int id); | |
44 | long scintilla_send_message (ScintillaObject *sci,int iMessage,int wParam,int lParam); | |
45 | ||
46 | #include "WinDefs.h" | |
47 | ||
48 | #ifdef __cplusplus | |
49 | } | |
50 | #endif | |
51 | ||
52 | #endif | |
53 | ||
54 | #if PLAT_WX | |
55 | #include "WinDefs.h" | |
56 | #endif | |
57 | ||
58 | // Both GTK and Windows | |
59 | ||
60 | #define INVALID_POSITION -1 | |
61 | ||
62 | // Define start of Scintilla messages to be greater than all edit (EM_*) messages | |
63 | // as many EM_ messages can be used. | |
64 | #define SCI_START 2000 | |
65 | #define SCI_OPTIONAL_START 3000 | |
66 | #define SCI_LEXER_START 4000 | |
67 | ||
68 | #define SCI_ADDTEXT SCI_START + 1 | |
69 | #define SCI_ADDSTYLEDTEXT SCI_START + 2 | |
70 | #define SCI_INSERTTEXT SCI_START + 3 | |
71 | #define SCI_CLEARALL SCI_START + 4 | |
72 | #define SCI_GETLENGTH SCI_START + 6 | |
73 | #define SCI_GETCHARAT SCI_START + 7 | |
74 | #define SCI_GETCURRENTPOS SCI_START + 8 | |
75 | #define SCI_GETANCHOR SCI_START + 9 | |
76 | #define SCI_GETSTYLEAT SCI_START + 10 | |
77 | ||
78 | #define SCI_REDO SCI_START + 11 | |
79 | #define SCI_SETUNDOCOLLECTION SCI_START + 12 | |
80 | #define SCI_SELECTALL SCI_START + 13 | |
81 | #define SCI_SETSAVEPOINT SCI_START + 14 | |
82 | #define SCI_GETSTYLEDTEXT SCI_START + 15 | |
83 | #define SCI_CANREDO SCI_START + 16 | |
84 | #define SCI_MARKERLINEFROMHANDLE SCI_START + 17 | |
85 | #define SCI_MARKERDELETEHANDLE SCI_START + 18 | |
86 | ||
87 | #define SC_UNDOCOLLECT_NONE 0 | |
88 | #define SC_UNDOCOLLECT_AUTOSTART 1 | |
89 | ||
90 | #define SCI_GETVIEWWS SCI_START + 20 | |
91 | #define SCI_SETVIEWWS SCI_START + 21 | |
92 | #define SCI_CHANGEPOSITION SCI_START + 22 | |
93 | #define SCI_GOTOLINE SCI_START + 24 | |
94 | #define SCI_GOTOPOS SCI_START + 25 | |
95 | #define SCI_SETANCHOR SCI_START + 26 | |
96 | #define SCI_GETCURLINE SCI_START + 27 | |
97 | #define SCI_GETENDSTYLED SCI_START + 28 | |
98 | #define SCI_CONVERTEOLS SCI_START + 29 | |
99 | ||
100 | #define SCI_GETEOLMODE SCI_START + 30 | |
101 | #define SCI_SETEOLMODE SCI_START + 31 | |
102 | ||
103 | #define SC_EOL_CRLF 0 | |
104 | #define SC_EOL_CR 1 | |
105 | #define SC_EOL_LF 2 | |
106 | ||
107 | #define SCI_STARTSTYLING SCI_START + 32 | |
108 | #define SCI_SETSTYLING SCI_START + 33 | |
109 | ||
110 | #define SCI_SETBUFFEREDDRAW SCI_START + 35 | |
111 | #define SCI_SETTABWIDTH SCI_START + 36 | |
112 | #define SCI_SETCODEPAGE SCI_START + 37 | |
113 | #define SCI_SETUSEPALETTE SCI_START + 39 | |
114 | ||
115 | #define MARKER_MAX 31 | |
116 | ||
117 | #define SC_MARK_CIRCLE 0 | |
118 | #define SC_MARK_ROUNDRECT 1 | |
119 | #define SC_MARK_ARROW 2 | |
120 | #define SC_MARK_SMALLRECT 3 | |
121 | #define SC_MARK_SHORTARROW 4 | |
122 | #define SC_MARK_EMPTY 5 | |
123 | #define SC_MARK_ARROWDOWN 6 | |
124 | #define SC_MARK_MINUS 7 | |
125 | #define SC_MARK_PLUS 8 | |
126 | ||
127 | #define SCI_MARKERDEFINE SCI_START + 40 | |
128 | #define SCI_MARKERSETFORE SCI_START + 41 | |
129 | #define SCI_MARKERSETBACK SCI_START + 42 | |
130 | #define SCI_MARKERADD SCI_START + 43 | |
131 | #define SCI_MARKERDELETE SCI_START + 44 | |
132 | #define SCI_MARKERDELETEALL SCI_START + 45 | |
133 | #define SCI_MARKERGET SCI_START + 46 | |
134 | #define SCI_MARKERNEXT SCI_START + 47 | |
135 | #define SCI_MARKERPREVIOUS SCI_START + 48 | |
136 | ||
137 | #define SC_MARKNUM_FOLDER 30 | |
138 | #define SC_MARKNUM_FOLDEROPEN 31 | |
139 | ||
140 | #define SC_MASK_FOLDERS ((1<<SC_MARKNUM_FOLDER) | (1<<SC_MARKNUM_FOLDEROPEN)) | |
141 | ||
142 | #define SC_MARGIN_SYMBOL 0 | |
143 | #define SC_MARGIN_NUMBER 1 | |
144 | ||
145 | #define SCI_SETMARGINTYPEN SCI_START + 240 | |
146 | #define SCI_GETMARGINTYPEN SCI_START + 241 | |
147 | #define SCI_SETMARGINWIDTHN SCI_START + 242 | |
148 | #define SCI_GETMARGINWIDTHN SCI_START + 243 | |
149 | #define SCI_SETMARGINMASKN SCI_START + 244 | |
150 | #define SCI_GETMARGINMASKN SCI_START + 245 | |
151 | #define SCI_SETMARGINSENSITIVEN SCI_START + 246 | |
152 | #define SCI_GETMARGINSENSITIVEN SCI_START + 247 | |
153 | ||
154 | #define STYLE_DEFAULT 32 | |
155 | #define STYLE_LINENUMBER 33 | |
156 | #define STYLE_BRACELIGHT 34 | |
157 | #define STYLE_BRACEBAD 35 | |
158 | #define STYLE_CONTROLCHAR 36 | |
159 | #define STYLE_MAX 63 | |
160 | ||
161 | #define SCI_STYLECLEARALL SCI_START + 50 | |
162 | #define SCI_STYLESETFORE SCI_START + 51 | |
163 | #define SCI_STYLESETBACK SCI_START + 52 | |
164 | #define SCI_STYLESETBOLD SCI_START + 53 | |
165 | #define SCI_STYLESETITALIC SCI_START + 54 | |
166 | #define SCI_STYLESETSIZE SCI_START + 55 | |
167 | #define SCI_STYLESETFONT SCI_START + 56 | |
168 | #define SCI_STYLESETEOLFILLED SCI_START + 57 | |
169 | #define SCI_STYLERESETDEFAULT SCI_START + 58 | |
170 | ||
171 | #define SCI_SETSELFORE SCI_START + 67 | |
172 | #define SCI_SETSELBACK SCI_START + 68 | |
173 | #define SCI_SETCARETFORE SCI_START + 69 | |
174 | ||
175 | #define SCI_ASSIGNCMDKEY SCI_START + 70 | |
176 | #define SCI_CLEARCMDKEY SCI_START + 71 | |
177 | #define SCI_CLEARALLCMDKEYS SCI_START + 72 | |
178 | ||
179 | #define SCI_SETSTYLINGEX SCI_START + 73 | |
180 | ||
181 | #define SCI_GETCARETPERIOD SCI_START + 75 | |
182 | #define SCI_SETCARETPERIOD SCI_START + 76 | |
183 | #define SCI_SETWORDCHARS SCI_START + 77 | |
184 | ||
185 | #define SCI_BEGINUNDOACTION SCI_START + 78 | |
186 | #define SCI_ENDUNDOACTION SCI_START + 79 | |
187 | ||
188 | #define INDIC_MAX 7 | |
189 | ||
190 | #define INDIC_PLAIN 0 | |
191 | #define INDIC_SQUIGGLE 1 | |
192 | #define INDIC_TT 2 | |
193 | ||
194 | #define INDIC0_MASK 32 | |
195 | #define INDIC1_MASK 64 | |
196 | #define INDIC2_MASK 128 | |
197 | #define INDICS_MASK (INDIC0_MASK | INDIC1_MASK | INDIC2_MASK) | |
198 | ||
199 | #define SCI_INDICSETSTYLE SCI_START + 80 | |
200 | #define SCI_INDICGETSTYLE SCI_START + 81 | |
201 | #define SCI_INDICSETFORE SCI_START + 82 | |
202 | #define SCI_INDICGETFORE SCI_START + 83 | |
203 | ||
204 | #define SCI_SETSTYLEBITS SCI_START + 90 | |
205 | #define SCI_GETSTYLEBITS SCI_START + 91 | |
206 | #define SCI_SETLINESTATE SCI_START + 92 | |
207 | #define SCI_GETLINESTATE SCI_START + 93 | |
208 | #define SCI_GETMAXLINESTATE SCI_START + 94 | |
209 | ||
210 | #define SCI_AUTOCSHOW SCI_START + 100 | |
211 | #define SCI_AUTOCCANCEL SCI_START + 101 | |
212 | #define SCI_AUTOCACTIVE SCI_START + 102 | |
213 | #define SCI_AUTOCPOSSTART SCI_START + 103 | |
214 | #define SCI_AUTOCCOMPLETE SCI_START + 104 | |
215 | #define SCI_AUTOCSTOPS SCI_START + 105 | |
216 | ||
217 | #define SCI_CALLTIPSHOW SCI_START + 200 | |
218 | #define SCI_CALLTIPCANCEL SCI_START + 201 | |
219 | #define SCI_CALLTIPACTIVE SCI_START + 202 | |
220 | #define SCI_CALLTIPPOSSTART SCI_START + 203 | |
221 | #define SCI_CALLTIPSETHLT SCI_START + 204 | |
222 | #define SCI_CALLTIPSETBACK SCI_START + 205 | |
223 | ||
224 | #define SC_FOLDLEVELBASE 0x400 | |
225 | #define SC_FOLDLEVELWHITEFLAG 0x1000 | |
226 | #define SC_FOLDLEVELHEADERFLAG 0x2000 | |
227 | #define SC_FOLDLEVELNUMBERMASK 0x0FFF | |
228 | ||
229 | #define SCI_VISIBLEFROMDOCLINE SCI_START + 220 | |
230 | #define SCI_DOCLINEFROMVISIBLE SCI_START + 221 | |
231 | #define SCI_SETFOLDLEVEL SCI_START + 222 | |
232 | #define SCI_GETFOLDLEVEL SCI_START + 223 | |
233 | #define SCI_GETLASTCHILD SCI_START + 224 | |
234 | #define SCI_GETFOLDPARENT SCI_START + 225 | |
235 | #define SCI_SHOWLINES SCI_START + 226 | |
236 | #define SCI_HIDELINES SCI_START + 227 | |
237 | #define SCI_GETLINEVISIBLE SCI_START + 228 | |
238 | #define SCI_SETFOLDEXPANDED SCI_START + 229 | |
239 | #define SCI_GETFOLDEXPANDED SCI_START + 230 | |
240 | #define SCI_TOGGLEFOLD SCI_START + 231 | |
241 | #define SCI_ENSUREVISIBLE SCI_START + 232 | |
242 | #define SCI_SETFOLDFLAGS SCI_START + 233 | |
243 | ||
244 | // Key messages | |
245 | #define SCI_LINEDOWN SCI_START + 300 | |
246 | #define SCI_LINEDOWNEXTEND SCI_START + 301 | |
247 | #define SCI_LINEUP SCI_START + 302 | |
248 | #define SCI_LINEUPEXTEND SCI_START + 303 | |
249 | #define SCI_CHARLEFT SCI_START + 304 | |
250 | #define SCI_CHARLEFTEXTEND SCI_START + 305 | |
251 | #define SCI_CHARRIGHT SCI_START + 306 | |
252 | #define SCI_CHARRIGHTEXTEND SCI_START + 307 | |
253 | #define SCI_WORDLEFT SCI_START + 308 | |
254 | #define SCI_WORDLEFTEXTEND SCI_START + 309 | |
255 | #define SCI_WORDRIGHT SCI_START + 310 | |
256 | #define SCI_WORDRIGHTEXTEND SCI_START + 311 | |
257 | #define SCI_HOME SCI_START + 312 | |
258 | #define SCI_HOMEEXTEND SCI_START + 313 | |
259 | #define SCI_LINEEND SCI_START + 314 | |
260 | #define SCI_LINEENDEXTEND SCI_START + 315 | |
261 | #define SCI_DOCUMENTSTART SCI_START + 316 | |
262 | #define SCI_DOCUMENTSTARTEXTEND SCI_START + 317 | |
263 | #define SCI_DOCUMENTEND SCI_START + 318 | |
264 | #define SCI_DOCUMENTENDEXTEND SCI_START + 319 | |
265 | #define SCI_PAGEUP SCI_START + 320 | |
266 | #define SCI_PAGEUPEXTEND SCI_START + 321 | |
267 | #define SCI_PAGEDOWN SCI_START + 322 | |
268 | #define SCI_PAGEDOWNEXTEND SCI_START + 323 | |
269 | #define SCI_EDITTOGGLEOVERTYPE SCI_START + 324 | |
270 | #define SCI_CANCEL SCI_START + 325 | |
271 | #define SCI_DELETEBACK SCI_START + 326 | |
272 | #define SCI_TAB SCI_START + 327 | |
273 | #define SCI_BACKTAB SCI_START + 328 | |
274 | #define SCI_NEWLINE SCI_START + 329 | |
275 | #define SCI_FORMFEED SCI_START + 330 | |
276 | #define SCI_VCHOME SCI_START + 331 | |
277 | #define SCI_VCHOMEEXTEND SCI_START + 332 | |
278 | #define SCI_ZOOMIN SCI_START + 333 | |
279 | #define SCI_ZOOMOUT SCI_START + 334 | |
280 | #define SCI_DELWORDLEFT SCI_START + 335 | |
281 | #define SCI_DELWORDRIGHT SCI_START + 336 | |
282 | ||
283 | #define SCI_LINELENGTH SCI_START + 350 | |
284 | #define SCI_BRACEHIGHLIGHT SCI_START + 351 | |
285 | #define SCI_BRACEBADLIGHT SCI_START + 352 | |
286 | #define SCI_BRACEMATCH SCI_START + 353 | |
287 | #define SCI_GETVIEWEOL SCI_START + 355 | |
288 | #define SCI_SETVIEWEOL SCI_START + 356 | |
289 | #define SCI_GETDOCPOINTER SCI_START + 357 | |
290 | #define SCI_SETDOCPOINTER SCI_START + 358 | |
291 | #define SCI_SETMODEVENTMASK SCI_START + 359 | |
292 | ||
293 | #define EDGE_NONE 0 | |
294 | #define EDGE_LINE 1 | |
295 | #define EDGE_BACKGROUND 2 | |
296 | ||
297 | #define SCI_GETEDGECOLUMN SCI_START + 360 | |
298 | #define SCI_SETEDGECOLUMN SCI_START + 361 | |
299 | #define SCI_GETEDGEMODE SCI_START + 362 | |
300 | #define SCI_SETEDGEMODE SCI_START + 363 | |
301 | #define SCI_GETEDGECOLOUR SCI_START + 364 | |
302 | #define SCI_SETEDGECOLOUR SCI_START + 365 | |
303 | ||
304 | #define SCI_SEARCHANCHOR SCI_START + 366 | |
305 | #define SCI_SEARCHNEXT SCI_START + 367 | |
306 | #define SCI_SEARCHPREV SCI_START + 368 | |
307 | ||
308 | #define CARET_SLOP 0x01 // Show caret within N lines of edge when it's scrolled to view | |
309 | #define CARET_CENTER 0x02 // Center caret on screen when it's scrolled to view | |
310 | #define CARET_STRICT 0x04 // OR this with CARET_CENTER to reposition even when visible, or | |
311 | // OR this with CARET_SLOP to reposition whenever outside slop border | |
312 | ||
313 | #define SCI_SETCARETPOLICY SCI_START + 369 | |
314 | ||
315 | // GTK+ Specific | |
316 | #define SCI_GRABFOCUS SCI_START + 400 | |
317 | ||
318 | // Optional module for macro recording | |
319 | #ifdef MACRO_SUPPORT | |
320 | typedef void (tMacroRecorder)(UINT iMessage, WPARAM wParam, LPARAM lParam, | |
321 | void *userData); | |
322 | #define SCI_STARTRECORD SCI_OPTIONAL_START + 1 | |
323 | #define SCI_STOPRECORD SCI_OPTIONAL_START + 2 | |
324 | #endif | |
325 | ||
326 | #define SCI_SETLEXER SCI_LEXER_START + 1 | |
327 | #define SCI_GETLEXER SCI_LEXER_START + 2 | |
328 | #define SCI_COLOURISE SCI_LEXER_START + 3 | |
329 | #define SCI_SETPROPERTY SCI_LEXER_START + 4 | |
330 | #define SCI_SETKEYWORDS SCI_LEXER_START + 5 | |
331 | ||
332 | // Notifications | |
333 | ||
334 | // Type of modification and the action which caused the modification | |
335 | // These are defined as a bit mask to make it easy to specify which notifications are wanted. | |
336 | // One bit is set from each of SC_MOD_* and SC_PERFORMED_*. | |
337 | #define SC_MOD_INSERTTEXT 0x1 | |
338 | #define SC_MOD_DELETETEXT 0x2 | |
339 | #define SC_MOD_CHANGESTYLE 0x4 | |
340 | #define SC_MOD_CHANGEFOLD 0x8 | |
341 | #define SC_PERFORMED_USER 0x10 | |
342 | #define SC_PERFORMED_UNDO 0x20 | |
343 | #define SC_PERFORMED_REDO 0x40 | |
344 | #define SC_LASTSTEPINUNDOREDO 0x100 | |
345 | ||
346 | #define SC_MODEVENTMASKALL 0x377 | |
347 | ||
348 | struct SCNotification { | |
349 | NMHDR nmhdr; | |
350 | int position; // SCN_STYLENEEDED, SCN_MODIFIED | |
351 | int ch; // SCN_CHARADDED, SCN_KEY | |
352 | int modifiers; // SCN_KEY | |
353 | int modificationType; // SCN_MODIFIED | |
354 | const char *text; // SCN_MODIFIED | |
355 | int length; // SCN_MODIFIED | |
356 | int linesAdded; // SCN_MODIFIED | |
357 | #ifdef MACRO_SUPPORT | |
358 | int message; // SCN_MACRORECORD | |
359 | int wParam; // SCN_MACRORECORD | |
360 | int lParam; // SCN_MACRORECORD | |
361 | #endif | |
362 | int line; // SCN_MODIFIED | |
363 | int foldLevelNow; // SCN_MODIFIED | |
364 | int foldLevelPrev; // SCN_MODIFIED | |
365 | int margin; // SCN_MARGINCLICK | |
366 | }; | |
367 | ||
368 | #define SCN_STYLENEEDED 2000 | |
369 | #define SCN_CHARADDED 2001 | |
370 | #define SCN_SAVEPOINTREACHED 2002 | |
371 | #define SCN_SAVEPOINTLEFT 2003 | |
372 | #define SCN_MODIFYATTEMPTRO 2004 | |
373 | // GTK+ Specific to work around focus and accelerator problems: | |
374 | #define SCN_KEY 2005 | |
375 | #define SCN_DOUBLECLICK 2006 | |
376 | #define SCN_UPDATEUI 2007 | |
377 | // The old name for SCN_UPDATEUI: | |
378 | #define SCN_CHECKBRACE 2007 | |
379 | #define SCN_MODIFIED 2008 | |
380 | // Optional module for macro recording | |
381 | #ifdef MACRO_SUPPORT | |
382 | #define SCN_MACRORECORD 2009 | |
383 | #endif | |
384 | #define SCN_MARGINCLICK 2010 | |
385 | #define SCN_NEEDSHOWN 2011 | |
386 | ||
387 | #ifdef STATIC_BUILD | |
388 | void Scintilla_RegisterClasses(HINSTANCE hInstance); | |
389 | #endif | |
390 | ||
391 | // Deprecation section listing all API features that are deprecated and will | |
392 | // will be removed completely in a future version. | |
393 | // To enable these features define INCLUDE_DEPRECATED_FEATURES | |
394 | ||
395 | #ifdef INCLUDE_DEPRECATED_FEATURES | |
396 | ||
397 | // Default style settings. These are deprecated and will be removed in a future version. | |
398 | #define SCI_SETFORE SCI_START + 60 | |
399 | #define SCI_SETBACK SCI_START + 61 | |
400 | #define SCI_SETBOLD SCI_START + 62 | |
401 | #define SCI_SETITALIC SCI_START + 63 | |
402 | #define SCI_SETSIZE SCI_START + 64 | |
403 | #define SCI_SETFONT SCI_START + 65 | |
404 | ||
405 | #define SCI_APPENDUNDOSTARTACTION SCI_START + 74 | |
406 | ||
407 | #define SC_UNDOCOLLECT_MANUALSTART 2 | |
408 | ||
409 | // Deprecated in release 1.22 | |
410 | #define SCI_SETMARGINWIDTH SCI_START + 34 | |
411 | #define SCI_SETLINENUMBERWIDTH SCI_START + 38 | |
412 | ||
413 | #endif | |
414 | ||
415 | #endif |