]> git.saurik.com Git - wxWidgets.git/blame - src/stc/scintilla/include/Scintilla.h
Up-ported code to make tree item visible when programmatically
[wxWidgets.git] / src / stc / scintilla / include / Scintilla.h
CommitLineData
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
d134f170
RD
6// Most of this file is automatically generated from the Scintilla.iface interface definition
7// file which contains any comments about the definitions. HFacer.py does the generation.
8
9ce192d4
RD
9#ifndef SCINTILLA_H
10#define SCINTILLA_H
11
12// Compile-time configuration options
13#define MACRO_SUPPORT 1 // Comment out to remove macro hooks
14
d134f170
RD
15#if PLAT_WIN
16#ifdef STATIC_BUILD
17void Scintilla_RegisterClasses(HINSTANCE hInstance);
9ce192d4 18#endif
9ce192d4
RD
19#endif
20
d134f170 21typedef long (*SciFnDirect)(long ptr, unsigned int iMessage, unsigned long wParam, long lParam);
9ce192d4 22
d134f170
RD
23//++Autogenerated -- start of section automatically generated from Scintilla.iface
24#define INVALID_POSITION -1
9ce192d4
RD
25#define SCI_START 2000
26#define SCI_OPTIONAL_START 3000
27#define SCI_LEXER_START 4000
d134f170
RD
28#define SCI_ADDTEXT 2001
29#define SCI_ADDSTYLEDTEXT 2002
30#define SCI_INSERTTEXT 2003
31#define SCI_CLEARALL 2004
32#define SCI_CLEARDOCUMENTSTYLE 2005
33#define SCI_GETLENGTH 2006
34#define SCI_GETCHARAT 2007
35#define SCI_GETCURRENTPOS 2008
36#define SCI_GETANCHOR 2009
37#define SCI_GETSTYLEAT 2010
38#define SCI_REDO 2011
39#define SCI_SETUNDOCOLLECTION 2012
40#define SCI_SELECTALL 2013
41#define SCI_SETSAVEPOINT 2014
42#define SCI_GETSTYLEDTEXT 2015
43#define SCI_CANREDO 2016
44#define SCI_MARKERLINEFROMHANDLE 2017
45#define SCI_MARKERDELETEHANDLE 2018
46#define SCI_GETUNDOCOLLECTION 2019
47#define SCWS_INVISIBLE 0
48#define SCWS_VISIBLEALWAYS 1
49#define SCWS_VISIBLEAFTERINDENT 2
50#define SCI_GETVIEWWS 2020
51#define SCI_SETVIEWWS 2021
52#define SCI_POSITIONFROMPOINT 2022
53#define SCI_GOTOLINE 2024
54#define SCI_GOTOPOS 2025
55#define SCI_SETANCHOR 2026
56#define SCI_GETCURLINE 2027
57#define SCI_GETENDSTYLED 2028
58#define SCI_CONVERTEOLS 2029
9ce192d4
RD
59#define SC_EOL_CRLF 0
60#define SC_EOL_CR 1
61#define SC_EOL_LF 2
d134f170
RD
62#define SCI_GETEOLMODE 2030
63#define SCI_SETEOLMODE 2031
64#define SCI_STARTSTYLING 2032
65#define SCI_SETSTYLING 2033
66#define SCI_GETBUFFEREDDRAW 2034
67#define SCI_SETBUFFEREDDRAW 2035
68#define SCI_SETTABWIDTH 2036
69#define SCI_GETTABWIDTH 2121
f6bcfd97 70#define SC_CP_UTF8 65001
d134f170
RD
71#define SCI_SETCODEPAGE 2037
72#define SCI_SETUSEPALETTE 2039
9ce192d4 73#define MARKER_MAX 31
9ce192d4
RD
74#define SC_MARK_CIRCLE 0
75#define SC_MARK_ROUNDRECT 1
76#define SC_MARK_ARROW 2
77#define SC_MARK_SMALLRECT 3
78#define SC_MARK_SHORTARROW 4
79#define SC_MARK_EMPTY 5
80#define SC_MARK_ARROWDOWN 6
81#define SC_MARK_MINUS 7
82#define SC_MARK_PLUS 8
9ce192d4
RD
83#define SC_MARKNUM_FOLDER 30
84#define SC_MARKNUM_FOLDEROPEN 31
d134f170
RD
85#define SCI_MARKERDEFINE 2040
86#define SCI_MARKERSETFORE 2041
87#define SCI_MARKERSETBACK 2042
88#define SCI_MARKERADD 2043
89#define SCI_MARKERDELETE 2044
90#define SCI_MARKERDELETEALL 2045
91#define SCI_MARKERGET 2046
92#define SCI_MARKERNEXT 2047
93#define SCI_MARKERPREVIOUS 2048
9ce192d4
RD
94#define SC_MARGIN_SYMBOL 0
95#define SC_MARGIN_NUMBER 1
d134f170
RD
96#define SCI_SETMARGINTYPEN 2240
97#define SCI_GETMARGINTYPEN 2241
98#define SCI_SETMARGINWIDTHN 2242
99#define SCI_GETMARGINWIDTHN 2243
100#define SCI_SETMARGINMASKN 2244
101#define SCI_GETMARGINMASKN 2245
102#define SCI_SETMARGINSENSITIVEN 2246
103#define SCI_GETMARGINSENSITIVEN 2247
9ce192d4
RD
104#define STYLE_DEFAULT 32
105#define STYLE_LINENUMBER 33
106#define STYLE_BRACELIGHT 34
107#define STYLE_BRACEBAD 35
108#define STYLE_CONTROLCHAR 36
d134f170 109#define STYLE_INDENTGUIDE 37
f6bcfd97 110#define STYLE_MAX 127
f6bcfd97
BP
111#define SC_CHARSET_ANSI 0
112#define SC_CHARSET_DEFAULT 1
d134f170
RD
113#define SC_CHARSET_BALTIC 186
114#define SC_CHARSET_CHINESEBIG5 136
115#define SC_CHARSET_EASTEUROPE 238
116#define SC_CHARSET_GB2312 134
117#define SC_CHARSET_GREEK 161
118#define SC_CHARSET_HANGUL 129
119#define SC_CHARSET_MAC 77
120#define SC_CHARSET_OEM 255
f6bcfd97 121#define SC_CHARSET_RUSSIAN 204
d134f170
RD
122#define SC_CHARSET_SHIFTJIS 128
123#define SC_CHARSET_SYMBOL 2
124#define SC_CHARSET_TURKISH 162
125#define SC_CHARSET_JOHAB 130
126#define SC_CHARSET_HEBREW 177
127#define SC_CHARSET_ARABIC 178
128#define SC_CHARSET_VIETNAMESE 163
129#define SC_CHARSET_THAI 222
130#define SCI_STYLECLEARALL 2050
131#define SCI_STYLESETFORE 2051
132#define SCI_STYLESETBACK 2052
133#define SCI_STYLESETBOLD 2053
134#define SCI_STYLESETITALIC 2054
135#define SCI_STYLESETSIZE 2055
136#define SCI_STYLESETFONT 2056
137#define SCI_STYLESETEOLFILLED 2057
138#define SCI_STYLERESETDEFAULT 2058
139#define SCI_STYLESETUNDERLINE 2059
140#define SCI_STYLESETCHARACTERSET 2066
141#define SCI_SETSELFORE 2067
142#define SCI_SETSELBACK 2068
143#define SCI_SETCARETFORE 2069
144#define SCI_ASSIGNCMDKEY 2070
145#define SCI_CLEARCMDKEY 2071
146#define SCI_CLEARALLCMDKEYS 2072
147#define SCI_SETSTYLINGEX 2073
148#define SCI_STYLESETVISIBLE 2074
149#define SCI_GETCARETPERIOD 2075
150#define SCI_SETCARETPERIOD 2076
151#define SCI_SETWORDCHARS 2077
152#define SCI_BEGINUNDOACTION 2078
153#define SCI_ENDUNDOACTION 2079
9ce192d4 154#define INDIC_MAX 7
9ce192d4
RD
155#define INDIC_PLAIN 0
156#define INDIC_SQUIGGLE 1
157#define INDIC_TT 2
f6bcfd97
BP
158#define INDIC_DIAGONAL 3
159#define INDIC_STRIKE 4
9ce192d4
RD
160#define INDIC0_MASK 32
161#define INDIC1_MASK 64
162#define INDIC2_MASK 128
d134f170
RD
163#define INDICS_MASK INDIC0_MASK | INDIC1_MASK | INDIC2_MASK
164#define SCI_INDICSETSTYLE 2080
165#define SCI_INDICGETSTYLE 2081
166#define SCI_INDICSETFORE 2082
167#define SCI_INDICGETFORE 2083
168#define SCI_SETSTYLEBITS 2090
169#define SCI_GETSTYLEBITS 2091
170#define SCI_SETLINESTATE 2092
171#define SCI_GETLINESTATE 2093
172#define SCI_GETMAXLINESTATE 2094
173#define SCI_AUTOCSHOW 2100
174#define SCI_AUTOCCANCEL 2101
175#define SCI_AUTOCACTIVE 2102
176#define SCI_AUTOCPOSSTART 2103
177#define SCI_AUTOCCOMPLETE 2104
178#define SCI_AUTOCSTOPS 2105
179#define SCI_AUTOCSETSEPARATOR 2106
180#define SCI_AUTOCGETSEPARATOR 2107
181#define SCI_AUTOCSELECT 2108
182#define SCI_AUTOCSETCANCELATSTART 2110
183#define SCI_AUTOCGETCANCELATSTART 2111
184#define SCI_AUTOCSETFILLUPS 2112
185#define SCI_AUTOCSETCHOOSESINGLE 2113
186#define SCI_AUTOCGETCHOOSESINGLE 2114
187#define SCI_AUTOCSETIGNORECASE 2115
188#define SCI_AUTOCGETIGNORECASE 2116
189#define SCI_SETINDENT 2122
190#define SCI_GETINDENT 2123
191#define SCI_SETUSETABS 2124
192#define SCI_GETUSETABS 2125
193#define SCI_SETLINEINDENTATION 2126
194#define SCI_GETLINEINDENTATION 2127
195#define SCI_GETLINEINDENTPOSITION 2128
196#define SCI_GETCOLUMN 2129
197#define SCI_SETHSCROLLBAR 2130
198#define SCI_GETHSCROLLBAR 2131
199#define SCI_SETINDENTATIONGUIDES 2132
200#define SCI_GETINDENTATIONGUIDES 2133
201#define SCI_SETHIGHLIGHTGUIDE 2134
202#define SCI_GETHIGHLIGHTGUIDE 2135
203#define SCI_GETLINEENDPOSITION 2136
204#define SCI_GETCODEPAGE 2137
205#define SCI_GETCARETFORE 2138
206#define SCI_GETUSEPALETTE 2139
207#define SCI_GETREADONLY 2140
208#define SCI_SETCURRENTPOS 2141
209#define SCI_SETSELECTIONSTART 2142
210#define SCI_GETSELECTIONSTART 2143
211#define SCI_SETSELECTIONEND 2144
212#define SCI_GETSELECTIONEND 2145
213#define SCI_SETPRINTMAGNIFICATION 2146
214#define SCI_GETPRINTMAGNIFICATION 2147
215#define SC_PRINT_NORMAL 0
216#define SC_PRINT_INVERTLIGHT 1
217#define SC_PRINT_BLACKONWHITE 2
218#define SCI_SETPRINTCOLOURMODE 2148
219#define SCI_GETPRINTCOLOURMODE 2149
220#define SCFIND_DOWN 1
221#define SCFIND_WHOLEWORD 2
222#define SCFIND_MATCHCASE 4
223#define SCFIND_WORDSTART 0x00100000
224#define SCFIND_REGEXP 0x00200000
225#define SCI_FINDTEXT 2150
226#define SCI_FORMATRANGE 2151
227#define SCI_GETFIRSTVISIBLELINE 2152
228#define SCI_GETLINE 2153
229#define SCI_GETLINECOUNT 2154
230#define SCI_SETMARGINLEFT 2155
231#define SCI_GETMARGINLEFT 2156
232#define SCI_SETMARGINRIGHT 2157
233#define SCI_GETMARGINRIGHT 2158
234#define SCI_GETMODIFY 2159
235#define SCI_SETSEL 2160
236#define SCI_GETSELTEXT 2161
237#define SCI_GETTEXTRANGE 2162
238#define SCI_HIDESELECTION 2163
239#define SCI_POINTXFROMPOSITION 2164
240#define SCI_POINTYFROMPOSITION 2165
241#define SCI_LINEFROMPOSITION 2166
242#define SCI_POSITIONFROMLINE 2167
243#define SCI_LINESCROLL 2168
244#define SCI_SCROLLCARET 2169
245#define SCI_REPLACESEL 2170
246#define SCI_SETREADONLY 2171
247#define SCI_NULL 2172
248#define SCI_CANPASTE 2173
249#define SCI_CANUNDO 2174
250#define SCI_EMPTYUNDOBUFFER 2175
251#define SCI_UNDO 2176
252#define SCI_CUT 2177
253#define SCI_COPY 2178
254#define SCI_PASTE 2179
255#define SCI_CLEAR 2180
256#define SCI_SETTEXT 2181
257#define SCI_GETTEXT 2182
258#define SCI_GETTEXTLENGTH 2183
259#define SCI_GETDIRECTFUNCTION 2184
260#define SCI_GETDIRECTPOINTER 2185
261#define SCI_SETOVERTYPE 2186
262#define SCI_GETOVERTYPE 2187
263#define SCI_CALLTIPSHOW 2200
264#define SCI_CALLTIPCANCEL 2201
265#define SCI_CALLTIPACTIVE 2202
266#define SCI_CALLTIPPOSSTART 2203
267#define SCI_CALLTIPSETHLT 2204
268#define SCI_CALLTIPSETBACK 2205
269#define SCI_VISIBLEFROMDOCLINE 2220
270#define SCI_DOCLINEFROMVISIBLE 2221
9ce192d4
RD
271#define SC_FOLDLEVELBASE 0x400
272#define SC_FOLDLEVELWHITEFLAG 0x1000
273#define SC_FOLDLEVELHEADERFLAG 0x2000
274#define SC_FOLDLEVELNUMBERMASK 0x0FFF
d134f170
RD
275#define SCI_SETFOLDLEVEL 2222
276#define SCI_GETFOLDLEVEL 2223
277#define SCI_GETLASTCHILD 2224
278#define SCI_GETFOLDPARENT 2225
279#define SCI_SHOWLINES 2226
280#define SCI_HIDELINES 2227
281#define SCI_GETLINEVISIBLE 2228
282#define SCI_SETFOLDEXPANDED 2229
283#define SCI_GETFOLDEXPANDED 2230
284#define SCI_TOGGLEFOLD 2231
285#define SCI_ENSUREVISIBLE 2232
286#define SCI_SETFOLDFLAGS 2233
287#define SCI_LINEDOWN 2300
288#define SCI_LINEDOWNEXTEND 2301
289#define SCI_LINEUP 2302
290#define SCI_LINEUPEXTEND 2303
291#define SCI_CHARLEFT 2304
292#define SCI_CHARLEFTEXTEND 2305
293#define SCI_CHARRIGHT 2306
294#define SCI_CHARRIGHTEXTEND 2307
295#define SCI_WORDLEFT 2308
296#define SCI_WORDLEFTEXTEND 2309
297#define SCI_WORDRIGHT 2310
298#define SCI_WORDRIGHTEXTEND 2311
299#define SCI_HOME 2312
300#define SCI_HOMEEXTEND 2313
301#define SCI_LINEEND 2314
302#define SCI_LINEENDEXTEND 2315
303#define SCI_DOCUMENTSTART 2316
304#define SCI_DOCUMENTSTARTEXTEND 2317
305#define SCI_DOCUMENTEND 2318
306#define SCI_DOCUMENTENDEXTEND 2319
307#define SCI_PAGEUP 2320
308#define SCI_PAGEUPEXTEND 2321
309#define SCI_PAGEDOWN 2322
310#define SCI_PAGEDOWNEXTEND 2323
311#define SCI_EDITTOGGLEOVERTYPE 2324
312#define SCI_CANCEL 2325
313#define SCI_DELETEBACK 2326
314#define SCI_TAB 2327
315#define SCI_BACKTAB 2328
316#define SCI_NEWLINE 2329
317#define SCI_FORMFEED 2330
318#define SCI_VCHOME 2331
319#define SCI_VCHOMEEXTEND 2332
320#define SCI_ZOOMIN 2333
321#define SCI_ZOOMOUT 2334
322#define SCI_DELWORDLEFT 2335
323#define SCI_DELWORDRIGHT 2336
324#define SCI_LINECUT 2337
325#define SCI_LINEDELETE 2338
326#define SCI_LINETRANSPOSE 2339
327#define SCI_LOWERCASE 2340
328#define SCI_UPPERCASE 2341
329#define SCI_LINESCROLLDOWN 2342
330#define SCI_LINESCROLLUP 2343
331#define SCI_LINELENGTH 2350
332#define SCI_BRACEHIGHLIGHT 2351
333#define SCI_BRACEBADLIGHT 2352
334#define SCI_BRACEMATCH 2353
335#define SCI_GETVIEWEOL 2355
336#define SCI_SETVIEWEOL 2356
337#define SCI_GETDOCPOINTER 2357
338#define SCI_SETDOCPOINTER 2358
339#define SCI_SETMODEVENTMASK 2359
9ce192d4
RD
340#define EDGE_NONE 0
341#define EDGE_LINE 1
342#define EDGE_BACKGROUND 2
d134f170
RD
343#define SCI_GETEDGECOLUMN 2360
344#define SCI_SETEDGECOLUMN 2361
345#define SCI_GETEDGEMODE 2362
346#define SCI_SETEDGEMODE 2363
347#define SCI_GETEDGECOLOUR 2364
348#define SCI_SETEDGECOLOUR 2365
349#define SCI_SEARCHANCHOR 2366
350#define SCI_SEARCHNEXT 2367
351#define SCI_SEARCHPREV 2368
352#define CARET_SLOP 0x01
353#define CARET_CENTER 0x02
354#define CARET_STRICT 0x04
355#define SCI_SETCARETPOLICY 2369
356#define SCI_LINESONSCREEN 2370
357#define SCI_USEPOPUP 2371
358#define SCI_SELECTIONISRECTANGLE 2372
359#define SCI_SETZOOM 2373
360#define SCI_GETZOOM 2374
361#define SCI_CREATEDOCUMENT 2375
362#define SCI_ADDREFDOCUMENT 2376
363#define SCI_RELEASEDOCUMENT 2377
364#define SCI_GETMODEVENTMASK 2378
365#define SCI_GRABFOCUS 2400
366#define SCI_STARTRECORD 3001
367#define SCI_STOPRECORD 3002
368#define SCI_SETLEXER 4001
369#define SCI_GETLEXER 4002
370#define SCI_COLOURISE 4003
371#define SCI_SETPROPERTY 4004
372#define SCI_SETKEYWORDS 4005
9ce192d4
RD
373#define SC_MOD_INSERTTEXT 0x1
374#define SC_MOD_DELETETEXT 0x2
375#define SC_MOD_CHANGESTYLE 0x4
376#define SC_MOD_CHANGEFOLD 0x8
377#define SC_PERFORMED_USER 0x10
378#define SC_PERFORMED_UNDO 0x20
379#define SC_PERFORMED_REDO 0x40
380#define SC_LASTSTEPINUNDOREDO 0x100
f6bcfd97
BP
381#define SC_MOD_CHANGEMARKER 0x200
382#define SC_MOD_BEFOREINSERT 0x400
383#define SC_MOD_BEFOREDELETE 0x800
f6bcfd97 384#define SC_MODEVENTMASKALL 0xF77
d134f170
RD
385#define SCEN_CHANGE 768
386#define SCEN_SETFOCUS 512
387#define SCEN_KILLFOCUS 256
388#define SCK_DOWN 300
389#define SCK_UP 301
390#define SCK_LEFT 302
391#define SCK_RIGHT 303
392#define SCK_HOME 304
393#define SCK_END 305
394#define SCK_PRIOR 306
395#define SCK_NEXT 307
396#define SCK_DELETE 308
397#define SCK_INSERT 309
398#define SCK_ESCAPE 7
399#define SCK_BACK 8
400#define SCK_TAB 9
401#define SCK_RETURN 13
402#define SCK_ADD 310
403#define SCK_SUBTRACT 311
404#define SCK_DIVIDE 312
405#define SCMOD_SHIFT 1
406#define SCMOD_CTRL 2
407#define SCMOD_ALT 4
408#define SCN_STYLENEEDED 2000
409#define SCN_CHARADDED 2001
410#define SCN_SAVEPOINTREACHED 2002
411#define SCN_SAVEPOINTLEFT 2003
412#define SCN_MODIFYATTEMPTRO 2004
413#define SCN_KEY 2005
414#define SCN_DOUBLECLICK 2006
415#define SCN_UPDATEUI 2007
416#define SCN_CHECKBRACE 2007
417#define SCN_MODIFIED 2008
418#define SCN_MACRORECORD 2009
419#define SCN_MARGINCLICK 2010
420#define SCN_NEEDSHOWN 2011
421#define SCN_POSCHANGED 2012
422//--Autogenerated -- end of section automatically generated from Scintilla.iface
423
424// Optional module for macro recording
425#ifdef MACRO_SUPPORT
426typedef void (tMacroRecorder)(unsigned int iMessage, unsigned long wParam,
427 long lParam, void *userData);
428#endif
429
430// These structures are defined to be exactly the same shape as the Win32
431// CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
432// So older code that treats Scintilla as a RichEdit will work.
433
434struct CharacterRange {
435 long cpMin;
436 long cpMax;
437};
438
439struct TextRange {
440 CharacterRange chrg;
441 char *lpstrText;
442};
443
444struct TextToFind {
445 CharacterRange chrg;
446 char *lpstrText;
447 CharacterRange chrgText;
448};
449
450#ifdef PLATFORM_H
451
452// This structure is used in printing and requires some of the graphics types
453// from Platform.h. Not needed by most client code.
454
455struct RangeToFormat {
456 SurfaceID hdc;
457 SurfaceID hdcTarget;
458 PRectangle rc;
459 PRectangle rcPage;
460 CharacterRange chrg;
461};
462
463#endif
464
465struct NotifyHeader {
466 // hwndFrom is really an environment specifc window handle or pointer
467 // but most clients of Scintilla.h do not have this type visible.
468 //WindowID hwndFrom;
469 void *hwndFrom;
470 unsigned int idFrom;
471 unsigned int code;
472};
9ce192d4
RD
473
474struct SCNotification {
d134f170 475 NotifyHeader nmhdr;
9ce192d4
RD
476 int position; // SCN_STYLENEEDED, SCN_MODIFIED
477 int ch; // SCN_CHARADDED, SCN_KEY
478 int modifiers; // SCN_KEY
479 int modificationType; // SCN_MODIFIED
480 const char *text; // SCN_MODIFIED
481 int length; // SCN_MODIFIED
482 int linesAdded; // SCN_MODIFIED
483#ifdef MACRO_SUPPORT
484 int message; // SCN_MACRORECORD
485 int wParam; // SCN_MACRORECORD
486 int lParam; // SCN_MACRORECORD
487#endif
488 int line; // SCN_MODIFIED
489 int foldLevelNow; // SCN_MODIFIED
490 int foldLevelPrev; // SCN_MODIFIED
491 int margin; // SCN_MARGINCLICK
492};
493
d134f170 494#define SC_MASK_FOLDERS ((1<<SC_MARKNUM_FOLDER) | (1<<SC_MARKNUM_FOLDEROPEN))
9ce192d4
RD
495
496// Deprecation section listing all API features that are deprecated and will
497// will be removed completely in a future version.
498// To enable these features define INCLUDE_DEPRECATED_FEATURES
499
500#ifdef INCLUDE_DEPRECATED_FEATURES
501
d134f170
RD
502// Deprecated in 1.27
503#define SC_UNDOCOLLECT_NONE 0
504#define SC_UNDOCOLLECT_AUTOSTART 1
9ce192d4
RD
505
506#endif
507
508#endif