1 /////////////////////////////////////////////////////////////////////////////
2 // Name: richtext/richtextctrl.h
3 // Purpose: interface of wxRichTextEvent
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
10 @class wxRichTextEvent
11 @headerfile richtextctrl.h wx/richtext/richtextctrl.h
13 This is the event class for wxRichTextCtrl notifications.
18 class wxRichTextEvent
: public wxNotifyEvent
25 wxRichTextEvent(const wxRichTextEvent
& event
);
26 wxRichTextEvent(wxEventType commandType
= wxEVT_NULL
,
33 wxEvent
* Clone() const;
36 Returns the character pressed, within a wxEVT_COMMAND_RICHTEXT_CHARACTER event.
38 wxChar
GetCharacter() const;
41 Returns flags indicating modifier keys pressed. Possible values are
43 wxRICHTEXT_SHIFT_DOWN, and wxRICHTEXT_ALT_DOWN.
48 Returns the new style sheet. Can be used in a
49 wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING or
50 wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED event handler.
52 wxRichTextStyleSheet
* GetNewStyleSheet() const;
55 Returns the old style sheet. Can be used in a
56 wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING or
57 wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED event handler.
59 wxRichTextStyleSheet
* GetOldStyleSheet() const;
62 Returns the buffer position at which the event occured.
64 long GetPosition() const;
67 Gets the range for the current operation.
69 wxRichTextRange
GetRange() const;
72 Sets the character variable.
74 void SetCharacter(wxChar ch
);
77 Sets flags indicating modifier keys pressed. Possible values are
79 wxRICHTEXT_SHIFT_DOWN, and wxRICHTEXT_ALT_DOWN.
81 void SetFlags(int flags
);
84 Sets the new style sheet variable.
86 void SetNewStyleSheet(wxRichTextStyleSheet
* sheet
);
89 Sets the old style sheet variable.
91 void SetOldStyleSheet(wxRichTextStyleSheet
* sheet
);
94 Sets the buffer position variable.
96 void SetPosition(long pos
);
99 Sets the range variable.
101 void SetRange(const wxRichTextRange
& range
);
106 @class wxRichTextCtrl
107 @headerfile richtextctrl.h wx/richtext/richtextctrl.h
109 wxRichTextCtrl provides a generic, ground-up implementation of a text control
110 capable of showing multiple styles and images.
112 wxRichTextCtrl sends notification events: see wxRichTextEvent.
113 It also sends the standard wxTextCtrl events wxEVT_COMMAND_TEXT_ENTER and
114 wxEVT_COMMAND_TEXT_UPDATED,
115 and wxTextUrlEvent when URL content is clicked.
117 For more information, see the @ref overview_wxrichtextctrloverview
118 "wxRichTextCtrl overview".
131 wxRichTextCtrl(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
132 const wxString
& value
= wxEmptyString
,
133 const wxPoint
& pos
= wxDefaultPosition
,
134 const wxSize
& size
= wxDefaultSize
,
135 long style
= wxRE_MULTILINE
,
136 const wxValidator
& validator
= wxDefaultValidator
,
137 const wxString
& name
= wxTextCtrlNameStr
);
146 Adds an image to the control's buffer.
148 wxRichTextRange
AddImage(const wxImage
& image
);
151 Adds a new paragraph of text to the end of the buffer.
153 wxRichTextRange
AddParagraph(const wxString
& text
);
156 Sets the insertion point to the end of the buffer and writes the text.
158 void AppendText(const wxString
& text
);
161 Applies the given alignment to the selection (undoable).
162 For alignment values, see wxTextAttr.
164 bool ApplyAlignmentToSelection(wxTextAttrAlignment alignment
);
167 Apples bold to the selection (undoable).
169 bool ApplyBoldToSelection();
172 Applies italic to the selection (undoable).
174 bool ApplyItalicToSelection();
177 Applies the given style to the selection.
179 bool ApplyStyle(wxRichTextStyleDefinition
* def
);
182 Applies the style sheet to the buffer, matching paragraph styles in the sheet
184 in the buffer. This might be useful if the styles have changed. If @a sheet is
186 sheet set with SetStyleSheet is used.
187 Currently this applies paragraph styles only.
189 bool ApplyStyleSheet(wxRichTextStyleSheet
* sheet
= NULL
);
192 Applies underline to the selection (undoable).
194 bool ApplyUnderlineToSelection();
197 Returns @true if undo commands are being batched.
199 bool BatchingUndo() const;
202 Begins using alignment
203 For alignment values, see wxTextAttr.
205 bool BeginAlignment(wxTextAttrAlignment alignment
);
208 Starts batching undo history for commands.
210 bool BeginBatchUndo(const wxString
& cmdName
);
218 Begins using the named character style.
220 bool BeginCharacterStyle(const wxString
& characterStyle
);
223 Begins using this font.
225 bool BeginFont(const wxFont
& font
);
228 Begins using the given point size.
230 bool BeginFontSize(int pointSize
);
238 Begins applying a left indent and subindent in tenths of a millimetre.
239 The sub-indent is an offset from the left of the paragraph, and is used for all
241 first line in a paragraph. A positive value will cause the first line to appear
243 of the subsequent lines, and a negative value will cause the first line to be
245 relative to the subsequent lines.
246 wxRichTextBuffer uses indentation to render a bulleted item. The left indent is
248 the margin and the bullet. The content of the paragraph, including the first
250 at leftMargin + leftSubIndent. So the distance between the left edge of the
252 left of the actual paragraph is leftSubIndent.
254 bool BeginLeftIndent(int leftIndent
, int leftSubIndent
= 0);
257 Begins appling line spacing. @e spacing is a multiple, where 10 means
259 15 means 1.5 spacing, and 20 means double spacing. The following constants are
260 defined for convenience:
262 bool BeginLineSpacing(int lineSpacing
);
265 Begins using a specified list style. Optionally, you can also pass a level and
268 bool BeginListStyle(const wxString
& listStyle
, int level
= 1,
272 Begins a numbered bullet. This call will be needed for each item in the list,
274 application should take care of incrementing the numbering.
275 @a bulletNumber is a number, usually starting with 1.
276 @a leftIndent and @a leftSubIndent are values in tenths of a millimetre.
277 @a bulletStyle is a bitlist of the following values:
279 wxRichTextBuffer uses indentation to render a bulleted item. The left indent is
281 the margin and the bullet. The content of the paragraph, including the first
283 at leftMargin + leftSubIndent. So the distance between the left edge of the
285 left of the actual paragraph is leftSubIndent.
287 bool BeginNumberedBullet(int bulletNumber
, int leftIndent
,
289 int bulletStyle
= wxTEXT_ATTR_BULLET_STYLE_ARABIC
|wxTEXT_ATTR_BULLET_STYLE_PERIOD
);
292 Begins paragraph spacing; pass the before-paragraph and after-paragraph spacing
296 bool BeginParagraphSpacing(int before
, int after
);
299 Begins applying the named paragraph style.
301 bool BeginParagraphStyle(const wxString
& paragraphStyle
);
304 Begins a right indent, specified in tenths of a millimetre.
306 bool BeginRightIndent(int rightIndent
);
309 Begins applying a style.
311 bool BeginStyle(const wxTextAttr
& style
);
314 Starts suppressing undo history for commands.
316 bool BeginSuppressUndo();
319 Begins applying a symbol bullet, using a character from the current font. See
320 BeginNumberedBullet() for
321 an explanation of how indentation is used to render the bulleted paragraph.
323 bool BeginSymbolBullet(wxChar symbol
, int leftIndent
,
325 int bulletStyle
= wxTEXT_ATTR_BULLET_STYLE_SYMBOL
);
328 Begins using this colour.
330 bool BeginTextColour(const wxColour
& colour
);
333 Begins applying wxTEXT_ATTR_URL to the content. Pass a URL and optionally, a
334 character style to apply,
335 since it is common to mark a URL with a familiar style such as blue text with
338 bool BeginURL(const wxString
& url
,
339 const wxString
& characterStyle
= wxEmptyString
);
342 Begins using underlining.
344 bool BeginUnderline();
347 Returns @true if selected content can be copied to the clipboard.
349 bool CanCopy() const;
352 Returns @true if selected content can be copied to the clipboard and deleted.
357 Returns @true if selected content can be deleted.
359 bool CanDeleteSelection() const;
362 Returns @true if the clipboard content can be pasted to the buffer.
364 bool CanPaste() const;
367 Returns @true if there is a command in the command history that can be redone.
369 bool CanRedo() const;
372 Returns @true if there is a command in the command history that can be undone.
374 bool CanUndo() const;
377 Clears the buffer content, leaving a single empty paragraph. Cannot be undone.
383 Clears the list style from the given range, clearing list-related attributes
384 and applying any named paragraph style associated with each paragraph.
385 @a flags is a bit list of the following:
386 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
387 See also SetListStyle(), PromoteList(), NumberList().
389 bool ClearListStyle(const wxRichTextRange
& range
,
390 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
391 bool ClearListStyle(const wxRichTextRange
& range
,
392 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
396 Sends the event to the control.
398 void Command(wxCommandEvent
& event
);
401 Copies the selected content (if any) to the clipboard.
406 Creates the underlying window.
408 bool Create(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
409 const wxString
& value
= wxEmptyString
,
410 const wxPoint
& pos
= wxDefaultPosition
,
411 const wxSize
& size
= wxDefaultSize
,
412 long style
= wxRE_MULTILINE
,
413 const wxValidator
& validator
= wxDefaultValidator
,
414 const wxString
& name
= wxTextCtrlNameStr
);
417 Copies the selected content (if any) to the clipboard and deletes the selection.
423 Deletes the content within the given range.
425 bool Delete(const wxRichTextRange
& range
);
428 Deletes content if there is a selection, e.g. when pressing a key.
429 Returns the new caret position in @e newPos, or leaves it if there
430 was no action. This is undoable.
432 bool DeleteSelectedContent(long* newPos
= NULL
);
435 Deletes the content in the selection, if any. This is undoable.
437 void DeleteSelection();
440 Sets the buffer's modified status to @false, and clears the buffer's command
446 Currently this simply returns @c wxSize(10, 10).
448 wxSize
DoGetBestSize() const;
456 Ends application of all styles in the current style stack.
461 Ends batching undo command history.
471 Ends application of a named character style.
473 bool EndCharacterStyle();
481 Ends using a point size.
493 bool EndLeftIndent();
498 bool EndLineSpacing();
501 Ends using a specified list style.
506 Ends application of a numbered bullet.
508 bool EndNumberedBullet();
511 Ends paragraph spacing.
513 bool EndParagraphSpacing();
516 Ends application of a named character style.
518 bool EndParagraphStyle();
523 bool EndRightIndent();
526 Ends the current style.
531 Ends suppressing undo command history.
533 bool EndSuppressUndo();
536 Ends applying a symbol bullet.
538 bool EndSymbolBullet();
541 Ends applying a text colour.
543 bool EndTextColour();
551 End applying underlining.
556 Helper function for extending the selection, returning @true if the selection
558 changed. Selections are in caret positions.
560 bool ExtendSelection(long oldPosition
, long newPosition
,
564 Helper function for finding the caret position for the next word. Direction
565 is 1 (forward) or -1 (backwards).
567 long FindNextWordPosition(int direction
= 1) const;
570 Call this function to prevent refresh and allow fast updates, and then Thaw() to
576 Gets the basic (overall) style. This is the style of the whole
577 buffer before further styles are applied, unlike the default style, which
578 only affects the style currently being applied (for example, setting the default
579 style to bold will cause subsequently inserted text to be bold).
581 const wxTextAttr
GetBasicStyle() const;
585 Returns the buffer associated with the control.
587 const wxRichTextBuffer
GetBuffer();
588 const wxRichTextBuffer
& GetBuffer();
592 Returns the current caret position.
594 long GetCaretPosition() const;
597 Returns the caret height and position for the given character position
599 bool GetCaretPositionForIndex(long position
, wxRect
& rect
);
602 Gets the command processor associated with the control's buffer.
604 wxCommandProcessor
* GetCommandProcessor() const;
607 Returns the current default style, which can be used to change how subsequently
611 const wxTextAttr
GetDefaultStyle() const;
614 Gets the size of the buffer beyond which layout is delayed during resizing.
615 This optimizes sizing for large buffers. The default is 20000.
617 long GetDelayedLayoutThreshold() const;
620 Gets the current filename associated with the control.
622 wxString
GetFilename() const;
625 Returns the first visible position in the current view.
627 long GetFirstVisiblePosition() const;
630 Returns flags that change the behaviour of loading or saving. See the
631 documentation for each
632 handler class to see what flags are relevant for each handler.
634 int GetHandlerFlags() const;
637 Returns the current insertion point.
639 long GetInsertionPoint() const;
642 Returns the last position in the buffer.
644 wxTextPos
GetLastPosition() const;
647 Returns the length of the specified line in characters.
649 int GetLineLength(long lineNo
) const;
652 Returns the text for the given line.
654 wxString
GetLineText(long lineNo
) const;
657 Transforms physical window position to logical (unscrolled) position.
659 wxPoint
GetLogicalPoint(const wxPoint
& ptPhysical
) const;
662 Returns the number of lines in the buffer.
664 int GetNumberOfLines() const;
667 Transforms logical (unscrolled) position to physical window position.
669 wxPoint
GetPhysicalPoint(const wxPoint
& ptLogical
) const;
672 Gets the text for the given range.
673 The end point of range is specified as the last character position of the span
676 wxString
GetRange(long from
, long to
) const;
679 Returns the range of the current selection.
680 The end point of range is specified as the last character position of the span
682 If the return values @a from and @a to are the same, there is no selection.
684 void GetSelection(long* from
, long* to
) const;
687 Returns the selection range in character positions. -1, -1 means no selection.
689 const wxRichTextRange
GetSelectionRange() const;
692 Returns the text within the current selection range, if any.
694 wxString
GetStringSelection() const;
697 Gets the attributes at the given position.
698 This function gets the combined style - that is, the style you see on the
700 of combining base style, paragraph style and character style attributes. To get
702 or paragraph style alone, use GetUncombinedStyle().
704 bool GetStyle(long position
, wxTextAttr
& style
);
707 Gets the attributes common to the specified range. Attributes that differ in
708 value within the range will
709 not be included in @e style's flags.
711 bool GetStyleForRange(const wxRichTextRange
& range
,
715 Returns the style sheet associated with the control, if any. A style sheet
717 character and paragraph styles to be applied.
719 wxRichTextStyleSheet
* GetStyleSheet() const;
722 Gets the attributes at the given position.
723 This function gets the @e uncombined style - that is, the attributes associated
725 paragraph or character content, and not necessarily the combined attributes you
727 screen. To get the combined attributes, use GetStyle().
728 If you specify (any) paragraph attribute in @e style's flags, this function
730 the paragraph attributes. Otherwise, it will return the character attributes.
732 bool GetUncombinedStyle(long position
, wxTextAttr
& style
);
735 Returns the content of the entire control as a string.
737 wxString
GetValue() const;
740 Internal helper function returning the line for the visible caret position. If
742 shown at the very end of the line, it means the next character is actually
743 on the following line. So this function gets the line we're expecting to find
746 wxRichTextLine
* GetVisibleLineForCaretPosition(long caretPosition
) const;
749 Test if this whole range has character attributes of the specified kind. If any
750 of the attributes are different within the range, the test fails. You
751 can use this to implement, for example, bold button updating. @a style must have
752 flags indicating which attributes are of interest.
754 bool HasCharacterAttributes(const wxRichTextRange
& range
,
755 const wxTextAttr
& style
) const;
758 Test if this whole range has paragraph attributes of the specified kind. If any
759 of the attributes are different within the range, the test fails. You
760 can use this to implement, for example, centering button updating. @a style
762 flags indicating which attributes are of interest.
764 bool HasParagraphAttributes(const wxRichTextRange
& range
,
765 const wxTextAttr
& style
) const;
768 Returns @true if there is a selection.
770 bool HasSelection() const;
774 Finds the character at the given position in pixels.
775 @a pt is in device coords (not adjusted for the client area origin nor for
778 wxTextCtrlHitTestResult
HitTest(const wxPoint
& pt
, long* pos
) const;
779 const wxTextCtrlHitTestResult
HitTest(const wxPoint
& pt
,
781 wxTextCoord
* row
) const;
785 Initialises the members of the control.
790 Initialises the command event.
792 void InitCommandEvent(wxCommandEvent
& event
) const;
795 Returns @true if the user has recently set the default style without moving
797 and therefore the UI needs to reflect the default style and not the style at
799 Below is an example of code that uses this function to determine whether the UI
800 should show that the current style is bold.
802 See also SetAndShowDefaultStyle().
804 bool IsDefaultStyleShowing() const;
807 Returns @true if the control is editable.
809 bool IsEditable() const;
812 Returns @true if Freeze has been called without a Thaw.
814 bool IsFrozen() const;
817 Returns @true if the buffer has been modified.
819 bool IsModified() const;
822 Returns @true if the control is multiline.
824 bool IsMultiLine() const;
827 Returns @true if the given position is visible on the screen.
829 bool IsPositionVisible(long pos
) const;
832 Returns @true if all of the selection is aligned according to the specified
835 bool IsSelectionAligned(wxTextAttrAlignment alignment
) const;
838 Returns @true if all of the selection is bold.
840 bool IsSelectionBold() const;
843 Returns @true if all of the selection is italic.
845 bool IsSelectionItalics() const;
848 Returns @true if all of the selection is underlined.
850 bool IsSelectionUnderlined() const;
853 Returns @true if the control is single-line. Currently wxRichTextCtrl does not
854 support single-line editing.
856 bool IsSingleLine() const;
859 Helper function implementing keyboard navigation.
861 bool KeyboardNavigate(int keyCode
, int flags
);
864 Lays out the buffer, which must be done before certain operations, such as
865 setting the caret position. This function should not normally be required by the
868 bool LayoutContent(bool onlyVisibleRect
= false);
871 Inserts a line break at the current insertion point. A line break forces
872 wrapping within a paragraph, and
873 can be introduced by using this function, by appending the wxChar value @b
874 wxRichTextLineBreakChar to text content,
875 or by typing Shift-Return.
880 Loads content into the control's buffer using the given type. If the specified
882 is wxRICHTEXT_TYPE_ANY, the type is deduced from the filename extension.
883 This function looks for a suitable wxRichTextFileHandler object.
885 bool LoadFile(const wxString
& file
,
886 int type
= wxRICHTEXT_TYPE_ANY
);
889 Marks the buffer as modified.
894 Move the caret to the given character position.
896 bool MoveCaret(long pos
, bool showAtLineStart
= false);
899 Move the caret one visual step forward: this may mean setting a flag
900 and keeping the same position if we're going from the end of one line
901 to the start of the next, which may be the exact same caret position.
903 void MoveCaretBack(long oldPosition
);
906 Move the caret one visual step forward: this may mean setting a flag
907 and keeping the same position if we're going from the end of one line
908 to the start of the next, which may be the exact same caret position.
910 void MoveCaretForward(long oldPosition
);
913 Moves the caret down.
915 bool MoveDown(int noLines
= 1, int flags
= 0);
918 Moves to the end of the buffer.
920 bool MoveEnd(int flags
= 0);
923 Moves to the start of the buffer.
925 bool MoveHome(int flags
= 0);
930 bool MoveLeft(int noPositions
= 1, int flags
= 0);
935 bool MoveRight(int noPositions
= 1, int flags
= 0);
938 Moves to the end of the line.
940 bool MoveToLineEnd(int flags
= 0);
943 Moves to the start of the line.
945 bool MoveToLineStart(int flags
= 0);
948 Moves to the end of the paragraph.
950 bool MoveToParagraphEnd(int flags
= 0);
953 Moves to the start of the paragraph.
955 bool MoveToParagraphStart(int flags
= 0);
960 bool MoveUp(int noLines
= 1, int flags
= 0);
963 Inserts a new paragraph at the current insertion point. See also LineBreak().
969 Numbers the paragraphs in the given range. Pass flags to determine how the
971 Either the style definition or the name of the style definition (in the current
972 sheet) can be passed.
973 @a flags is a bit list of the following:
974 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
975 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
976 startFrom, otherwise existing attributes are used.
977 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
978 as the level for all paragraphs, otherwise the current indentation will be used.
979 See also SetListStyle(), PromoteList(), ClearListStyle().
981 bool NumberList(const wxRichTextRange
& range
,
982 const wxRichTextListStyleDefinition
* style
,
983 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
986 bool Number(const wxRichTextRange
& range
,
987 const wxString
& styleName
,
988 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
994 Standard handler for the wxID_CLEAR command.
996 void OnClear(wxCommandEvent
& event
);
999 Shows a standard context menu with undo, redo, cut, copy, paste, clear, and
1000 select all commands.
1002 void OnContextMenu(wxContextMenuEvent
& event
);
1005 Standard handler for the wxID_COPY command.
1007 void OnCopy(wxCommandEvent
& event
);
1010 Standard handler for the wxID_CUT command.
1012 void OnCut(wxCommandEvent
& event
);
1015 Loads the first dropped file.
1017 void OnDropFiles(wxDropFilesEvent
& event
);
1020 Standard handler for the wxID_PASTE command.
1022 void OnPaste(wxCommandEvent
& event
);
1025 Standard handler for the wxID_REDO command.
1027 void OnRedo(wxCommandEvent
& event
);
1030 Standard handler for the wxID_SELECTALL command.
1032 void OnSelectAll(wxCommandEvent
& event
);
1035 Standard handler for the wxID_PASTE command.
1037 void OnUndo(wxCommandEvent
& event
);
1040 Standard update handler for the wxID_CLEAR command.
1042 void OnUpdateClear(wxUpdateUIEvent
& event
);
1045 Standard update handler for the wxID_COPY command.
1047 void OnUpdateCopy(wxUpdateUIEvent
& event
);
1050 Standard update handler for the wxID_CUT command.
1052 void OnUpdateCut(wxUpdateUIEvent
& event
);
1055 Standard update handler for the wxID_PASTE command.
1057 void OnUpdatePaste(wxUpdateUIEvent
& event
);
1060 Standard update handler for the wxID_REDO command.
1062 void OnUpdateRedo(wxUpdateUIEvent
& event
);
1065 Standard update handler for the wxID_SELECTALL command.
1067 void OnUpdateSelectAll(wxUpdateUIEvent
& event
);
1070 Standard update handler for the wxID_UNDO command.
1072 void OnUpdateUndo(wxUpdateUIEvent
& event
);
1075 Moves one or more pages down.
1077 bool PageDown(int noPages
= 1, int flags
= 0);
1080 Moves one or more pages up.
1082 bool PageUp(int noPages
= 1, int flags
= 0);
1085 Paints the background.
1087 void PaintBackground(wxDC
& dc
);
1090 Pastes content from the clipboard to the buffer.
1095 Internal function to position the visible caret according to the current caret
1098 void PositionCaret();
1101 Converts a text position to zero-based column and line numbers.
1103 bool PositionToXY(long pos
, long* x
, long* y
) const;
1107 Promotes or demotes the paragraphs in the given range. A positive @a promoteBy
1108 produces a smaller indent, and a negative number
1109 produces a larger indent. Pass flags to determine how the attributes are set.
1110 Either the style definition or the name of the style definition (in the current
1111 sheet) can be passed.
1112 @a flags is a bit list of the following:
1113 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
1114 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
1115 startFrom, otherwise existing attributes are used.
1116 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
1117 as the level for all paragraphs, otherwise the current indentation will be used.
1118 See also SetListStyle(), See also SetListStyle(), ClearListStyle().
1120 bool PromoteList(int promoteBy
, const wxRichTextRange
& range
,
1121 const wxRichTextListStyleDefinition
* style
,
1122 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1123 int listLevel
= -1);
1124 bool PromoteList(int promoteBy
, const wxRichTextRange
& range
,
1125 const wxString
& styleName
,
1126 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1127 int listLevel
= -1);
1131 Redoes the current command.
1136 Removes the content in the specified range.
1138 void Remove(long from
, long to
);
1141 Replaces the content in the specified range with the string specified by @e
1144 void Replace(long from
, long to
, const wxString
& value
);
1147 Saves the buffer content using the given type. If the specified type
1148 is wxRICHTEXT_TYPE_ANY, the type is deduced from the filename extension.
1149 This function looks for a suitable wxRichTextFileHandler object.
1151 bool SaveFile(const wxString
& file
= wxEmptyString
,
1152 int type
= wxRICHTEXT_TYPE_ANY
);
1155 Scrolls @a position into view. This function takes a caret position.
1157 bool ScrollIntoView(long position
, int keyCode
);
1160 Selects all the text in the buffer.
1165 Cancels any selection.
1170 Sets @a attr as the default style and tells the control that the UI should
1172 this attribute until the user moves the caret.
1173 See also IsDefaultStyleShowing().
1175 void SetAndShowDefaultStyle(const wxTextAttr
& attr
);
1178 Sets the basic (overall) style. This is the style of the whole
1179 buffer before further styles are applied, unlike the default style, which
1180 only affects the style currently being applied (for example, setting the default
1181 style to bold will cause subsequently inserted text to be bold).
1183 void SetBasicStyle(const wxTextAttr
& style
);
1186 The caret position is the character position just before the caret.
1187 A value of -1 means the caret is at the start of the buffer.
1189 void SetCaretPosition(long position
,
1190 bool showAtLineStart
= false);
1193 Sets the current default style, which can be used to change how subsequently
1197 bool SetDefaultStyle(const wxTextAttr
& style
);
1200 Sets the default style to the style under the cursor.
1202 bool SetDefaultStyleToCursorStyle();
1205 Sets the size of the buffer beyond which layout is delayed during resizing.
1206 This optimizes sizing for large buffers. The default is 20000.
1208 void SetDelayedLayoutThreshold(long threshold
);
1211 Makes the control editable, or not.
1213 void SetEditable(bool editable
);
1216 Sets the current filename.
1218 void SetFilename(const wxString
& filename
);
1221 Sets the font, and also the basic and default attributes (see
1222 wxRichTextCtrl::SetDefaultStyle).
1224 bool SetFont(const wxFont
& font
);
1227 Sets flags that change the behaviour of loading or saving. See the
1228 documentation for each
1229 handler class to see what flags are relevant for each handler.
1231 void SetHandlerFlags(int flags
);
1234 Sets the insertion point.
1236 void SetInsertionPoint(long pos
);
1239 Sets the insertion point to the end of the text control.
1241 void SetInsertionPointEnd();
1245 Sets the list attributes for the given range, passing flags to determine how
1246 the attributes are set.
1247 Either the style definition or the name of the style definition (in the current
1248 sheet) can be passed.
1249 @a flags is a bit list of the following:
1250 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
1251 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
1252 startFrom, otherwise existing attributes are used.
1253 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
1254 as the level for all paragraphs, otherwise the current indentation will be used.
1255 See also NumberList(), PromoteList(), ClearListStyle().
1257 bool SetListStyle(const wxRichTextRange
& range
,
1258 const wxRichTextListStyleDefinition
* style
,
1259 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1261 int listLevel
= -1);
1262 bool SetListStyle(const wxRichTextRange
& range
,
1263 const wxString
& styleName
,
1264 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1266 int listLevel
= -1);
1270 Sets the selection to the given range.
1271 The end point of range is specified as the last character position of the span
1273 So, for example, to set the selection for a character at position 5, use the
1276 void SetSelection(long from
, long to
);
1279 Sets the selection to the given range.
1280 The end point of range is specified as the last character position of the span
1282 So, for example, to set the selection for a character at position 5, use the
1285 void SetSelectionRange(const wxRichTextRange
& range
);
1289 Sets the attributes for the given range.
1290 The end point of range is specified as the last character position of the span
1292 So, for example, to set the style for a character at position 5, use the range
1295 bool SetStyle(const wxRichTextRange
& range
,
1296 const wxTextAttr
& style
);
1297 bool SetStyle(long start
, long end
, const wxTextAttr
& style
);
1302 Sets the attributes for the given range, passing flags to determine how the
1304 The end point of range is specified as the last character position of the span
1306 So, for example, to set the style for a character at position 5, use the range
1308 @a flags may contain a bit list of the following values:
1309 wxRICHTEXT_SETSTYLE_NONE: no style flag.
1310 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this operation should be
1312 wxRICHTEXT_SETSTYLE_OPTIMIZE: specifies that the style should not be applied
1314 combined style at this point is already the style in question.
1315 wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY: specifies that the style should only be
1316 applied to paragraphs,
1317 and not the content. This allows content styling to be preserved independently
1318 from that of e.g. a named paragraph style.
1319 wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY: specifies that the style should only be
1320 applied to characters,
1321 and not the paragraph. This allows content styling to be preserved
1322 independently from that of e.g. a named paragraph style.
1323 wxRICHTEXT_SETSTYLE_RESET: resets (clears) the existing style before applying
1325 wxRICHTEXT_SETSTYLE_REMOVE: removes the specified style. Only the style flags
1326 are used in this operation.
1328 bool SetStyleEx(const wxRichTextRange
& range
,
1329 const wxTextAttr
& style
,
1330 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
1331 bool SetStyleEx(long start
, long end
,
1332 const wxTextAttr
& style
,
1333 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
1337 Sets the style sheet associated with the control. A style sheet allows named
1338 character and paragraph styles to be applied.
1340 void SetStyleSheet(wxRichTextStyleSheet
* styleSheet
);
1343 Replaces existing content with the given text.
1345 void SetValue(const wxString
& value
);
1348 A helper function setting up scrollbars, for example after a resize.
1350 void SetupScrollbars(bool atTop
= false);
1353 Scrolls the buffer so that the given position is in view.
1355 void ShowPosition(long pos
);
1358 Returns @true if undo history suppression is on.
1360 bool SuppressingUndo() const;
1363 Call this function to end a Freeze and refresh the display.
1368 Undoes the command at the top of the command history, if there is one.
1373 Moves a number of words to the left.
1375 bool WordLeft(int noWords
= 1, int flags
= 0);
1378 Move a nuber of words to the right.
1380 bool WordRight(int noWords
= 1, int flags
= 0);
1384 Write a bitmap or image at the current insertion point. Supply an optional type
1386 for internal and file storage of the raw data.
1388 bool WriteImage(const wxString
& filename
, int bitmapType
);
1389 bool WriteImage(const wxRichTextImageBlock
& imageBlock
);
1390 bool WriteImage(const wxBitmap
& bitmap
,
1391 int bitmapType
= wxBITMAP_TYPE_PNG
);
1392 bool WriteImage(const wxImage
& image
,
1393 int bitmapType
= wxBITMAP_TYPE_PNG
);
1397 Writes text at the current position.
1399 void WriteText(const wxString
& text
);
1402 Translates from column and line number to position.
1404 long XYToPosition(long x
, long y
) const;