]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/richtextctrl.tex
added null pointer check and assert
[wxWidgets.git] / docs / latex / wx / richtextctrl.tex
CommitLineData
5f35b46a
JS
1\section{\class{wxRichTextCtrl}}\label{wxrichtextctrl}
2
3wxRichTextCtrl provides a generic, ground-up implementation of a text control
4capable of showing multiple styles and images.
5
48c8439f
JS
6wxRichTextCtrl sends notification events: see \helpref{wxRichTextEvent}{wxrichtextevent}.
7It also sends the standard wxTextCtrl events wxEVT\_COMMAND\_TEXT\_ENTER and wxEVT\_COMMAND\_TEXT\_UPDATED,
8and wxTextUrlEvent when URL content is clicked.
9
10For more information, see the \helpref{wxRichTextCtrl overview}{wxrichtextctrloverview}.
11
5f35b46a
JS
12\wxheading{Derived from}
13
14wxTextCtrlBase
15
16\wxheading{Include files}
17
18<wx/richtext/richtextctrl.h>
19
a7af285d
VZ
20\wxheading{Library}
21
22\helpref{wxRichtext}{librarieslist}
23
5f35b46a
JS
24\wxheading{Data structures}
25
26\latexignore{\rtfignore{\wxheading{Members}}}
27
28\membersection{wxRichTextCtrl::wxRichTextCtrl}\label{wxrichtextctrlwxrichtextctrl}
29
30\func{}{wxRichTextCtrl}{\void}
31
1f65137f
JS
32\func{}{wxRichTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
33 \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
34 \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
5f35b46a
JS
35
36Constructors.
37
38\membersection{wxRichTextCtrl::\destruct{wxRichTextCtrl}}\label{wxrichtextctrldtor}
39
40\func{}{\destruct{wxRichTextCtrl}}{\void}
41
42Destructor.
43
44\membersection{wxRichTextCtrl::AddImage}\label{wxrichtextctrladdimage}
45
46\func{wxRichTextRange}{AddImage}{\param{const wxImage\& }{image}}
47
48Adds an image to the control's buffer.
49
50\membersection{wxRichTextCtrl::AddParagraph}\label{wxrichtextctrladdparagraph}
51
52\func{wxRichTextRange}{AddParagraph}{\param{const wxString\& }{text}}
53
54Adds a new paragraph of text to the end of the buffer.
55
56\membersection{wxRichTextCtrl::AppendText}\label{wxrichtextctrlappendtext}
57
58\func{void}{AppendText}{\param{const wxString\& }{text}}
59
60Sets the insertion point to the end of the buffer and writes the text.
61
62\membersection{wxRichTextCtrl::ApplyAlignmentToSelection}\label{wxrichtextctrlapplyalignmenttoselection}
63
64\func{bool}{ApplyAlignmentToSelection}{\param{wxTextAttrAlignment }{alignment}}
65
66Applies the given alignment to the selection (undoable).
67
44cc96a8 68For alignment values, see \helpref{wxTextAttr}{wxtextattr}.
5f35b46a
JS
69
70\membersection{wxRichTextCtrl::ApplyBoldToSelection}\label{wxrichtextctrlapplyboldtoselection}
71
72\func{bool}{ApplyBoldToSelection}{\void}
73
74Apples bold to the selection (undoable).
75
76\membersection{wxRichTextCtrl::ApplyItalicToSelection}\label{wxrichtextctrlapplyitalictoselection}
77
78\func{bool}{ApplyItalicToSelection}{\void}
79
80Applies italic to the selection (undoable).
81
62a268cc
JS
82\membersection{wxRichTextCtrl::ApplyStyle}\label{wxrichtextctrlapplystyle}
83
84\func{bool}{ApplyStyle}{\param{wxRichTextStyleDefinition*}{ def}}
85
86Applies the given style to the selection.
87
88\membersection{wxRichTextCtrl::ApplyStyleSheet}\label{wxrichtextctrlapplystylesheet}
89
90\func{bool}{ApplyStyleSheet}{\param{wxRichTextStyleSheet*}{ sheet $=$ NULL}}
91
92Applies the style sheet to the buffer, matching paragraph styles in the sheet against named styles
93in the buffer. This might be useful if the styles have changed. If {\it sheet} is NULL, the
94sheet set with SetStyleSheet is used.
95
96Currently this applies paragraph styles only.
97
5f35b46a
JS
98\membersection{wxRichTextCtrl::ApplyUnderlineToSelection}\label{wxrichtextctrlapplyunderlinetoselection}
99
100\func{bool}{ApplyUnderlineToSelection}{\void}
101
102Applies underline to the selection (undoable).
103
104\membersection{wxRichTextCtrl::BatchingUndo}\label{wxrichtextctrlbatchingundo}
105
106\constfunc{bool}{BatchingUndo}{\void}
107
108Returns \true if undo commands are being batched.
109
110\membersection{wxRichTextCtrl::BeginAlignment}\label{wxrichtextctrlbeginalignment}
111
112\func{bool}{BeginAlignment}{\param{wxTextAttrAlignment }{alignment}}
113
114Begins using alignment
115
44cc96a8 116For alignment values, see \helpref{wxTextAttr}{wxtextattr}.
5f35b46a
JS
117
118\membersection{wxRichTextCtrl::BeginBatchUndo}\label{wxrichtextctrlbeginbatchundo}
119
120\func{bool}{BeginBatchUndo}{\param{const wxString\& }{cmdName}}
121
122Starts batching undo history for commands.
123
124\membersection{wxRichTextCtrl::BeginBold}\label{wxrichtextctrlbeginbold}
125
126\func{bool}{BeginBold}{\void}
127
128Begins using bold.
129
130\membersection{wxRichTextCtrl::BeginCharacterStyle}\label{wxrichtextctrlbegincharacterstyle}
131
132\func{bool}{BeginCharacterStyle}{\param{const wxString\& }{characterStyle}}
133
134Begins using the named character style.
135
136\membersection{wxRichTextCtrl::BeginFont}\label{wxrichtextctrlbeginfont}
137
138\func{bool}{BeginFont}{\param{const wxFont\& }{font}}
139
140Begins using this font.
141
142\membersection{wxRichTextCtrl::BeginFontSize}\label{wxrichtextctrlbeginfontsize}
143
144\func{bool}{BeginFontSize}{\param{int }{pointSize}}
145
146Begins using the given point size.
147
148\membersection{wxRichTextCtrl::BeginItalic}\label{wxrichtextctrlbeginitalic}
149
150\func{bool}{BeginItalic}{\void}
151
152Begins using italic.
153
154\membersection{wxRichTextCtrl::BeginLeftIndent}\label{wxrichtextctrlbeginleftindent}
155
156\func{bool}{BeginLeftIndent}{\param{int }{leftIndent}, \param{int }{leftSubIndent = 0}}
157
158Begins applying a left indent and subindent in tenths of a millimetre.
159
160The sub-indent is an offset from the left of the paragraph, and is used for all but the
161first line in a paragraph. A positive value will cause the first line to appear to the left
162of the subsequent lines, and a negative value will cause the first line to be indented
163relative to the subsequent lines.
164
165wxRichTextBuffer uses indentation to render a bulleted item. The left indent is the distance between
166the margin and the bullet. The content of the paragraph, including the first line, starts
167at leftMargin + leftSubIndent. So the distance between the left edge of the bullet and the
168left of the actual paragraph is leftSubIndent.
169
170\membersection{wxRichTextCtrl::BeginLineSpacing}\label{wxrichtextctrlbeginlinespacing}
171
172\func{bool}{BeginLineSpacing}{\param{int }{lineSpacing}}
173
174Begins appling line spacing. {\it spacing} is a multiple, where 10 means single-spacing,
17515 means 1.5 spacing, and 20 means double spacing. The following constants are
176defined for convenience:
177
5f35b46a
JS
178{\small
179\begin{verbatim}
180#define wxTEXT_ATTR_LINE_SPACING_NORMAL 10
181#define wxTEXT_ATTR_LINE_SPACING_HALF 15
182#define wxTEXT_ATTR_LINE_SPACING_TWICE 20
183\end{verbatim}
184}
185
d2d0adc7
JS
186\membersection{wxRichTextCtrl::BeginListStyle}\label{wxrichtextctrlbeginliststyle}
187
188\func{bool}{BeginListStyle}{\param{const wxString\&}{ listStyle}, \param{int}{ level=1}, \param{int}{ number=1}}
189
190Begins using a specified list style. Optionally, you can also pass a level and a number.
191
5f35b46a
JS
192\membersection{wxRichTextCtrl::BeginNumberedBullet}\label{wxrichtextctrlbeginnumberedbullet}
193
194\func{bool}{BeginNumberedBullet}{\param{int }{bulletNumber}, \param{int }{leftIndent}, \param{int }{leftSubIndent}, \param{int }{bulletStyle = wxTEXT\_ATTR\_BULLET\_STYLE\_ARABIC|wxTEXT\_ATTR\_BULLET\_STYLE\_PERIOD}}
195
196Begins a numbered bullet. This call will be needed for each item in the list, and the
197application should take care of incrementing the numbering.
198
199{\it bulletNumber} is a number, usually starting with 1.
200
201{\it leftIndent} and {\it leftSubIndent} are values in tenths of a millimetre.
202
203{\it bulletStyle} is a bitlist of the following values:
204
205{\small
206\begin{verbatim}
62f4313b
JS
207#define wxTEXT_ATTR_BULLET_STYLE_NONE 0x00000000
208#define wxTEXT_ATTR_BULLET_STYLE_ARABIC 0x00000001
209#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER 0x00000002
210#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER 0x00000004
211#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER 0x00000008
212#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER 0x00000010
213#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL 0x00000020
214#define wxTEXT_ATTR_BULLET_STYLE_BITMAP 0x00000040
215#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES 0x00000080
216#define wxTEXT_ATTR_BULLET_STYLE_PERIOD 0x00000100
217#define wxTEXT_ATTR_BULLET_STYLE_STANDARD 0x00000200
218#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS 0x00000400
219#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE 0x00000800
220#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT 0x00000000
221#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT 0x00001000
222#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE 0x00002000
5f35b46a
JS
223\end{verbatim}
224}
225
226wxRichTextBuffer uses indentation to render a bulleted item. The left indent is the distance between
227the margin and the bullet. The content of the paragraph, including the first line, starts
228at leftMargin + leftSubIndent. So the distance between the left edge of the bullet and the
229left of the actual paragraph is leftSubIndent.
230
231\membersection{wxRichTextCtrl::BeginParagraphSpacing}\label{wxrichtextctrlbeginparagraphspacing}
232
233\func{bool}{BeginParagraphSpacing}{\param{int }{before}, \param{int }{after}}
234
235Begins paragraph spacing; pass the before-paragraph and after-paragraph spacing in tenths of
236a millimetre.
237
238\membersection{wxRichTextCtrl::BeginParagraphStyle}\label{wxrichtextctrlbeginparagraphstyle}
239
240\func{bool}{BeginParagraphStyle}{\param{const wxString\& }{paragraphStyle}}
241
242Begins applying the named paragraph style.
243
244\membersection{wxRichTextCtrl::BeginRightIndent}\label{wxrichtextctrlbeginrightindent}
245
246\func{bool}{BeginRightIndent}{\param{int }{rightIndent}}
247
248Begins a right indent, specified in tenths of a millimetre.
249
250\membersection{wxRichTextCtrl::BeginStyle}\label{wxrichtextctrlbeginstyle}
251
44cc96a8 252\func{bool}{BeginStyle}{\param{const wxTextAttr\& }{style}}
5f35b46a
JS
253
254Begins applying a style.
255
256\membersection{wxRichTextCtrl::BeginSuppressUndo}\label{wxrichtextctrlbeginsuppressundo}
257
258\func{bool}{BeginSuppressUndo}{\void}
259
260Starts suppressing undo history for commands.
261
262\membersection{wxRichTextCtrl::BeginSymbolBullet}\label{wxrichtextctrlbeginsymbolbullet}
263
264\func{bool}{BeginSymbolBullet}{\param{wxChar }{symbol}, \param{int }{leftIndent}, \param{int }{leftSubIndent}, \param{int }{bulletStyle = wxTEXT\_ATTR\_BULLET\_STYLE\_SYMBOL}}
265
266Begins applying a symbol bullet, using a character from the current font. See \helpref{BeginNumberedBullet}{wxrichtextctrlbeginnumberedbullet} for
267an explanation of how indentation is used to render the bulleted paragraph.
268
269\membersection{wxRichTextCtrl::BeginTextColour}\label{wxrichtextctrlbegintextcolour}
270
271\func{bool}{BeginTextColour}{\param{const wxColour\& }{colour}}
272
273Begins using this colour.
274
275\membersection{wxRichTextCtrl::BeginUnderline}\label{wxrichtextctrlbeginunderline}
276
277\func{bool}{BeginUnderline}{\void}
278
279Begins using underlining.
280
d2d0adc7
JS
281\membersection{wxRichTextCtrl::BeginURL}\label{wxrichtextctrlbeginurl}
282
283\func{bool}{BeginURL}{\param{const wxString\&}{ url}, \param{const wxString\&}{ characterStyle = wxEmptyString}}
284
285Begins applying wxTEXT\_ATTR\_URL to the content. Pass a URL and optionally, a character style to apply,
286since it is common to mark a URL with a familiar style such as blue text with underlining.
287
5f35b46a
JS
288\membersection{wxRichTextCtrl::CanCopy}\label{wxrichtextctrlcancopy}
289
290\constfunc{bool}{CanCopy}{\void}
291
292Returns \true if selected content can be copied to the clipboard.
293
294\membersection{wxRichTextCtrl::CanCut}\label{wxrichtextctrlcancut}
295
296\constfunc{bool}{CanCut}{\void}
297
298Returns \true if selected content can be copied to the clipboard and deleted.
299
300\membersection{wxRichTextCtrl::CanDeleteSelection}\label{wxrichtextctrlcandeleteselection}
301
302\constfunc{bool}{CanDeleteSelection}{\void}
303
304Returns \true if selected content can be deleted.
305
306\membersection{wxRichTextCtrl::CanPaste}\label{wxrichtextctrlcanpaste}
307
308\constfunc{bool}{CanPaste}{\void}
309
310Returns \true if the clipboard content can be pasted to the buffer.
311
312\membersection{wxRichTextCtrl::CanRedo}\label{wxrichtextctrlcanredo}
313
314\constfunc{bool}{CanRedo}{\void}
315
316Returns \true if there is a command in the command history that can be redone.
317
318\membersection{wxRichTextCtrl::CanUndo}\label{wxrichtextctrlcanundo}
319
320\constfunc{bool}{CanUndo}{\void}
321
322Returns \true if there is a command in the command history that can be undone.
323
324\membersection{wxRichTextCtrl::Clear}\label{wxrichtextctrlclear}
325
326\func{void}{Clear}{\void}
327
328Clears the buffer content, leaving a single empty paragraph. Cannot be undone.
329
62f4313b
JS
330\membersection{wxRichTextCtrl::ClearListStyle}\label{wxrichtextctrlclearliststyle}
331
332\func{bool}{ClearListStyle}{\param{const wxRichTextRange\& }{range}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
333
334\func{bool}{ClearListStyle}{\param{const wxRichTextRange\& }{range}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
335
336Clears the list style from the given range, clearing list-related attributes and applying any named paragraph style associated with each paragraph.
337
338{\it flags} is a bit list of the following:
339
340\begin{itemize}\itemsep=0pt
341\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
342\end{itemize}
343
344See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::NumberList}{wxrichtextctrlnumberlist}.
345
5f35b46a
JS
346\membersection{wxRichTextCtrl::Command}\label{wxrichtextctrlcommand}
347
348\func{void}{Command}{\param{wxCommandEvent\& }{event}}
349
350Sends the event to the control.
351
352\membersection{wxRichTextCtrl::Copy}\label{wxrichtextctrlcopy}
353
354\func{void}{Copy}{\void}
355
356Copies the selected content (if any) to the clipboard.
357
358\membersection{wxRichTextCtrl::Create}\label{wxrichtextctrlcreate}
359
1f65137f
JS
360\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
361 \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
362 \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
5f35b46a
JS
363
364Creates the underlying window.
365
366\membersection{wxRichTextCtrl::Cut}\label{wxrichtextctrlcut}
367
368\func{void}{Cut}{\void}
369
370Copies the selected content (if any) to the clipboard and deletes the selection.
371This is undoable.
372
21fae46d
JS
373\membersection{wxRichTextCtrl::Delete}\label{wxrichtextctrldelete}
374
375\func{bool}{Delete}{\param{const wxRichTextRange\&}{ range}}
376
377Deletes the content within the given range.
378
5f35b46a
JS
379\membersection{wxRichTextCtrl::DeleteSelectedContent}\label{wxrichtextctrldeleteselectedcontent}
380
381\func{bool}{DeleteSelectedContent}{\param{long* }{newPos = NULL}}
382
383Deletes content if there is a selection, e.g. when pressing a key.
384Returns the new caret position in {\it newPos}, or leaves it if there
385was no action. This is undoable.
386
387\membersection{wxRichTextCtrl::DeleteSelection}\label{wxrichtextctrldeleteselection}
388
389\func{void}{DeleteSelection}{\void}
390
391Deletes the content in the selection, if any. This is undoable.
392
393\membersection{wxRichTextCtrl::DiscardEdits}\label{wxrichtextctrldiscardedits}
394
395\func{void}{DiscardEdits}{\void}
396
397Sets the buffer's modified status to \false, and clears the buffer's command history.
398
399\membersection{wxRichTextCtrl::DoGetBestSize}\label{wxrichtextctrldogetbestsize}
400
401\constfunc{wxSize}{DoGetBestSize}{\void}
402
403Currently this simply returns {\tt wxSize(10, 10)}.
404
405\membersection{wxRichTextCtrl::EndAlignment}\label{wxrichtextctrlendalignment}
406
407\func{bool}{EndAlignment}{\void}
408
409Ends alignment.
410
411\membersection{wxRichTextCtrl::EndAllStyles}\label{wxrichtextctrlendallstyles}
412
413\func{bool}{EndAllStyles}{\void}
414
415Ends application of all styles in the current style stack.
416
417\membersection{wxRichTextCtrl::EndBatchUndo}\label{wxrichtextctrlendbatchundo}
418
419\func{bool}{EndBatchUndo}{\void}
420
421Ends batching undo command history.
422
423\membersection{wxRichTextCtrl::EndBold}\label{wxrichtextctrlendbold}
424
425\func{bool}{EndBold}{\void}
426
427Ends using bold.
428
429\membersection{wxRichTextCtrl::EndCharacterStyle}\label{wxrichtextctrlendcharacterstyle}
430
431\func{bool}{EndCharacterStyle}{\void}
432
433Ends application of a named character style.
434
435\membersection{wxRichTextCtrl::EndFont}\label{wxrichtextctrlendfont}
436
437\func{bool}{EndFont}{\void}
438
439Ends using a font.
440
441\membersection{wxRichTextCtrl::EndFontSize}\label{wxrichtextctrlendfontsize}
442
443\func{bool}{EndFontSize}{\void}
444
445Ends using a point size.
446
447\membersection{wxRichTextCtrl::EndItalic}\label{wxrichtextctrlenditalic}
448
449\func{bool}{EndItalic}{\void}
450
451Ends using italic.
452
453\membersection{wxRichTextCtrl::EndLeftIndent}\label{wxrichtextctrlendleftindent}
454
455\func{bool}{EndLeftIndent}{\void}
456
457Ends left indent.
458
459\membersection{wxRichTextCtrl::EndLineSpacing}\label{wxrichtextctrlendlinespacing}
460
461\func{bool}{EndLineSpacing}{\void}
462
463Ends line spacing.
464
d2d0adc7
JS
465\membersection{wxRichTextCtrl::EndListStyle}\label{wxrichtextctrlendliststyle}
466
467\func{bool}{EndListStyle}{\void}
468
469Ends using a specified list style.
470
5f35b46a
JS
471\membersection{wxRichTextCtrl::EndNumberedBullet}\label{wxrichtextctrlendnumberedbullet}
472
473\func{bool}{EndNumberedBullet}{\void}
474
475Ends application of a numbered bullet.
476
477\membersection{wxRichTextCtrl::EndParagraphSpacing}\label{wxrichtextctrlendparagraphspacing}
478
479\func{bool}{EndParagraphSpacing}{\void}
480
481Ends paragraph spacing.
482
483\membersection{wxRichTextCtrl::EndParagraphStyle}\label{wxrichtextctrlendparagraphstyle}
484
485\func{bool}{EndParagraphStyle}{\void}
486
487Ends application of a named character style.
488
489\membersection{wxRichTextCtrl::EndRightIndent}\label{wxrichtextctrlendrightindent}
490
491\func{bool}{EndRightIndent}{\void}
492
493Ends right indent.
494
495\membersection{wxRichTextCtrl::EndStyle}\label{wxrichtextctrlendstyle}
496
497\func{bool}{EndStyle}{\void}
498
499Ends the current style.
500
501\membersection{wxRichTextCtrl::EndSuppressUndo}\label{wxrichtextctrlendsuppressundo}
502
503\func{bool}{EndSuppressUndo}{\void}
504
505Ends suppressing undo command history.
506
507\membersection{wxRichTextCtrl::EndSymbolBullet}\label{wxrichtextctrlendsymbolbullet}
508
509\func{bool}{EndSymbolBullet}{\void}
510
511Ends applying a symbol bullet.
512
513\membersection{wxRichTextCtrl::EndTextColour}\label{wxrichtextctrlendtextcolour}
514
515\func{bool}{EndTextColour}{\void}
516
517Ends applying a text colour.
518
519\membersection{wxRichTextCtrl::EndUnderline}\label{wxrichtextctrlendunderline}
520
521\func{bool}{EndUnderline}{\void}
522
523End applying underlining.
524
d2d0adc7
JS
525\membersection{wxRichTextCtrl::EndURL}\label{wxrichtextctrlendurl}
526
527\func{bool}{EndURL}{\void}
528
529Ends applying a URL.
530
5f35b46a
JS
531\membersection{wxRichTextCtrl::ExtendSelection}\label{wxrichtextctrlextendselection}
532
533\func{bool}{ExtendSelection}{\param{long }{oldPosition}, \param{long }{newPosition}, \param{int }{flags}}
534
535Helper function for extending the selection, returning \true if the selection was
536changed. Selections are in caret positions.
537
538\membersection{wxRichTextCtrl::FindNextWordPosition}\label{wxrichtextctrlfindnextwordposition}
539
540\constfunc{long}{FindNextWordPosition}{\param{int }{direction = 1}}
541
542Helper function for finding the caret position for the next word. Direction
543is 1 (forward) or -1 (backwards).
544
545\membersection{wxRichTextCtrl::Freeze}\label{wxrichtextctrlfreeze}
546
547\func{void}{Freeze}{\void}
548
549Call this function to prevent refresh and allow fast updates, and then \helpref{Thaw}{wxrichtextctrlthaw} to
550refresh the control.
551
552\membersection{wxRichTextCtrl::GetBasicStyle}\label{wxrichtextctrlgetbasicstyle}
553
44cc96a8 554\constfunc{const wxTextAttr\&}{GetBasicStyle}{\void}
5f35b46a
JS
555
556Gets the basic (overall) style. This is the style of the whole
557buffer before further styles are applied, unlike the default style, which
558only affects the style currently being applied (for example, setting the default
559style to bold will cause subsequently inserted text to be bold).
560
561\membersection{wxRichTextCtrl::GetBuffer}\label{wxrichtextctrlgetbuffer}
562
563\constfunc{const wxRichTextBuffer\&}{GetBuffer}{\void}
564
565\func{wxRichTextBuffer\&}{GetBuffer}{\void}
566
567Returns the buffer associated with the control.
568
569\membersection{wxRichTextCtrl::GetCaretPosition}\label{wxrichtextctrlgetcaretposition}
570
571\constfunc{long}{GetCaretPosition}{\void}
572
573Returns the current caret position.
574
575\membersection{wxRichTextCtrl::GetCaretPositionForIndex}\label{wxrichtextctrlgetcaretpositionforindex}
576
577\func{bool}{GetCaretPositionForIndex}{\param{long }{position}, \param{wxRect\& }{rect}}
578
579Returns the caret height and position for the given character position
580
581\membersection{wxRichTextCtrl::GetCommandProcessor}\label{wxrichtextctrlgetcommandprocessor}
582
583\constfunc{wxCommandProcessor*}{GetCommandProcessor}{\void}
584
585Gets the command processor associated with the control's buffer.
586
44cc96a8 587\membersection{wxRichTextCtrl::GetDefaultStyle}\label{wxrichtextctrlgetdefaultstyle}
5f35b46a 588
44cc96a8 589\constfunc{const wxTextAttr\&}{GetDefaultStyle}{\void}
5f35b46a
JS
590
591Returns the current default style, which can be used to change how subsequently inserted
44cc96a8 592text is displayed.
5f35b46a
JS
593
594\membersection{wxRichTextCtrl::GetDelayedLayoutThreshold}\label{wxrichtextctrlgetdelayedlayoutthreshold}
595
596\constfunc{long}{GetDelayedLayoutThreshold}{\void}
597
598Gets the size of the buffer beyond which layout is delayed during resizing.
599This optimizes sizing for large buffers. The default is 20000.
600
601\membersection{wxRichTextCtrl::GetFilename}\label{wxrichtextctrlgetfilename}
602
603\constfunc{wxString}{GetFilename}{\void}
604
605Gets the current filename associated with the control.
606
607\membersection{wxRichTextCtrl::GetFirstVisiblePosition}\label{wxrichtextctrlgetfirstvisibleposition}
608
609\constfunc{long}{GetFirstVisiblePosition}{\void}
610
611Returns the first visible position in the current view.
612
1f65137f
JS
613\membersection{wxRichTextCtrl::GetHandlerFlags}\label{wxrichtextfilehandlergethandlerflags}
614
615\constfunc{int}{GetHandlerFlags}{\void}
616
617Returns flags that change the behaviour of loading or saving. See the documentation for each
618handler class to see what flags are relevant for each handler.
619
5f35b46a
JS
620\membersection{wxRichTextCtrl::GetInsertionPoint}\label{wxrichtextctrlgetinsertionpoint}
621
622\constfunc{long}{GetInsertionPoint}{\void}
623
624Returns the current insertion point.
625
626\membersection{wxRichTextCtrl::GetLastPosition}\label{wxrichtextctrlgetlastposition}
627
628\constfunc{wxTextPos}{GetLastPosition}{\void}
629
630Returns the last position in the buffer.
631
632\membersection{wxRichTextCtrl::GetLineLength}\label{wxrichtextctrlgetlinelength}
633
634\constfunc{int}{GetLineLength}{\param{long }{lineNo}}
635
636Returns the length of the specified line in characters.
637
638\membersection{wxRichTextCtrl::GetLineText}\label{wxrichtextctrlgetlinetext}
639
640\constfunc{wxString}{GetLineText}{\param{long }{lineNo}}
641
642Returns the text for the given line.
643
644\membersection{wxRichTextCtrl::GetLogicalPoint}\label{wxrichtextctrlgetlogicalpoint}
645
646\constfunc{wxPoint}{GetLogicalPoint}{\param{const wxPoint\& }{ptPhysical}}
647
648Transforms physical window position to logical (unscrolled) position.
649
650\membersection{wxRichTextCtrl::GetNumberOfLines}\label{wxrichtextctrlgetnumberoflines}
651
652\constfunc{int}{GetNumberOfLines}{\void}
653
654Returns the number of lines in the buffer.
655
656\membersection{wxRichTextCtrl::GetPhysicalPoint}\label{wxrichtextctrlgetphysicalpoint}
657
658\constfunc{wxPoint}{GetPhysicalPoint}{\param{const wxPoint\& }{ptLogical}}
659
660Transforms logical (unscrolled) position to physical window position.
661
662\membersection{wxRichTextCtrl::GetRange}\label{wxrichtextctrlgetrange}
663
664\constfunc{wxString}{GetRange}{\param{long }{from}, \param{long }{to}}
665
666Gets the text for the given range.
667
62a268cc
JS
668The end point of range is specified as the last character position of the span of text, plus one.
669
5f35b46a
JS
670\membersection{wxRichTextCtrl::GetSelection}\label{wxrichtextctrlgetselection}
671
672\constfunc{void}{GetSelection}{\param{long* }{from}, \param{long* }{to}}
673
62a268cc
JS
674Returns the range of the current selection.
675
676The end point of range is specified as the last character position of the span of text, plus one.
677
678If the return values {\it from} and {\it to} are the same, there is no selection.
5f35b46a
JS
679
680\membersection{wxRichTextCtrl::GetSelectionRange}\label{wxrichtextctrlgetselectionrange}
681
682\constfunc{const wxRichTextRange\&}{GetSelectionRange}{\void}
683
684Returns the selection range in character positions. -1, -1 means no selection.
685
686\membersection{wxRichTextCtrl::GetStringSelection}\label{wxrichtextctrlgetstringselection}
687
688\constfunc{wxString}{GetStringSelection}{\void}
689
690Returns the text within the current selection range, if any.
691
692\membersection{wxRichTextCtrl::GetStyle}\label{wxrichtextctrlgetstyle}
693
62a268cc 694\func{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttr\& }{style}}
5f35b46a 695
44cc96a8 696Gets the attributes at the given position.
5f35b46a 697
62a268cc
JS
698This function gets the combined style - that is, the style you see on the screen as a result
699of combining base style, paragraph style and character style attributes. To get the character
700or paragraph style alone, use \helpref{GetUncombinedStyle}{wxrichtextctrlgetuncombinedstyle}.
701
21fae46d
JS
702\membersection{wxRichTextCtrl::GetStyleForRange}\label{wxrichtextctrlgetstyleforrange}
703
44cc96a8 704\func{bool}{GetStyleForRange}{\param{const wxRichTextRange\& }{range}, \param{wxTextAttr\& }{style}}
21fae46d
JS
705
706Gets the attributes common to the specified range. Attributes that differ in value within the range will
707not be included in {\it style}'s flags.
708
5f35b46a
JS
709\membersection{wxRichTextCtrl::GetStyleSheet}\label{wxrichtextctrlgetstylesheet}
710
711\constfunc{wxRichTextStyleSheet*}{GetStyleSheet}{\void}
712
713Returns the style sheet associated with the control, if any. A style sheet allows named
714character and paragraph styles to be applied.
715
62a268cc
JS
716\membersection{wxRichTextCtrl::GetUncombinedStyle}\label{wxrichtextctrlgetuncombinedstyle}
717
62a268cc
JS
718\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxTextAttr\& }{style}}
719
44cc96a8 720Gets the attributes at the given position.
62a268cc
JS
721
722This function gets the {\it uncombined style} - that is, the attributes associated with the
723paragraph or character content, and not necessarily the combined attributes you see on the
724screen. To get the combined attributes, use \helpref{GetStyle}{wxrichtextctrlgetstyle}.
725
726If you specify (any) paragraph attribute in {\it style}'s flags, this function will fetch
727the paragraph attributes. Otherwise, it will return the character attributes.
728
5f35b46a
JS
729\membersection{wxRichTextCtrl::GetValue}\label{wxrichtextctrlgetvalue}
730
731\constfunc{wxString}{GetValue}{\void}
732
733Returns the content of the entire control as a string.
734
735\membersection{wxRichTextCtrl::GetVisibleLineForCaretPosition}\label{wxrichtextctrlgetvisiblelineforcaretposition}
736
737\constfunc{wxRichTextLine*}{GetVisibleLineForCaretPosition}{\param{long }{caretPosition}}
738
739Internal helper function returning the line for the visible caret position. If the caret is
740shown at the very end of the line, it means the next character is actually
741on the following line. So this function gets the line we're expecting to find
742if this is the case.
743
744\membersection{wxRichTextCtrl::HasCharacterAttributes}\label{wxrichtextctrlhascharacterattributes}
745
44cc96a8 746\constfunc{bool}{HasCharacterAttributes}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttr\& }{style}}
5f35b46a
JS
747
748Test if this whole range has character attributes of the specified kind. If any
749of the attributes are different within the range, the test fails. You
750can use this to implement, for example, bold button updating. {\it style} must have
751flags indicating which attributes are of interest.
752
753\membersection{wxRichTextCtrl::HasParagraphAttributes}\label{wxrichtextctrlhasparagraphattributes}
754
44cc96a8 755\constfunc{bool}{HasParagraphAttributes}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttr\& }{style}}
5f35b46a
JS
756
757Test if this whole range has paragraph attributes of the specified kind. If any
758of the attributes are different within the range, the test fails. You
759can use this to implement, for example, centering button updating. {\it style} must have
760flags indicating which attributes are of interest.
761
762\membersection{wxRichTextCtrl::HasSelection}\label{wxrichtextctrlhasselection}
763
764\constfunc{bool}{HasSelection}{\void}
765
766Returns \true if there is a selection.
767
768\membersection{wxRichTextCtrl::HitTest}\label{wxrichtextctrlhittest}
769
770\constfunc{wxTextCtrlHitTestResult}{HitTest}{\param{const wxPoint\& }{pt}, \param{long* }{pos}}
771
772\constfunc{wxTextCtrlHitTestResult}{HitTest}{\param{const wxPoint\& }{pt}, \param{wxTextCoord* }{col}, \param{wxTextCoord* }{row}}
773
774Finds the character at the given position in pixels.
775
776{\it pt} is in device coords (not adjusted for the client area origin nor for scrolling).
777
778\membersection{wxRichTextCtrl::Init}\label{wxrichtextctrlinit}
779
780\func{void}{Init}{\void}
781
782Initialises the members of the control.
783
784\membersection{wxRichTextCtrl::InitCommandEvent}\label{wxrichtextctrlinitcommandevent}
785
786\constfunc{void}{InitCommandEvent}{\param{wxCommandEvent\& }{event}}
787
788Initialises the command event.
789
62a268cc
JS
790\membersection{wxRichTextCtrl::IsDefaultStyleShowing}\label{wxrichtextctrlisdefaultstyleshowing}
791
792\constfunc{bool}{IsDefaultStyleShowing}{\void}
793
794Returns \true if the user has recently set the default style without moving the caret,
795and therefore the UI needs to reflect the default style and not the style at the caret.
796
797Below is an example of code that uses this function to determine whether the UI
798should show that the current style is bold.
799
800\begin{verbatim}
801/// Is all of the selection bold?
802bool wxRichTextCtrl::IsSelectionBold()
803{
804 if (HasSelection())
805 {
44cc96a8 806 wxTextAttr attr;
62a268cc
JS
807 wxRichTextRange range = GetInternalSelectionRange();
808 attr.SetFlags(wxTEXT_ATTR_FONT_WEIGHT);
809 attr.SetFontWeight(wxBOLD);
810
811 return HasCharacterAttributes(range, attr);
812 }
813 else
814 {
815 // If no selection, then we need to combine current style with default style
816 // to see what the effect would be if we started typing.
44cc96a8 817 wxTextAttr attr;
62a268cc
JS
818 attr.SetFlags(wxTEXT_ATTR_FONT_WEIGHT);
819
820 long pos = GetAdjustedCaretPosition(GetCaretPosition());
821 if (GetStyle(pos, attr))
822 {
823 if (IsDefaultStyleShowing())
824 wxRichTextApplyStyle(attr, GetDefaultStyleEx());
825 return attr.GetFontWeight() == wxBOLD;
826 }
827 }
828 return false;
829}
830\end{verbatim}
831
832See also \helpref{SetAndShowDefaultStyle}{wxrichtextctrlsetandshowdefaultstyle}.
833
5f35b46a
JS
834\membersection{wxRichTextCtrl::IsEditable}\label{wxrichtextctrliseditable}
835
836\constfunc{bool}{IsEditable}{\void}
837
838Returns \true if the control is editable.
839
840\membersection{wxRichTextCtrl::IsFrozen}\label{wxrichtextctrlisfrozen}
841
842\constfunc{bool}{IsFrozen}{\void}
843
844Returns \true if Freeze has been called without a Thaw.
845
846\membersection{wxRichTextCtrl::IsModified}\label{wxrichtextctrlismodified}
847
848\constfunc{bool}{IsModified}{\void}
849
850Returns \true if the buffer has been modified.
851
852\membersection{wxRichTextCtrl::IsMultiLine}\label{wxrichtextctrlismultiline}
853
854\constfunc{bool}{IsMultiLine}{\void}
855
856Returns \true if the control is multiline.
857
858\membersection{wxRichTextCtrl::IsPositionVisible}\label{wxrichtextctrlispositionvisible}
859
860\constfunc{bool}{IsPositionVisible}{\param{long }{pos}}
861
862Returns \true if the given position is visible on the screen.
863
864\membersection{wxRichTextCtrl::IsSelectionAligned}\label{wxrichtextctrlisselectionaligned}
865
866\constfunc{bool}{IsSelectionAligned}{\param{wxTextAttrAlignment }{alignment}}
867
868Returns \true if all of the selection is aligned according to the specified flag.
869
870\membersection{wxRichTextCtrl::IsSelectionBold}\label{wxrichtextctrlisselectionbold}
871
872\constfunc{bool}{IsSelectionBold}{\void}
873
874Returns \true if all of the selection is bold.
875
876\membersection{wxRichTextCtrl::IsSelectionItalics}\label{wxrichtextctrlisselectionitalics}
877
878\constfunc{bool}{IsSelectionItalics}{\void}
879
880Returns \true if all of the selection is italic.
881
882\membersection{wxRichTextCtrl::IsSelectionUnderlined}\label{wxrichtextctrlisselectionunderlined}
883
884\constfunc{bool}{IsSelectionUnderlined}{\void}
885
886Returns \true if all of the selection is underlined.
887
888\membersection{wxRichTextCtrl::IsSingleLine}\label{wxrichtextctrlissingleline}
889
890\constfunc{bool}{IsSingleLine}{\void}
891
892Returns \true if the control is single-line. Currently wxRichTextCtrl does not
893support single-line editing.
894
895\membersection{wxRichTextCtrl::KeyboardNavigate}\label{wxrichtextctrlkeyboardnavigate}
896
897\func{bool}{KeyboardNavigate}{\param{int }{keyCode}, \param{int }{flags}}
898
899Helper function implementing keyboard navigation.
900
901\membersection{wxRichTextCtrl::LayoutContent}\label{wxrichtextctrllayoutcontent}
902
903\func{bool}{LayoutContent}{\param{bool }{onlyVisibleRect = false}}
904
905Lays out the buffer, which must be done before certain operations, such as
906setting the caret position. This function should not normally be required by the
907application.
908
21fae46d
JS
909\membersection{wxRichTextCtrl::LineBreak}\label{wxrichtextctrllinebreak}
910
911\func{bool}{LineBreak}{\void}
912
913Inserts a line break at the current insertion point. A line break forces wrapping within a paragraph, and
914can be introduced by using this function, by appending the wxChar value {\bf wxRichTextLineBreakChar} to text content,
915or by typing Shift-Return.
916
5f35b46a
JS
917\membersection{wxRichTextCtrl::LoadFile}\label{wxrichtextctrlloadfile}
918
919\func{bool}{LoadFile}{\param{const wxString\& }{file}, \param{int }{type = wxRICHTEXT\_TYPE\_ANY}}
920
921Loads content into the control's buffer using the given type. If the specified type
922is wxRICHTEXT\_TYPE\_ANY, the type is deduced from the filename extension.
923
924This function looks for a suitable \helpref{wxRichTextFileHandler}{wxrichtextfilehandler} object.
925
926\membersection{wxRichTextCtrl::MarkDirty}\label{wxrichtextctrlmarkdirty}
927
928\func{void}{MarkDirty}{\void}
929
930Marks the buffer as modified.
931
932\membersection{wxRichTextCtrl::MoveCaret}\label{wxrichtextctrlmovecaret}
933
934\func{bool}{MoveCaret}{\param{long }{pos}, \param{bool }{showAtLineStart = false}}
935
936Move the caret to the given character position.
937
938\membersection{wxRichTextCtrl::MoveCaretBack}\label{wxrichtextctrlmovecaretback}
939
940\func{void}{MoveCaretBack}{\param{long }{oldPosition}}
941
942Move the caret one visual step forward: this may mean setting a flag
943and keeping the same position if we're going from the end of one line
944to the start of the next, which may be the exact same caret position.
945
946\membersection{wxRichTextCtrl::MoveCaretForward}\label{wxrichtextctrlmovecaretforward}
947
948\func{void}{MoveCaretForward}{\param{long }{oldPosition}}
949
950Move the caret one visual step forward: this may mean setting a flag
951and keeping the same position if we're going from the end of one line
952to the start of the next, which may be the exact same caret position.
953
954\membersection{wxRichTextCtrl::MoveDown}\label{wxrichtextctrlmovedown}
955
956\func{bool}{MoveDown}{\param{int }{noLines = 1}, \param{int }{flags = 0}}
957
958Moves the caret down.
959
960\membersection{wxRichTextCtrl::MoveEnd}\label{wxrichtextctrlmoveend}
961
962\func{bool}{MoveEnd}{\param{int }{flags = 0}}
963
964Moves to the end of the buffer.
965
966\membersection{wxRichTextCtrl::MoveHome}\label{wxrichtextctrlmovehome}
967
968\func{bool}{MoveHome}{\param{int }{flags = 0}}
969
970Moves to the start of the buffer.
971
972\membersection{wxRichTextCtrl::MoveLeft}\label{wxrichtextctrlmoveleft}
973
974\func{bool}{MoveLeft}{\param{int }{noPositions = 1}, \param{int }{flags = 0}}
975
976Moves left.
977
978\membersection{wxRichTextCtrl::MoveRight}\label{wxrichtextctrlmoveright}
979
980\func{bool}{MoveRight}{\param{int }{noPositions = 1}, \param{int }{flags = 0}}
981
982Moves right.
983
984\membersection{wxRichTextCtrl::MoveToLineEnd}\label{wxrichtextctrlmovetolineend}
985
986\func{bool}{MoveToLineEnd}{\param{int }{flags = 0}}
987
988Moves to the end of the line.
989
990\membersection{wxRichTextCtrl::MoveToLineStart}\label{wxrichtextctrlmovetolinestart}
991
992\func{bool}{MoveToLineStart}{\param{int }{flags = 0}}
993
994Moves to the start of the line.
995
996\membersection{wxRichTextCtrl::MoveToParagraphEnd}\label{wxrichtextctrlmovetoparagraphend}
997
998\func{bool}{MoveToParagraphEnd}{\param{int }{flags = 0}}
999
1000Moves to the end of the paragraph.
1001
1002\membersection{wxRichTextCtrl::MoveToParagraphStart}\label{wxrichtextctrlmovetoparagraphstart}
1003
1004\func{bool}{MoveToParagraphStart}{\param{int }{flags = 0}}
1005
1006Moves to the start of the paragraph.
1007
1008\membersection{wxRichTextCtrl::MoveUp}\label{wxrichtextctrlmoveup}
1009
1010\func{bool}{MoveUp}{\param{int }{noLines = 1}, \param{int }{flags = 0}}
1011
1012Moves up.
1013
1014\membersection{wxRichTextCtrl::Newline}\label{wxrichtextctrlnewline}
1015
1016\func{bool}{Newline}{\void}
1017
21fae46d 1018Inserts a new paragraph at the current insertion point. See also \helpref{wxRichTextCtrl::LineBreak}{wxrichtextctrllinebreak}.
5f35b46a 1019
62f4313b
JS
1020\membersection{wxRichTextCtrl::NumberList}\label{wxrichtextctrlnumberlist}
1021
1022\func{bool}{NumberList}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextListStyleDefinition* }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ startFrom = -1}, \param{int}{ listLevel = -1}}
1023
1024\func{bool}{Number}{\param{const wxRichTextRange\& }{range}, \param{const wxString\& }{styleName}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ startFrom = -1}, \param{int}{ listLevel = -1}}
1025
1026Numbers the paragraphs in the given range. Pass flags to determine how the attributes are set.
1027Either the style definition or the name of the style definition (in the current sheet) can be passed.
1028
1029{\it flags} is a bit list of the following:
1030
1031\begin{itemize}\itemsep=0pt
1032\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
1033\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
1034\item wxRICHTEXT\_SETSTYLE\_SPECIFY\_LEVEL: specifies that {\it listLevel} should be used as the level for all paragraphs, otherwise the current indentation will be used.
1035\end{itemize}
1036
1037See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
1038
5f35b46a
JS
1039\membersection{wxRichTextCtrl::OnClear}\label{wxrichtextctrlonclear}
1040
1041\func{void}{OnClear}{\param{wxCommandEvent\& }{event}}
1042
1043Standard handler for the wxID\_CLEAR command.
1044
1045\membersection{wxRichTextCtrl::OnContextMenu}\label{wxrichtextctrloncontextmenu}
1046
1047\func{void}{OnContextMenu}{\param{wxContextMenuEvent\& }{event}}
1048
1049Shows a standard context menu with undo, redo, cut, copy, paste, clear, and select all commands.
1050
1051\membersection{wxRichTextCtrl::OnCopy}\label{wxrichtextctrloncopy}
1052
1053\func{void}{OnCopy}{\param{wxCommandEvent\& }{event}}
1054
1055Standard handler for the wxID\_COPY command.
1056
1057\membersection{wxRichTextCtrl::OnCut}\label{wxrichtextctrloncut}
1058
1059\func{void}{OnCut}{\param{wxCommandEvent\& }{event}}
1060
1061Standard handler for the wxID\_CUT command.
1062
1063\membersection{wxRichTextCtrl::OnDropFiles}\label{wxrichtextctrlondropfiles}
1064
1065\func{void}{OnDropFiles}{\param{wxDropFilesEvent\& }{event}}
1066
1067Loads the first dropped file.
1068
1069\membersection{wxRichTextCtrl::OnPaste}\label{wxrichtextctrlonpaste}
1070
1071\func{void}{OnPaste}{\param{wxCommandEvent\& }{event}}
1072
1073Standard handler for the wxID\_PASTE command.
1074
1075\membersection{wxRichTextCtrl::OnRedo}\label{wxrichtextctrlonredo}
1076
1077\func{void}{OnRedo}{\param{wxCommandEvent\& }{event}}
1078
1079Standard handler for the wxID\_REDO command.
1080
1081\membersection{wxRichTextCtrl::OnSelectAll}\label{wxrichtextctrlonselectall}
1082
1083\func{void}{OnSelectAll}{\param{wxCommandEvent\& }{event}}
1084
1085Standard handler for the wxID\_SELECTALL command.
1086
1087\membersection{wxRichTextCtrl::OnUndo}\label{wxrichtextctrlonundo}
1088
1089\func{void}{OnUndo}{\param{wxCommandEvent\& }{event}}
1090
1091Standard handler for the wxID\_PASTE command.
1092
1093\membersection{wxRichTextCtrl::OnUpdateClear}\label{wxrichtextctrlonupdateclear}
1094
1095\func{void}{OnUpdateClear}{\param{wxUpdateUIEvent\& }{event}}
1096
1097Standard update handler for the wxID\_CLEAR command.
1098
1099\membersection{wxRichTextCtrl::OnUpdateCopy}\label{wxrichtextctrlonupdatecopy}
1100
1101\func{void}{OnUpdateCopy}{\param{wxUpdateUIEvent\& }{event}}
1102
1103Standard update handler for the wxID\_COPY command.
1104
1105\membersection{wxRichTextCtrl::OnUpdateCut}\label{wxrichtextctrlonupdatecut}
1106
1107\func{void}{OnUpdateCut}{\param{wxUpdateUIEvent\& }{event}}
1108
1109Standard update handler for the wxID\_CUT command.
1110
1111\membersection{wxRichTextCtrl::OnUpdatePaste}\label{wxrichtextctrlonupdatepaste}
1112
1113\func{void}{OnUpdatePaste}{\param{wxUpdateUIEvent\& }{event}}
1114
1115Standard update handler for the wxID\_PASTE command.
1116
1117\membersection{wxRichTextCtrl::OnUpdateRedo}\label{wxrichtextctrlonupdateredo}
1118
1119\func{void}{OnUpdateRedo}{\param{wxUpdateUIEvent\& }{event}}
1120
1121Standard update handler for the wxID\_REDO command.
1122
1123\membersection{wxRichTextCtrl::OnUpdateSelectAll}\label{wxrichtextctrlonupdateselectall}
1124
1125\func{void}{OnUpdateSelectAll}{\param{wxUpdateUIEvent\& }{event}}
1126
1127Standard update handler for the wxID\_SELECTALL command.
1128
1129\membersection{wxRichTextCtrl::OnUpdateUndo}\label{wxrichtextctrlonupdateundo}
1130
1131\func{void}{OnUpdateUndo}{\param{wxUpdateUIEvent\& }{event}}
1132
1133Standard update handler for the wxID\_UNDO command.
1134
1135\membersection{wxRichTextCtrl::PageDown}\label{wxrichtextctrlpagedown}
1136
1137\func{bool}{PageDown}{\param{int }{noPages = 1}, \param{int }{flags = 0}}
1138
1139Moves one or more pages down.
1140
1141\membersection{wxRichTextCtrl::PageUp}\label{wxrichtextctrlpageup}
1142
1143\func{bool}{PageUp}{\param{int }{noPages = 1}, \param{int }{flags = 0}}
1144
1145Moves one or more pages up.
1146
1147\membersection{wxRichTextCtrl::PaintBackground}\label{wxrichtextctrlpaintbackground}
1148
1149\func{void}{PaintBackground}{\param{wxDC\& }{dc}}
1150
1151Paints the background.
1152
1153\membersection{wxRichTextCtrl::Paste}\label{wxrichtextctrlpaste}
1154
1155\func{void}{Paste}{\void}
1156
1157Pastes content from the clipboard to the buffer.
1158
1159\membersection{wxRichTextCtrl::PositionCaret}\label{wxrichtextctrlpositioncaret}
1160
1161\func{void}{PositionCaret}{\void}
1162
1163Internal function to position the visible caret according to the current caret position.
1164
1165\membersection{wxRichTextCtrl::PositionToXY}\label{wxrichtextctrlpositiontoxy}
1166
1167\constfunc{bool}{PositionToXY}{\param{long }{pos}, \param{long* }{x}, \param{long* }{y}}
1168
1169Converts a text position to zero-based column and line numbers.
1170
62f4313b
JS
1171\membersection{wxRichTextCtrl::PromoteList}\label{wxrichtextctrlpromotelist}
1172
1173\func{bool}{PromoteList}{\param{int}{ promoteBy}, \param{const wxRichTextRange\& }{range}, \param{const wxRichTextListStyleDefinition* }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ listLevel = -1}}
1174
1175\func{bool}{PromoteList}{\param{int}{ promoteBy}, \param{const wxRichTextRange\& }{range}, \param{const wxString\& }{styleName}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ listLevel = -1}}
1176
1177Promotes or demotes the paragraphs in the given range. A positive {\it promoteBy} produces a smaller indent, and a negative number
1178produces a larger indent. Pass flags to determine how the attributes are set.
1179Either the style definition or the name of the style definition (in the current sheet) can be passed.
1180
1181{\it flags} is a bit list of the following:
1182
1183\begin{itemize}\itemsep=0pt
1184\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
1185\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
1186\item wxRICHTEXT\_SETSTYLE\_SPECIFY\_LEVEL: specifies that {\it listLevel} should be used as the level for all paragraphs, otherwise the current indentation will be used.
1187\end{itemize}
1188
1189See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlnumberlist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
1190
5f35b46a
JS
1191\membersection{wxRichTextCtrl::Redo}\label{wxrichtextctrlredo}
1192
1193\func{void}{Redo}{\void}
1194
1195Redoes the current command.
1196
1197\membersection{wxRichTextCtrl::Remove}\label{wxrichtextctrlremove}
1198
1199\func{void}{Remove}{\param{long }{from}, \param{long }{to}}
1200
1201Removes the content in the specified range.
1202
1203\membersection{wxRichTextCtrl::Replace}\label{wxrichtextctrlreplace}
1204
1205\func{void}{Replace}{\param{long }{from}, \param{long }{to}, \param{const wxString\& }{value}}
1206
1207Replaces the content in the specified range with the string specified by {\it value}.
1208
1209\membersection{wxRichTextCtrl::SaveFile}\label{wxrichtextctrlsavefile}
1210
1211\func{bool}{SaveFile}{\param{const wxString\& }{file = wxEmptyString}, \param{int }{type = wxRICHTEXT\_TYPE\_ANY}}
1212
1213Saves the buffer content using the given type. If the specified type
1214is wxRICHTEXT\_TYPE\_ANY, the type is deduced from the filename extension.
1215
1216This function looks for a suitable \helpref{wxRichTextFileHandler}{wxrichtextfilehandler} object.
1217
1218\membersection{wxRichTextCtrl::ScrollIntoView}\label{wxrichtextctrlscrollintoview}
1219
1220\func{bool}{ScrollIntoView}{\param{long }{position}, \param{int }{keyCode}}
1221
1222Scrolls {\it position} into view. This function takes a caret position.
1223
1224\membersection{wxRichTextCtrl::SelectAll}\label{wxrichtextctrlselectall}
1225
1226\func{void}{SelectAll}{\void}
1227
1228Selects all the text in the buffer.
1229
1230\membersection{wxRichTextCtrl::SelectNone}\label{wxrichtextctrlselectnone}
1231
1232\func{void}{SelectNone}{\void}
1233
1234Cancels any selection.
1235
62a268cc
JS
1236\membersection{wxRichTextCtrl::SetAndShowDefaultStyle}\label{wxrichtextctrlsetandshowdefaultstyle}
1237
44cc96a8 1238\func{void}{SetAndShowDefaultStyle}{\param{const wxTextAttr\& }{attr}}
62a268cc
JS
1239
1240Sets {\it attr} as the default style and tells the control that the UI should reflect
1241this attribute until the user moves the caret.
1242
1243See also \helpref{IsDefaultStyleShowing}{wxrichtextctrlisdefaultstyleshowing}.
1244
5f35b46a
JS
1245\membersection{wxRichTextCtrl::SetBasicStyle}\label{wxrichtextctrlsetbasicstyle}
1246
44cc96a8 1247\func{void}{SetBasicStyle}{\param{const wxTextAttr\& }{style}}
5f35b46a
JS
1248
1249Sets the basic (overall) style. This is the style of the whole
1250buffer before further styles are applied, unlike the default style, which
1251only affects the style currently being applied (for example, setting the default
1252style to bold will cause subsequently inserted text to be bold).
1253
1254\membersection{wxRichTextCtrl::SetCaretPosition}\label{wxrichtextctrlsetcaretposition}
1255
1256\func{void}{SetCaretPosition}{\param{long }{position}, \param{bool }{showAtLineStart = false}}
1257
1258The caret position is the character position just before the caret.
1259A value of -1 means the caret is at the start of the buffer.
1260
1261\membersection{wxRichTextCtrl::SetDefaultStyle}\label{wxrichtextctrlsetdefaultstyle}
1262
44cc96a8 1263\func{bool}{SetDefaultStyle}{\param{const wxTextAttr\& }{style}}
5f35b46a
JS
1264
1265Sets the current default style, which can be used to change how subsequently inserted
1266text is displayed.
1267
1268\membersection{wxRichTextCtrl::SetDefaultStyleToCursorStyle}\label{wxrichtextctrlsetdefaultstyletocursorstyle}
1269
1270\func{bool}{SetDefaultStyleToCursorStyle}{\void}
1271
1272Sets the default style to the style under the cursor.
1273
1274\membersection{wxRichTextCtrl::SetDelayedLayoutThreshold}\label{wxrichtextctrlsetdelayedlayoutthreshold}
1275
1276\func{void}{SetDelayedLayoutThreshold}{\param{long }{threshold}}
1277
1278Sets the size of the buffer beyond which layout is delayed during resizing.
1279This optimizes sizing for large buffers. The default is 20000.
1280
1281\membersection{wxRichTextCtrl::SetEditable}\label{wxrichtextctrlseteditable}
1282
1283\func{void}{SetEditable}{\param{bool }{editable}}
1284
1285Makes the control editable, or not.
1286
1287\membersection{wxRichTextCtrl::SetFilename}\label{wxrichtextctrlsetfilename}
1288
1289\func{void}{SetFilename}{\param{const wxString\& }{filename}}
1290
1291Sets the current filename.
1292
1293\membersection{wxRichTextCtrl::SetFont}\label{wxrichtextctrlsetfont}
1294
1295\func{bool}{SetFont}{\param{const wxFont\& }{font}}
1296
1297Sets the font, and also the basic and default attributes (see \helpref{SetDefaultStyle}{wxrichtextctrlsetdefaultstyle}).
1298
1f65137f
JS
1299\membersection{wxRichTextCtrl::SetHandlerFlags}\label{wxrichtextctrlsethandlerflags}
1300
1301\func{void}{SetHandlerFlags}{\param{int }{flags}}
1302
1303Sets flags that change the behaviour of loading or saving. See the documentation for each
1304handler class to see what flags are relevant for each handler.
1305
5f35b46a
JS
1306\membersection{wxRichTextCtrl::SetInsertionPoint}\label{wxrichtextctrlsetinsertionpoint}
1307
1308\func{void}{SetInsertionPoint}{\param{long }{pos}}
1309
1310Sets the insertion point.
1311
1312\membersection{wxRichTextCtrl::SetInsertionPointEnd}\label{wxrichtextctrlsetinsertionpointend}
1313
1314\func{void}{SetInsertionPointEnd}{\void}
1315
1316Sets the insertion point to the end of the text control.
1317
62f4313b
JS
1318\membersection{wxRichTextCtrl::SetListStyle}\label{wxrichtextctrlsetliststyle}
1319
1320\func{bool}{SetListStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextListStyleDefinition* }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ startFrom = -1}, \param{int}{ listLevel = -1}}
1321
1322\func{bool}{SetListStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxString\& }{styleName}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}, \param{int}{ startFrom = -1}, \param{int}{ listLevel = -1}}
1323
1324Sets the list attributes for the given range, passing flags to determine how the attributes are set.
1325Either the style definition or the name of the style definition (in the current sheet) can be passed.
1326
1327{\it flags} is a bit list of the following:
1328
1329\begin{itemize}\itemsep=0pt
1330\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
1331\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
1332\item wxRICHTEXT\_SETSTYLE\_SPECIFY\_LEVEL: specifies that {\it listLevel} should be used as the level for all paragraphs, otherwise the current indentation will be used.
1333\end{itemize}
1334
1335See also \helpref{wxRichTextCtrl::NumberList}{wxrichtextctrlnumberlist}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
1336
5f35b46a
JS
1337\membersection{wxRichTextCtrl::SetSelection}\label{wxrichtextctrlsetselection}
1338
1339\func{void}{SetSelection}{\param{long }{from}, \param{long }{to}}
1340
1341Sets the selection to the given range.
1342
62a268cc 1343The end point of range is specified as the last character position of the span of text, plus one.
de6a9bb6 1344So, for example, to set the selection for a character at position 5, use the range (5,6).
62a268cc 1345
5f35b46a
JS
1346\membersection{wxRichTextCtrl::SetSelectionRange}\label{wxrichtextctrlsetselectionrange}
1347
1348\func{void}{SetSelectionRange}{\param{const wxRichTextRange\& }{range}}
1349
1350Sets the selection to the given range.
1351
62a268cc 1352The end point of range is specified as the last character position of the span of text, plus one.
de6a9bb6 1353So, for example, to set the selection for a character at position 5, use the range (5,6).
62a268cc 1354
5f35b46a
JS
1355\membersection{wxRichTextCtrl::SetStyle}\label{wxrichtextctrlsetstyle}
1356
44cc96a8 1357\func{bool}{SetStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttr\& }{style}}
5f35b46a 1358
62a268cc
JS
1359\func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttr\& }{style}}
1360
44cc96a8 1361Sets the attributes for the given range.
5f35b46a 1362
62a268cc
JS
1363The end point of range is specified as the last character position of the span of text, plus one.
1364So, for example, to set the style for a character at position 5, use the range (5,6).
1365
1366\membersection{wxRichTextCtrl::SetStyleEx}\label{wxrichtextctrlsetstyleex}
1367
44cc96a8 1368\func{bool}{SetStyleEx}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttr\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
62a268cc 1369
44cc96a8 1370\func{bool}{SetStyleEx}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttr\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
62a268cc 1371
44cc96a8 1372Sets the attributes for the given range, passing flags to determine how the attributes are set.
62a268cc
JS
1373
1374The end point of range is specified as the last character position of the span of text, plus one.
1375So, for example, to set the style for a character at position 5, use the range (5,6).
1376
1377{\it flags} may contain a bit list of the following values:
1378
62f4313b
JS
1379\begin{itemize}\itemsep=0pt
1380\item wxRICHTEXT\_SETSTYLE\_NONE: no style flag.
1381\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this operation should be undoable.
1382\item wxRICHTEXT\_SETSTYLE\_OPTIMIZE: specifies that the style should not be applied if the
1383combined style at this point is already the style in question.
523d2f14 1384\item wxRICHTEXT\_SETSTYLE\_PARAGRAPHS\_ONLY: specifies that the style should only be applied to paragraphs,
62f4313b
JS
1385and not the content. This allows content styling to be preserved independently from that of e.g. a named paragraph style.
1386\item wxRICHTEXT\_SETSTYLE\_CHARACTERS\_ONLY: specifies that the style should only be applied to characters,
1387and not the paragraph. This allows content styling to be preserved independently from that of e.g. a named paragraph style.
523d2f14 1388\item wxRICHTEXT\_SETSTYLE\_RESET: resets (clears) the existing style before applying the new style.
aeb6ebe2 1389\item wxRICHTEXT\_SETSTYLE\_REMOVE: removes the specified style. Only the style flags are used in this operation.
62f4313b 1390\end{itemize}
62a268cc 1391
5f35b46a
JS
1392\membersection{wxRichTextCtrl::SetStyleSheet}\label{wxrichtextctrlsetstylesheet}
1393
1394\func{void}{SetStyleSheet}{\param{wxRichTextStyleSheet* }{styleSheet}}
1395
1396Sets the style sheet associated with the control. A style sheet allows named
1397character and paragraph styles to be applied.
1398
1399\membersection{wxRichTextCtrl::SetValue}\label{wxrichtextctrlsetvalue}
1400
1401\func{void}{SetValue}{\param{const wxString\& }{value}}
1402
1403Replaces existing content with the given text.
1404
1405\membersection{wxRichTextCtrl::SetupScrollbars}\label{wxrichtextctrlsetupscrollbars}
1406
1407\func{void}{SetupScrollbars}{\param{bool }{atTop = false}}
1408
1409A helper function setting up scrollbars, for example after a resize.
1410
1411\membersection{wxRichTextCtrl::ShowPosition}\label{wxrichtextctrlshowposition}
1412
1413\func{void}{ShowPosition}{\param{long }{pos}}
1414
1415Scrolls the buffer so that the given position is in view.
1416
1417\membersection{wxRichTextCtrl::SuppressingUndo}\label{wxrichtextctrlsuppressingundo}
1418
1419\constfunc{bool}{SuppressingUndo}{\void}
1420
1421Returns \true if undo history suppression is on.
1422
1423\membersection{wxRichTextCtrl::Thaw}\label{wxrichtextctrlthaw}
1424
1425\func{void}{Thaw}{\void}
1426
1427Call this function to end a Freeze and refresh the display.
1428
1429\membersection{wxRichTextCtrl::Undo}\label{wxrichtextctrlundo}
1430
1431\func{void}{Undo}{\void}
1432
1433Undoes the command at the top of the command history, if there is one.
1434
1435\membersection{wxRichTextCtrl::WordLeft}\label{wxrichtextctrlwordleft}
1436
1437\func{bool}{WordLeft}{\param{int }{noWords = 1}, \param{int }{flags = 0}}
1438
1439Moves a number of words to the left.
1440
1441\membersection{wxRichTextCtrl::WordRight}\label{wxrichtextctrlwordright}
1442
1443\func{bool}{WordRight}{\param{int }{noWords = 1}, \param{int }{flags = 0}}
1444
1445Move a nuber of words to the right.
1446
1447\membersection{wxRichTextCtrl::WriteImage}\label{wxrichtextctrlwriteimage}
1448
1449\func{bool}{WriteImage}{\param{const wxString\& }{filename}, \param{int }{bitmapType}}
1450
1451Loads an image from a file and writes it at the current insertion point.
1452
1453\func{bool}{WriteImage}{\param{const wxRichTextImageBlock\& }{imageBlock}}
1454
1455Writes an image block at the current insertion point.
1456
1457\func{bool}{WriteImage}{\param{const wxBitmap\& }{bitmap}, \param{int }{bitmapType = wxBITMAP\_TYPE\_PNG}}
1458
1459\func{bool}{WriteImage}{\param{const wxImage\& }{image}, \param{int }{bitmapType = wxBITMAP\_TYPE\_PNG}}
1460
1461Write a bitmap or image at the current insertion point. Supply an optional type to use
1462for internal and file storage of the raw data.
1463
1464\membersection{wxRichTextCtrl::WriteText}\label{wxrichtextctrlwritetext}
1465
1466\func{void}{WriteText}{\param{const wxString\& }{text}}
1467
1468Writes text at the current position.
1469
1470\membersection{wxRichTextCtrl::XYToPosition}\label{wxrichtextctrlxytoposition}
1471
1472\constfunc{long}{XYToPosition}{\param{long }{x}, \param{long }{y}}
1473
1474Translates from column and line number to position.
62a268cc 1475