]> git.saurik.com Git - wxWidgets.git/blame - src/stc/scintilla/include/Scintilla.h
moved wxDash typedef to gdicmn.h
[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
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
17extern "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
320typedef 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
348struct 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
388void 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