]> git.saurik.com Git - wxWidgets.git/blame - wxPython/demo/data/stc.h
applied patch to uncover cells next to 0 automatically
[wxWidgets.git] / wxPython / demo / data / stc.h
CommitLineData
f6bcfd97
BP
1////////////////////////////////////////////////////////////////////////////
2// Name: stc.h
3// Purpose: A wxWindows implementation of Scintilla. This class is the
4// one meant to be used directly by wx applications. It does not
5// derive directly from the Scintilla classes, and in fact there
6// is no mention of Scintilla classes at all in this header.
7// This class delegates all method calls and events to the
8// Scintilla objects and so forth. This allows the use of
9// Scintilla without polluting the namespace with all the
10// classes and itentifiers from Scintilla.
11//
12// Author: Robin Dunn
13//
14// Created: 13-Jan-2000
15// RCS-ID: $Id$
16// Copyright: (c) 2000 by Total Control Software
17// Licence: wxWindows license
18/////////////////////////////////////////////////////////////////////////////
19
20#ifndef __stc_h__
21#define __stc_h__
22
23
24#include <wx/wx.h>
25
26
27//----------------------------------------------------------------------
28// constants and stuff
29
30enum wxSTC_UndoType {
31 wxSTC_UndoCollectNone,
32 wxSTC_UndoCollectAutoStart
33};
34
35
36enum wxSTC_EOL {
37 wxSTC_EOL_CRLF,
38 wxSTC_EOL_CR,
39 wxSTC_EOL_LF
40};
41
42enum wxSTC_EDGE {
43 wxSTC_EDGE_NONE,
44 wxSTC_EDGE_LINE,
45 wxSTC_EDGE_BACKGROUND
46};
47
48
49
50const int wxSTC_LEX_STYLE_MAX = 31;
51const int wxSTC_STYLE_DEFAULT = 32;
52const int wxSTC_STYLE_LINENUMBER = 33;
53const int wxSTC_STYLE_BRACELIGHT = 34;
54const int wxSTC_STYLE_BRACEBAD = 35;
55const int wxSTC_STYLE_CONTROLCHAR = 36;
56const int wxSTC_STYLE_MAX = 127;
57const int wxSTC_STYLE_MASK = 31;
58
59const int wxSTC_MARKER_MAX = 31;
60const int wxSTC_MARK_CIRCLE = 0;
61const int wxSTC_MARK_ROUNDRECT = 1;
62const int wxSTC_MARK_ARROW = 2;
63const int wxSTC_MARK_SMALLRECT = 3;
64const int wxSTC_MARK_SHORTARROW = 4;
65const int wxSTC_MARK_EMPTY = 5;
66const int wxSTC_MARK_ARROWDOWN = 6;
67const int wxSTC_MARK_MINUS = 7;
68const int wxSTC_MARK_PLUS = 8;
69
70const int wxSTC_MARKNUM_FOLDER = 30;
71const int wxSTC_MARKNUM_FOLDEROPEN= 31;
72const int wxSTC_MASK_FOLDERS = ((1 << wxSTC_MARKNUM_FOLDER) | (1 << wxSTC_MARKNUM_FOLDEROPEN));
73
74const int wxSTC_INDIC_MAX = 7;
75const int wxSTC_INDIC_PLAIN = 0;
76const int wxSTC_INDIC_SQUIGGLE = 1;
77const int wxSTC_INDIC_TT = 2;
78const int wxSTC_INDIC0_MASK = 32;
79const int wxSTC_INDIC1_MASK = 64;
80const int wxSTC_INDIC2_MASK = 128;
81const int wxSTC_INDICS_MASK = (wxSTC_INDIC0_MASK | wxSTC_INDIC1_MASK | wxSTC_INDIC2_MASK);
82
83
84const int wxSTC_FOLDLEVELBASE = 0x0400;
85const int wxSTC_FOLDLEVELWHITEFLAG = 0x1000;
86const int wxSTC_FOLDLEVELHEADERFLAG = 0x2000;
87const int wxSTC_FOLDLEVELNUMBERMASK = 0x0FFF;
88
89
90// key commands
91enum {
92 wxSTC_CMD_LINEDOWN = 2300,
93 wxSTC_CMD_LINEDOWNEXTEND,
94 wxSTC_CMD_LINEUP,
95 wxSTC_CMD_LINEUPEXTEND,
96 wxSTC_CMD_CHARLEFT,
97 wxSTC_CMD_CHARLEFTEXTEND,
98 wxSTC_CMD_CHARRIGHT,
99 wxSTC_CMD_CHARRIGHTEXTEND,
100 wxSTC_CMD_WORDLEFT,
101 wxSTC_CMD_WORDLEFTEXTEND,
102 wxSTC_CMD_WORDRIGHT,
103 wxSTC_CMD_WORDRIGHTEXTEND,
104 wxSTC_CMD_HOME,
105 wxSTC_CMD_HOMEEXTEND,
106 wxSTC_CMD_LINEEND,
107 wxSTC_CMD_LINEENDEXTEND,
108 wxSTC_CMD_DOCUMENTSTART,
109 wxSTC_CMD_DOCUMENTSTARTEXTEND,
110 wxSTC_CMD_DOCUMENTEND,
111 wxSTC_CMD_DOCUMENTENDEXTEND,
112 wxSTC_CMD_PAGEUP,
113 wxSTC_CMD_PAGEUPEXTEND,
114 wxSTC_CMD_PAGEDOWN,
115 wxSTC_CMD_PAGEDOWNEXTEND,
116 wxSTC_CMD_EDITTOGGLEOVERTYPE,
117 wxSTC_CMD_CANCEL,
118 wxSTC_CMD_DELETEBACK,
119 wxSTC_CMD_TAB,
120 wxSTC_CMD_BACKTAB,
121 wxSTC_CMD_NEWLINE,
122 wxSTC_CMD_FORMFEED,
123 wxSTC_CMD_VCHOME,
124 wxSTC_CMD_VCHOMEEXTEND,
125 wxSTC_CMD_ZOOMIN,
126 wxSTC_CMD_ZOOMOUT,
127 wxSTC_CMD_DELWORDLEFT,
128 wxSTC_CMD_DELWORDRIGHT,
129 wxSTC_CMD_LINECUT,
130 wxSTC_CMD_LINEDELETE,
131 wxSTC_CMD_LINETRANSPOSE,
132 wxSTC_CMD_LOWERCASE,
133 wxSTC_CMD_UPPERCASE,
134 wxSTC_CMD_LINESCROLLDOWN,
135 wxSTC_CMD_LINESCROLLUP
136};
137
138
139enum wxSTC_LEX {
140 wxSTC_LEX_CONTAINER=0,
141 wxSTC_LEX_NULL,
142 wxSTC_LEX_PYTHON,
143 wxSTC_LEX_CPP,
144 wxSTC_LEX_HTML,
145 wxSTC_LEX_XML,
146 wxSTC_LEX_PERL,
147 wxSTC_LEX_SQL,
148 wxSTC_LEX_VB,
149 wxSTC_LEX_PROPERTIES,
150 wxSTC_LEX_ERRORLIST,
151 wxSTC_LEX_MAKEFILE,
152 wxSTC_LEX_BATCH,
153};
154
155
156
157const int wxSTC_CARET_SLOP = 0x01;
158const int WXSTC_CARET_CENTER = 0x02;
159const int wxSTC_CARET_STRICT = 0x04;
160
161const int wxSTC_MARGIN_SYMBOL = 0;
162const int wxSTC_MARGIN_NUMBER = 1;
163
164
165class ScintillaWX; // forward declare
166class WordList;
167struct SCNotification;
168
169
170extern const wxChar* wxSTCNameStr;
171
172//----------------------------------------------------------------------
173
174class wxStyledTextCtrl : public wxControl {
175public:
176
177#ifdef SWIG
178 wxStyledTextCtrl(wxWindow *parent, wxWindowID id,
179 const wxPoint& pos = wxDefaultPosition,
180 const wxSize& size = wxDefaultSize, long style = 0,
181 const char* name = wxSTCNameStr);
182#else
183 wxStyledTextCtrl(wxWindow *parent, wxWindowID id,
184 const wxPoint& pos = wxDefaultPosition,
185 const wxSize& size = wxDefaultSize, long style = 0,
186 const wxString& name = wxSTCNameStr);
187#endif
188
189
190#ifndef SWIG
191 ~wxStyledTextCtrl();
192#endif
193
194
195 // Text retrieval and modification
196 wxString GetText();
197 bool SetText(const wxString& text);
198 wxString GetLine(int line);
199 void ReplaceSelection(const wxString& text);
200 void SetReadOnly(bool readOnly);
201 bool GetReadOnly();
202 wxString GetTextRange(int startPos, int endPos);
203 wxString GetStyledTextRange(int startPos, int endPos);
204#ifndef SWIG
205 void GetTextRange(int startPos, int endPos, char* buff);
206 void GetStyledTextRange(int startPos, int endPos, char* buff);
207#endif
208 void AddText(const wxString& text);
209 void AddStyledText(const wxString& text);
210 void InsertText(int pos, const wxString& text);
211 void ClearAll();
212 char GetCharAt(int pos);
213 char GetStyleAt(int pos);
214 void SetStyleBits(int bits);
215 int GetStyleBits();
216
217
218 // Clipboard
219 void Cut();
220 void Copy();
221 void Paste();
222 bool CanPaste();
223 void ClearClipbrd(); // avoiding name conflict with virtual in wxWindow
224
225
226 // Undo and Redo
227 void Undo();
228 bool CanUndo();
229 void EmptyUndoBuffer();
230 void Redo();
231 bool CanRedo();
232 void SetUndoCollection(wxSTC_UndoType type);
233 wxSTC_UndoType GetUndoCollection();
234 void BeginUndoAction();
235 void EndUndoAction();
236
237
238 // Selection and information
239#ifdef SWIG
240 void GetSelection(int* OUTPUT, int* OUTPUT);
241#else
242 void GetSelection(int* startPos, int* endPos);
243#endif
244 void SetSelection(int startPos, int endPos);
245 wxString GetSelectedText();
246 void HideSelection(bool hide);
247 bool GetHideSelection();
248
249 int GetTextLength();
250 int GetFirstVisibleLine();
251 bool GetModified();
252 int GetLineCount();
253 wxRect GetRect();
254 int GetLineFromPos(int pos);
255 int GetLineStartPos(int line);
256 int GetLineLengthAtPos(int pos);
257 int GetLineLength(int line);
258#ifdef SWIG
259 wxString GetCurrentLineText(int* OUTPUT);
260#else
261 wxString GetCurrentLineText(int* linePos);
262#endif
263 int GetCurrentLine();
264 int PositionFromPoint(wxPoint pt);
265 int LineFromPoint(wxPoint pt);
266 wxPoint PointFromPosition(int pos);
267 int GetCurrentPos();
268 int GetAnchor();
269 void SelectAll();
270 void SetCurrentPosition(int pos);
271 void SetAnchor(int pos);
272 void GotoPos(int pos);
273 void GotoLine(int line);
274 void ChangePosition(int delta, bool extendSelection);
275 void PageMove(int cmdKey, bool extendSelection);
276
277 void ScrollBy(int columnDelta, int lineDelta);
278 void ScrollToLine(int line);
279 void ScrollToColumn(int column);
280 void EnsureCaretVisible();
281 void SetCaretPolicy(int policy, int slop=0);
282 int GetSelectionType();
283 int GetLinesOnScreen();
284 bool IsSelectionRectangle();
285 void SetUseHorizontalScrollBar(bool use);
286 bool GetUseHorizontalScrollBar();
287
288
289 // Searching
290 int FindText(int minPos, int maxPos, const wxString& text,
291 bool caseSensitive, bool wholeWord);
292 void SearchAnchor();
293 int SearchNext(const wxString& text, bool caseSensitive, bool wholeWord);
294 int SearchPrev(const wxString& text, bool caseSensitive, bool wholeWord);
295
296
297 // Visible whitespace
298 bool GetViewWhitespace();
299 void SetViewWhitespace(bool visible);
300
301
302 // Line endings
303 wxSTC_EOL GetEOLMode();
304 void SetEOLMode(wxSTC_EOL mode);
305 bool GetViewEOL();
306 void SetViewEOL(bool visible);
307 void ConvertEOL(wxSTC_EOL mode);
308
309
310 // Styling
311 int GetEndStyled();
312 void StartStyling(int pos, int mask);
313 void SetStyleFor(int length, int style);
314 void SetStyleBytes(int length, char* styleBytes);
315 void SetLineState(int line, int value);
316 int GetLineState(int line);
317
318
319 // Style Definition
320 void StyleClearAll();
321 void StyleResetDefault();
322 void StyleSetSpec(int styleNum, const wxString& spec);
323 void StyleSetForeground(int styleNum, const wxColour& colour);
324 void StyleSetBackground(int styleNum, const wxColour& colour);
325 void StyleSetFont(int styleNum, wxFont& font);
326 void StyleSetFontAttr(int styleNum, int size, const wxString& faceName, bool bold, bool italic);
327 void StyleSetBold(int styleNum, bool bold);
328 void StyleSetItalic(int styleNum, bool italic);
329 void StyleSetFaceName(int styleNum, const wxString& faceName);
330 void StyleSetSize(int styleNum, int pointSize);
331 void StyleSetEOLFilled(int styleNum, bool fillEOL);
332
333
334 // Margins in the edit area
335 int GetLeftMargin();
336 int GetRightMargin();
337 void SetMargins(int left, int right);
338
339
340 // Margins for selection, markers, etc.
341 void SetMarginType(int margin, int type);
342 int GetMarginType(int margin);
343 void SetMarginWidth(int margin, int pixelWidth);
344 int GetMarginWidth(int margin);
345 void SetMarginMask(int margin, int mask);
346 int GetMarginMask(int margin);
347 void SetMarginSensitive(int margin, bool sensitive);
348 bool GetMarginSensitive(int margin);
349
350
351 // Selection and Caret styles
352 void SetSelectionForeground(const wxColour& colour);
353 void SetSelectionBackground(const wxColour& colour);
354 void SetCaretForeground(const wxColour& colour);
355 int GetCaretPeriod();
356 void SetCaretPeriod(int milliseconds);
357
358
359 // Other settings
360 void SetBufferedDraw(bool isBuffered);
361 void SetTabWidth(int numChars);
362 void SetIndent(int numChars);
363 void SetUseTabs(bool usetabs);
364 void SetLineIndentation(int line, int indentation);
365 int GetLineIndentation(int line);
366 int GetLineIndentationPos(int line);
367 void SetWordChars(const wxString& wordChars);
368
369 void SetUsePop(bool usepopup);
370
371
372 // Brace highlighting
373 void BraceHighlight(int pos1, int pos2);
374 void BraceBadlight(int pos);
375 int BraceMatch(int pos, int maxReStyle=0);
376
377
378 // Markers
379 void MarkerDefine(int markerNumber, int markerSymbol,
380 const wxColour& foreground,
381 const wxColour& background);
382 void MarkerSetType(int markerNumber, int markerSymbol);
383 void MarkerSetForeground(int markerNumber, const wxColour& colour);
384 void MarkerSetBackground(int markerNumber, const wxColour& colour);
385 int MarkerAdd(int line, int markerNumber);
386 void MarkerDelete(int line, int markerNumber);
387 void MarkerDeleteAll(int markerNumber);
388 int MarkerGet(int line);
389 int MarkerGetNextLine(int lineStart, int markerMask);
390 int MarkerGetPrevLine(int lineStart, int markerMask);
391 int MarkerLineFromHandle(int handle);
392 void MarkerDeleteHandle(int handle);
393
394
395 // Indicators
396 void IndicatorSetStyle(int indicNum, int indicStyle);
397 int IndicatorGetStyle(int indicNum);
398 void IndicatorSetColour(int indicNum, const wxColour& colour);
399
400
401 // Auto completion
402 void AutoCompShow(const wxString& listOfWords);
403 void AutoCompCancel();
404 bool AutoCompActive();
405 int AutoCompPosAtStart();
406 void AutoCompComplete();
407 void AutoCompStopChars(const wxString& stopChars);
408 void AutoCompSetSeparator(char separator);
409 char AutoCompGetSeparator();
410 void AutoCompSelect(const wxString& stringtoselect);
411
412 // Call tips
413 void CallTipShow(int pos, const wxString& text);
414 void CallTipCancel();
415 bool CallTipActive();
416 int CallTipPosAtStart();
417 void CallTipSetHighlight(int start, int end);
418 void CallTipSetBackground(const wxColour& colour);
419
420
421 // Key bindings
422 void CmdKeyAssign(int key, int modifiers, int cmd);
423 void CmdKeyClear(int key, int modifiers);
424 void CmdKeyClearAll();
425 void CmdKeyExecute(int cmd);
426
427
428 // Print formatting
429 int FormatRange(bool doDraw,
430 int startPos,
431 int endPos,
432 wxDC* draw,
433 wxDC* target, // Why does it use two? Can they be the same?
434 wxRect renderRect,
435 wxRect pageRect);
436
437
438 // Document Sharing (multiple views)
439 void* GetDocument();
440 void SetDocument(void* document);
441 // TODO: create a wx wrapper for Scintilla's document class
442
443
444 // Folding
445 int VisibleFromDocLine(int docLine);
446 int DocLineFromVisible(int displayLine);
447 int SetFoldLevel(int line, int level);
448 int GetFoldLevel(int line);
449 int GetLastChild(int line, int level);
450 int GetFoldParent(int line);
451 void ShowLines(int lineStart, int lineEnd);
452 void HideLines(int lineStart, int lineEnd);
453 bool GetLineVisible(int line);
454 void SetFoldExpanded(int line, bool expanded);
455 bool GetFoldExpanded(int line);
456 void ToggleFold(int line);
457 void EnsureVisible(int line);
458 void SetFoldFlags(int flags);
459
460
461 // Long Lines
462 int GetEdgeColumn();
463 void SetEdgeColumn(int column);
464 wxSTC_EDGE GetEdgeMode();
465 void SetEdgeMode(wxSTC_EDGE mode);
466 wxColour GetEdgeColour();
467 void SetEdgeColour(const wxColour& colour);
468
469
470 // Lexer
471 void SetLexer(wxSTC_LEX lexer);
472 wxSTC_LEX GetLexer();
473 void Colourise(int start, int end);
474 void SetProperty(const wxString& key, const wxString& value);
475 void SetKeywords(int keywordSet, const wxString& keywordList);
476
477
478#ifndef SWIG
479private:
480 // Event handlers
481 void OnPaint(wxPaintEvent& evt);
482 void OnScrollWin(wxScrollWinEvent& evt);
483 void OnSize(wxSizeEvent& evt);
484 void OnMouseLeftDown(wxMouseEvent& evt);
485 void OnMouseMove(wxMouseEvent& evt);
486 void OnMouseLeftUp(wxMouseEvent& evt);
487 void OnMouseRightUp(wxMouseEvent& evt);
488 void OnChar(wxKeyEvent& evt);
489 void OnKeyDown(wxKeyEvent& evt);
490 void OnLoseFocus(wxFocusEvent& evt);
491 void OnGainFocus(wxFocusEvent& evt);
492 void OnSysColourChanged(wxSysColourChangedEvent& evt);
493 void OnEraseBackground(wxEraseEvent& evt);
494 void OnMenu(wxCommandEvent& evt);
495 void OnListBox(wxCommandEvent& evt);
496
497
498 // Turn notifications from Scintilla into events
499 void NotifyChange();
500 void NotifyParent(SCNotification* scn);
501
502 long SendMsg(int msg, long wp=0, long lp=0);
503
504private:
505 DECLARE_EVENT_TABLE()
506 DECLARE_CLASS(wxStyledTextCtrl)
507
508 ScintillaWX* m_swx;
509 wxStopWatch m_stopWatch;
510 bool m_readOnly;
511 wxSTC_UndoType m_undoType;
512
513
514 friend class ScintillaWX;
515 friend class Platform;
516#endif
517};
518
519//----------------------------------------------------------------------
520
521class wxStyledTextEvent : public wxCommandEvent {
522public:
523 wxStyledTextEvent(wxEventType commandType=0, int id=0);
524 ~wxStyledTextEvent() {}
525
526 void SetPosition(int pos) { m_position = pos; }
527 void SetKey(int k) { m_key = k; }
528 void SetModifiers(int m) { m_modifiers = m; }
529 void SetModificationType(int t) { m_modificationType = t; }
530 void SetText(const char* t) { m_text = t; }
531 void SetLength(int len) { m_length = len; }
532 void SetLinesAdded(int num) { m_linesAdded = num; }
533 void SetLine(int val) { m_line = val; }
534 void SetFoldLevelNow(int val) { m_foldLevelNow = val; }
535 void SetFoldLevelPrev(int val) { m_foldLevelPrev = val; }
536 void SetMargin(int val) { m_margin = val; }
537 void SetMessage(int val) { m_message = val; }
538 void SetWParam(int val) { m_wParam = val; }
539 void SetLParam(int val) { m_lParam = val; }
540
541 int GetPosition() const { return m_position; }
542 int GetKey() const { return m_key; }
543 int GetModifiers() const { return m_modifiers; }
544 int GetModificationType() const { return m_modificationType; }
545 wxString GetText() const { return m_text; }
546 int GetLength() const { return m_length; }
547 int GetLinesAdded() const { return m_linesAdded; }
548 int GetLine() const { return m_line; }
549 int GetFoldLevelNow() const { return m_foldLevelNow; }
550 int GetFoldLevelPrev() const { return m_foldLevelPrev; }
551 int GetMargin() const { return m_margin; }
552 int GetMessage() const { return m_message; }
553 int GetWParam() const { return m_wParam; }
554 int GetLParam() const { return m_lParam; }
555
556 bool GetShift() const;
557 bool GetControl() const;
558 bool GetAlt() const;
559
560 void CopyObject(wxObject& obj) const;
561
562#ifndef SWIG
563private:
564 DECLARE_DYNAMIC_CLASS(wxStyledTextEvent)
565
566 int m_position;
567 int m_key;
568 int m_modifiers;
569
570 int m_modificationType; // wxEVT_STC_MODIFIED
571 wxString m_text;
572 int m_length;
573 int m_linesAdded;
574 int m_line;
575 int m_foldLevelNow;
576 int m_foldLevelPrev;
577
578 int m_margin; // wxEVT_STC_MARGINCLICK
579
580 int m_message; // wxEVT_STC_MACRORECORD
581 int m_wParam;
582 int m_lParam;
583#endif
584};
585
586
587
588enum {
589 wxEVT_STC_CHANGE = 1650,
590 wxEVT_STC_STYLENEEDED,
591 wxEVT_STC_CHARADDED,
592 wxEVT_STC_UPDATEUI,
593 wxEVT_STC_SAVEPOINTREACHED,
594 wxEVT_STC_SAVEPOINTLEFT,
595 wxEVT_STC_ROMODIFYATTEMPT,
596 wxEVT_STC_DOUBLECLICK,
597 wxEVT_STC_MODIFIED,
598 wxEVT_STC_KEY,
599 wxEVT_STC_MACRORECORD,
600 wxEVT_STC_MARGINCLICK,
601 wxEVT_STC_NEEDSHOWN
602};
603
604#ifndef SWIG
605typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&);
606
607#define EVT_STC_CHANGE(id, fn) { wxEVT_STC_CHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
608#define EVT_STC_STYLENEEDED(id, fn) { wxEVT_STC_STYLENEEDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
609#define EVT_STC_CHARADDED(id, fn) { wxEVT_STC_CHARADDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
610#define EVT_STC_UPDATEUI(id, fn) { wxEVT_STC_UPDATEUI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
611#define EVT_STC_SAVEPOINTREACHED(id, fn) { wxEVT_STC_SAVEPOINTREACHED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
612#define EVT_STC_SAVEPOINTLEFT(id, fn) { wxEVT_STC_SAVEPOINTLEFT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
613#define EVT_STC_ROMODIFYATTEMPT(id, fn) { wxEVT_STC_ROMODIFYATTEMPT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
614#define EVT_STC_DOUBLECLICK(id, fn) { wxEVT_STC_DOUBLECLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
615#define EVT_STC_MODIFIED(id, fn) { wxEVT_STC_MODIFIED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
616#define EVT_STC_KEY(id, fn) { wxEVT_STC_KEY, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
617#define EVT_STC_MACRORECORD(id, fn) { wxEVT_STC_MACRORECORD, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
618#define EVT_STC_MARGINCLICK(id, fn) { wxEVT_STC_MARGINCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
619#define EVT_STC_NEEDSHOWN(id, fn) { wxEVT_STC_NEEDSHOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
620
621#endif
622
623//----------------------------------------------------------------------
624//----------------------------------------------------------------------
625#endif
626
627