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
);
107 @class wxRichTextCtrl
108 @headerfile richtextctrl.h wx/richtext/richtextctrl.h
110 wxRichTextCtrl provides a generic, ground-up implementation of a text control
111 capable of showing multiple styles and images.
113 wxRichTextCtrl sends notification events: see wxRichTextEvent.
114 It also sends the standard wxTextCtrl events wxEVT_COMMAND_TEXT_ENTER and
115 wxEVT_COMMAND_TEXT_UPDATED,
116 and wxTextUrlEvent when URL content is clicked.
118 For more information, see the @ref overview_wxrichtextctrloverview
119 "wxRichTextCtrl overview".
132 wxRichTextCtrl(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
133 const wxString
& value
= wxEmptyString
,
134 const wxPoint
& pos
= wxDefaultPosition
,
135 const wxSize
& size
= wxDefaultSize
,
136 long style
= wxRE_MULTILINE
,
137 const wxValidator
& validator
= wxDefaultValidator
,
138 const wxString
& name
= wxTextCtrlNameStr
);
147 Adds an image to the control's buffer.
149 wxRichTextRange
AddImage(const wxImage
& image
);
152 Adds a new paragraph of text to the end of the buffer.
154 wxRichTextRange
AddParagraph(const wxString
& text
);
157 Sets the insertion point to the end of the buffer and writes the text.
159 void AppendText(const wxString
& text
);
162 Applies the given alignment to the selection (undoable).
163 For alignment values, see wxTextAttr.
165 bool ApplyAlignmentToSelection(wxTextAttrAlignment alignment
);
168 Apples bold to the selection (undoable).
170 bool ApplyBoldToSelection();
173 Applies italic to the selection (undoable).
175 bool ApplyItalicToSelection();
178 Applies the given style to the selection.
180 bool ApplyStyle(wxRichTextStyleDefinition
* def
);
183 Applies the style sheet to the buffer, matching paragraph styles in the sheet
185 in the buffer. This might be useful if the styles have changed. If @a sheet is
187 sheet set with SetStyleSheet is used.
188 Currently this applies paragraph styles only.
190 bool ApplyStyleSheet(wxRichTextStyleSheet
* sheet
= NULL
);
193 Applies underline to the selection (undoable).
195 bool ApplyUnderlineToSelection();
198 Returns @true if undo commands are being batched.
200 bool BatchingUndo() const;
203 Begins using alignment
204 For alignment values, see wxTextAttr.
206 bool BeginAlignment(wxTextAttrAlignment alignment
);
209 Starts batching undo history for commands.
211 bool BeginBatchUndo(const wxString
& cmdName
);
219 Begins using the named character style.
221 bool BeginCharacterStyle(const wxString
& characterStyle
);
224 Begins using this font.
226 bool BeginFont(const wxFont
& font
);
229 Begins using the given point size.
231 bool BeginFontSize(int pointSize
);
239 Begins applying a left indent and subindent in tenths of a millimetre.
240 The sub-indent is an offset from the left of the paragraph, and is used for all
242 first line in a paragraph. A positive value will cause the first line to appear
244 of the subsequent lines, and a negative value will cause the first line to be
246 relative to the subsequent lines.
247 wxRichTextBuffer uses indentation to render a bulleted item. The left indent is
249 the margin and the bullet. The content of the paragraph, including the first
251 at leftMargin + leftSubIndent. So the distance between the left edge of the
253 left of the actual paragraph is leftSubIndent.
255 bool BeginLeftIndent(int leftIndent
, int leftSubIndent
= 0);
258 Begins appling line spacing. @e spacing is a multiple, where 10 means
260 15 means 1.5 spacing, and 20 means double spacing. The following constants are
261 defined for convenience:
263 bool BeginLineSpacing(int lineSpacing
);
266 Begins using a specified list style. Optionally, you can also pass a level and
269 bool BeginListStyle(const wxString
& listStyle
, int level
= 1,
273 Begins a numbered bullet. This call will be needed for each item in the list,
275 application should take care of incrementing the numbering.
276 @a bulletNumber is a number, usually starting with 1.
277 @a leftIndent and @a leftSubIndent are values in tenths of a millimetre.
278 @a bulletStyle is a bitlist of the following values:
280 wxRichTextBuffer uses indentation to render a bulleted item. The left indent is
282 the margin and the bullet. The content of the paragraph, including the first
284 at leftMargin + leftSubIndent. So the distance between the left edge of the
286 left of the actual paragraph is leftSubIndent.
288 bool BeginNumberedBullet(int bulletNumber
, int leftIndent
,
290 int bulletStyle
= wxTEXT_ATTR_BULLET_STYLE_ARABIC
|wxTEXT_ATTR_BULLET_STYLE_PERIOD
);
293 Begins paragraph spacing; pass the before-paragraph and after-paragraph spacing
297 bool BeginParagraphSpacing(int before
, int after
);
300 Begins applying the named paragraph style.
302 bool BeginParagraphStyle(const wxString
& paragraphStyle
);
305 Begins a right indent, specified in tenths of a millimetre.
307 bool BeginRightIndent(int rightIndent
);
310 Begins applying a style.
312 bool BeginStyle(const wxTextAttr
& style
);
315 Starts suppressing undo history for commands.
317 bool BeginSuppressUndo();
320 Begins applying a symbol bullet, using a character from the current font. See
321 BeginNumberedBullet() for
322 an explanation of how indentation is used to render the bulleted paragraph.
324 bool BeginSymbolBullet(wxChar symbol
, int leftIndent
,
326 int bulletStyle
= wxTEXT_ATTR_BULLET_STYLE_SYMBOL
);
329 Begins using this colour.
331 bool BeginTextColour(const wxColour
& colour
);
334 Begins applying wxTEXT_ATTR_URL to the content. Pass a URL and optionally, a
335 character style to apply,
336 since it is common to mark a URL with a familiar style such as blue text with
339 bool BeginURL(const wxString
& url
,
340 const wxString
& characterStyle
= wxEmptyString
);
343 Begins using underlining.
345 bool BeginUnderline();
348 Returns @true if selected content can be copied to the clipboard.
350 bool CanCopy() const;
353 Returns @true if selected content can be copied to the clipboard and deleted.
358 Returns @true if selected content can be deleted.
360 bool CanDeleteSelection() const;
363 Returns @true if the clipboard content can be pasted to the buffer.
365 bool CanPaste() const;
368 Returns @true if there is a command in the command history that can be redone.
370 bool CanRedo() const;
373 Returns @true if there is a command in the command history that can be undone.
375 bool CanUndo() const;
378 Clears the buffer content, leaving a single empty paragraph. Cannot be undone.
384 Clears the list style from the given range, clearing list-related attributes
385 and applying any named paragraph style associated with each paragraph.
386 @a flags is a bit list of the following:
387 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
388 See also SetListStyle(), PromoteList(), NumberList().
390 bool ClearListStyle(const wxRichTextRange
& range
,
391 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
392 bool ClearListStyle(const wxRichTextRange
& range
,
393 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
397 Sends the event to the control.
399 void Command(wxCommandEvent
& event
);
402 Copies the selected content (if any) to the clipboard.
407 Creates the underlying window.
409 bool Create(wxWindow
* parent
, wxWindowID id
= wxID_ANY
,
410 const wxString
& value
= wxEmptyString
,
411 const wxPoint
& pos
= wxDefaultPosition
,
412 const wxSize
& size
= wxDefaultSize
,
413 long style
= wxRE_MULTILINE
,
414 const wxValidator
& validator
= wxDefaultValidator
,
415 const wxString
& name
= wxTextCtrlNameStr
);
418 Copies the selected content (if any) to the clipboard and deletes the selection.
424 Deletes the content within the given range.
426 bool Delete(const wxRichTextRange
& range
);
429 Deletes content if there is a selection, e.g. when pressing a key.
430 Returns the new caret position in @e newPos, or leaves it if there
431 was no action. This is undoable.
433 bool DeleteSelectedContent(long* newPos
= NULL
);
436 Deletes the content in the selection, if any. This is undoable.
438 void DeleteSelection();
441 Sets the buffer's modified status to @false, and clears the buffer's command
447 Currently this simply returns @c wxSize(10, 10).
449 wxSize
DoGetBestSize() const;
457 Ends application of all styles in the current style stack.
462 Ends batching undo command history.
472 Ends application of a named character style.
474 bool EndCharacterStyle();
482 Ends using a point size.
494 bool EndLeftIndent();
499 bool EndLineSpacing();
502 Ends using a specified list style.
507 Ends application of a numbered bullet.
509 bool EndNumberedBullet();
512 Ends paragraph spacing.
514 bool EndParagraphSpacing();
517 Ends application of a named character style.
519 bool EndParagraphStyle();
524 bool EndRightIndent();
527 Ends the current style.
532 Ends suppressing undo command history.
534 bool EndSuppressUndo();
537 Ends applying a symbol bullet.
539 bool EndSymbolBullet();
542 Ends applying a text colour.
544 bool EndTextColour();
552 End applying underlining.
557 Helper function for extending the selection, returning @true if the selection
559 changed. Selections are in caret positions.
561 bool ExtendSelection(long oldPosition
, long newPosition
,
565 Helper function for finding the caret position for the next word. Direction
566 is 1 (forward) or -1 (backwards).
568 long FindNextWordPosition(int direction
= 1) const;
571 Call this function to prevent refresh and allow fast updates, and then Thaw() to
577 Gets the basic (overall) style. This is the style of the whole
578 buffer before further styles are applied, unlike the default style, which
579 only affects the style currently being applied (for example, setting the default
580 style to bold will cause subsequently inserted text to be bold).
582 const wxTextAttr
GetBasicStyle() const;
586 Returns the buffer associated with the control.
588 const wxRichTextBuffer
GetBuffer();
589 const wxRichTextBuffer
& GetBuffer();
593 Returns the current caret position.
595 long GetCaretPosition() const;
598 Returns the caret height and position for the given character position
600 bool GetCaretPositionForIndex(long position
, wxRect
& rect
);
603 Gets the command processor associated with the control's buffer.
605 wxCommandProcessor
* GetCommandProcessor() const;
608 Returns the current default style, which can be used to change how subsequently
612 const wxTextAttr
GetDefaultStyle() const;
615 Gets the size of the buffer beyond which layout is delayed during resizing.
616 This optimizes sizing for large buffers. The default is 20000.
618 long GetDelayedLayoutThreshold() const;
621 Gets the current filename associated with the control.
623 wxString
GetFilename() const;
626 Returns the first visible position in the current view.
628 long GetFirstVisiblePosition() const;
631 Returns flags that change the behaviour of loading or saving. See the
632 documentation for each
633 handler class to see what flags are relevant for each handler.
635 int GetHandlerFlags() const;
638 Returns the current insertion point.
640 long GetInsertionPoint() const;
643 Returns the last position in the buffer.
645 wxTextPos
GetLastPosition() const;
648 Returns the length of the specified line in characters.
650 int GetLineLength(long lineNo
) const;
653 Returns the text for the given line.
655 wxString
GetLineText(long lineNo
) const;
658 Transforms physical window position to logical (unscrolled) position.
660 wxPoint
GetLogicalPoint(const wxPoint
& ptPhysical
) const;
663 Returns the number of lines in the buffer.
665 int GetNumberOfLines() const;
668 Transforms logical (unscrolled) position to physical window position.
670 wxPoint
GetPhysicalPoint(const wxPoint
& ptLogical
) const;
673 Gets the text for the given range.
674 The end point of range is specified as the last character position of the span
677 wxString
GetRange(long from
, long to
) const;
680 Returns the range of the current selection.
681 The end point of range is specified as the last character position of the span
683 If the return values @a from and @a to are the same, there is no selection.
685 void GetSelection(long* from
, long* to
) const;
688 Returns the selection range in character positions. -1, -1 means no selection.
690 const wxRichTextRange
GetSelectionRange() const;
693 Returns the text within the current selection range, if any.
695 wxString
GetStringSelection() const;
698 Gets the attributes at the given position.
699 This function gets the combined style - that is, the style you see on the
701 of combining base style, paragraph style and character style attributes. To get
703 or paragraph style alone, use GetUncombinedStyle().
705 bool GetStyle(long position
, wxTextAttr
& style
);
708 Gets the attributes common to the specified range. Attributes that differ in
709 value within the range will
710 not be included in @e style's flags.
712 bool GetStyleForRange(const wxRichTextRange
& range
,
716 Returns the style sheet associated with the control, if any. A style sheet
718 character and paragraph styles to be applied.
720 wxRichTextStyleSheet
* GetStyleSheet() const;
723 Gets the attributes at the given position.
724 This function gets the @e uncombined style - that is, the attributes associated
726 paragraph or character content, and not necessarily the combined attributes you
728 screen. To get the combined attributes, use GetStyle().
729 If you specify (any) paragraph attribute in @e style's flags, this function
731 the paragraph attributes. Otherwise, it will return the character attributes.
733 bool GetUncombinedStyle(long position
, wxTextAttr
& style
);
736 Returns the content of the entire control as a string.
738 wxString
GetValue() const;
741 Internal helper function returning the line for the visible caret position. If
743 shown at the very end of the line, it means the next character is actually
744 on the following line. So this function gets the line we're expecting to find
747 wxRichTextLine
* GetVisibleLineForCaretPosition(long caretPosition
) const;
750 Test if this whole range has character attributes of the specified kind. If any
751 of the attributes are different within the range, the test fails. You
752 can use this to implement, for example, bold button updating. @a style must have
753 flags indicating which attributes are of interest.
755 bool HasCharacterAttributes(const wxRichTextRange
& range
,
756 const wxTextAttr
& style
) const;
759 Test if this whole range has paragraph attributes of the specified kind. If any
760 of the attributes are different within the range, the test fails. You
761 can use this to implement, for example, centering button updating. @a style
763 flags indicating which attributes are of interest.
765 bool HasParagraphAttributes(const wxRichTextRange
& range
,
766 const wxTextAttr
& style
) const;
769 Returns @true if there is a selection.
771 bool HasSelection() const;
775 Finds the character at the given position in pixels.
776 @a pt is in device coords (not adjusted for the client area origin nor for
779 wxTextCtrlHitTestResult
HitTest(const wxPoint
& pt
, long* pos
) const;
780 const wxTextCtrlHitTestResult
HitTest(const wxPoint
& pt
,
782 wxTextCoord
* row
) const;
786 Initialises the members of the control.
791 Initialises the command event.
793 void InitCommandEvent(wxCommandEvent
& event
) const;
796 Returns @true if the user has recently set the default style without moving
798 and therefore the UI needs to reflect the default style and not the style at
800 Below is an example of code that uses this function to determine whether the UI
801 should show that the current style is bold.
803 See also SetAndShowDefaultStyle().
805 bool IsDefaultStyleShowing() const;
808 Returns @true if the control is editable.
810 bool IsEditable() const;
813 Returns @true if Freeze has been called without a Thaw.
815 bool IsFrozen() const;
818 Returns @true if the buffer has been modified.
820 bool IsModified() const;
823 Returns @true if the control is multiline.
825 bool IsMultiLine() const;
828 Returns @true if the given position is visible on the screen.
830 bool IsPositionVisible(long pos
) const;
833 Returns @true if all of the selection is aligned according to the specified
836 bool IsSelectionAligned(wxTextAttrAlignment alignment
) const;
839 Returns @true if all of the selection is bold.
841 bool IsSelectionBold() const;
844 Returns @true if all of the selection is italic.
846 bool IsSelectionItalics() const;
849 Returns @true if all of the selection is underlined.
851 bool IsSelectionUnderlined() const;
854 Returns @true if the control is single-line. Currently wxRichTextCtrl does not
855 support single-line editing.
857 bool IsSingleLine() const;
860 Helper function implementing keyboard navigation.
862 bool KeyboardNavigate(int keyCode
, int flags
);
865 Lays out the buffer, which must be done before certain operations, such as
866 setting the caret position. This function should not normally be required by the
869 bool LayoutContent(bool onlyVisibleRect
= false);
872 Inserts a line break at the current insertion point. A line break forces
873 wrapping within a paragraph, and
874 can be introduced by using this function, by appending the wxChar value @b
875 wxRichTextLineBreakChar to text content,
876 or by typing Shift-Return.
881 Loads content into the control's buffer using the given type. If the specified
883 is wxRICHTEXT_TYPE_ANY, the type is deduced from the filename extension.
884 This function looks for a suitable wxRichTextFileHandler object.
886 bool LoadFile(const wxString
& file
,
887 int type
= wxRICHTEXT_TYPE_ANY
);
890 Marks the buffer as modified.
895 Move the caret to the given character position.
897 bool MoveCaret(long pos
, bool showAtLineStart
= false);
900 Move the caret one visual step forward: this may mean setting a flag
901 and keeping the same position if we're going from the end of one line
902 to the start of the next, which may be the exact same caret position.
904 void MoveCaretBack(long oldPosition
);
907 Move the caret one visual step forward: this may mean setting a flag
908 and keeping the same position if we're going from the end of one line
909 to the start of the next, which may be the exact same caret position.
911 void MoveCaretForward(long oldPosition
);
914 Moves the caret down.
916 bool MoveDown(int noLines
= 1, int flags
= 0);
919 Moves to the end of the buffer.
921 bool MoveEnd(int flags
= 0);
924 Moves to the start of the buffer.
926 bool MoveHome(int flags
= 0);
931 bool MoveLeft(int noPositions
= 1, int flags
= 0);
936 bool MoveRight(int noPositions
= 1, int flags
= 0);
939 Moves to the end of the line.
941 bool MoveToLineEnd(int flags
= 0);
944 Moves to the start of the line.
946 bool MoveToLineStart(int flags
= 0);
949 Moves to the end of the paragraph.
951 bool MoveToParagraphEnd(int flags
= 0);
954 Moves to the start of the paragraph.
956 bool MoveToParagraphStart(int flags
= 0);
961 bool MoveUp(int noLines
= 1, int flags
= 0);
964 Inserts a new paragraph at the current insertion point. See also LineBreak().
970 Numbers the paragraphs in the given range. Pass flags to determine how the
972 Either the style definition or the name of the style definition (in the current
973 sheet) can be passed.
974 @a flags is a bit list of the following:
975 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
976 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
977 startFrom, otherwise existing attributes are used.
978 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
979 as the level for all paragraphs, otherwise the current indentation will be used.
980 See also SetListStyle(), PromoteList(), ClearListStyle().
982 bool NumberList(const wxRichTextRange
& range
,
983 const wxRichTextListStyleDefinition
* style
,
984 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
987 bool Number(const wxRichTextRange
& range
,
988 const wxString
& styleName
,
989 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
995 Standard handler for the wxID_CLEAR command.
997 void OnClear(wxCommandEvent
& event
);
1000 Shows a standard context menu with undo, redo, cut, copy, paste, clear, and
1001 select all commands.
1003 void OnContextMenu(wxContextMenuEvent
& event
);
1006 Standard handler for the wxID_COPY command.
1008 void OnCopy(wxCommandEvent
& event
);
1011 Standard handler for the wxID_CUT command.
1013 void OnCut(wxCommandEvent
& event
);
1016 Loads the first dropped file.
1018 void OnDropFiles(wxDropFilesEvent
& event
);
1021 Standard handler for the wxID_PASTE command.
1023 void OnPaste(wxCommandEvent
& event
);
1026 Standard handler for the wxID_REDO command.
1028 void OnRedo(wxCommandEvent
& event
);
1031 Standard handler for the wxID_SELECTALL command.
1033 void OnSelectAll(wxCommandEvent
& event
);
1036 Standard handler for the wxID_PASTE command.
1038 void OnUndo(wxCommandEvent
& event
);
1041 Standard update handler for the wxID_CLEAR command.
1043 void OnUpdateClear(wxUpdateUIEvent
& event
);
1046 Standard update handler for the wxID_COPY command.
1048 void OnUpdateCopy(wxUpdateUIEvent
& event
);
1051 Standard update handler for the wxID_CUT command.
1053 void OnUpdateCut(wxUpdateUIEvent
& event
);
1056 Standard update handler for the wxID_PASTE command.
1058 void OnUpdatePaste(wxUpdateUIEvent
& event
);
1061 Standard update handler for the wxID_REDO command.
1063 void OnUpdateRedo(wxUpdateUIEvent
& event
);
1066 Standard update handler for the wxID_SELECTALL command.
1068 void OnUpdateSelectAll(wxUpdateUIEvent
& event
);
1071 Standard update handler for the wxID_UNDO command.
1073 void OnUpdateUndo(wxUpdateUIEvent
& event
);
1076 Moves one or more pages down.
1078 bool PageDown(int noPages
= 1, int flags
= 0);
1081 Moves one or more pages up.
1083 bool PageUp(int noPages
= 1, int flags
= 0);
1086 Paints the background.
1088 void PaintBackground(wxDC
& dc
);
1091 Pastes content from the clipboard to the buffer.
1096 Internal function to position the visible caret according to the current caret
1099 void PositionCaret();
1102 Converts a text position to zero-based column and line numbers.
1104 bool PositionToXY(long pos
, long* x
, long* y
) const;
1108 Promotes or demotes the paragraphs in the given range. A positive @a promoteBy
1109 produces a smaller indent, and a negative number
1110 produces a larger indent. Pass flags to determine how the attributes are set.
1111 Either the style definition or the name of the style definition (in the current
1112 sheet) can be passed.
1113 @a flags is a bit list of the following:
1114 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
1115 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
1116 startFrom, otherwise existing attributes are used.
1117 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
1118 as the level for all paragraphs, otherwise the current indentation will be used.
1119 See also SetListStyle(), See also SetListStyle(), ClearListStyle().
1121 bool PromoteList(int promoteBy
, const wxRichTextRange
& range
,
1122 const wxRichTextListStyleDefinition
* style
,
1123 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1124 int listLevel
= -1);
1125 bool PromoteList(int promoteBy
, const wxRichTextRange
& range
,
1126 const wxString
& styleName
,
1127 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1128 int listLevel
= -1);
1132 Redoes the current command.
1137 Removes the content in the specified range.
1139 void Remove(long from
, long to
);
1142 Replaces the content in the specified range with the string specified by @e
1145 void Replace(long from
, long to
, const wxString
& value
);
1148 Saves the buffer content using the given type. If the specified type
1149 is wxRICHTEXT_TYPE_ANY, the type is deduced from the filename extension.
1150 This function looks for a suitable wxRichTextFileHandler object.
1152 bool SaveFile(const wxString
& file
= wxEmptyString
,
1153 int type
= wxRICHTEXT_TYPE_ANY
);
1156 Scrolls @a position into view. This function takes a caret position.
1158 bool ScrollIntoView(long position
, int keyCode
);
1161 Selects all the text in the buffer.
1166 Cancels any selection.
1171 Sets @a attr as the default style and tells the control that the UI should
1173 this attribute until the user moves the caret.
1174 See also IsDefaultStyleShowing().
1176 void SetAndShowDefaultStyle(const wxTextAttr
& attr
);
1179 Sets the basic (overall) style. This is the style of the whole
1180 buffer before further styles are applied, unlike the default style, which
1181 only affects the style currently being applied (for example, setting the default
1182 style to bold will cause subsequently inserted text to be bold).
1184 void SetBasicStyle(const wxTextAttr
& style
);
1187 The caret position is the character position just before the caret.
1188 A value of -1 means the caret is at the start of the buffer.
1190 void SetCaretPosition(long position
,
1191 bool showAtLineStart
= false);
1194 Sets the current default style, which can be used to change how subsequently
1198 bool SetDefaultStyle(const wxTextAttr
& style
);
1201 Sets the default style to the style under the cursor.
1203 bool SetDefaultStyleToCursorStyle();
1206 Sets the size of the buffer beyond which layout is delayed during resizing.
1207 This optimizes sizing for large buffers. The default is 20000.
1209 void SetDelayedLayoutThreshold(long threshold
);
1212 Makes the control editable, or not.
1214 void SetEditable(bool editable
);
1217 Sets the current filename.
1219 void SetFilename(const wxString
& filename
);
1222 Sets the font, and also the basic and default attributes (see
1223 wxRichTextCtrl::SetDefaultStyle).
1225 bool SetFont(const wxFont
& font
);
1228 Sets flags that change the behaviour of loading or saving. See the
1229 documentation for each
1230 handler class to see what flags are relevant for each handler.
1232 void SetHandlerFlags(int flags
);
1235 Sets the insertion point.
1237 void SetInsertionPoint(long pos
);
1240 Sets the insertion point to the end of the text control.
1242 void SetInsertionPointEnd();
1246 Sets the list attributes for the given range, passing flags to determine how
1247 the attributes are set.
1248 Either the style definition or the name of the style definition (in the current
1249 sheet) can be passed.
1250 @a flags is a bit list of the following:
1251 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this command will be undoable.
1252 wxRICHTEXT_SETSTYLE_RENUMBER: specifies that numbering should start from @e
1253 startFrom, otherwise existing attributes are used.
1254 wxRICHTEXT_SETSTYLE_SPECIFY_LEVEL: specifies that @a listLevel should be used
1255 as the level for all paragraphs, otherwise the current indentation will be used.
1256 See also NumberList(), PromoteList(), ClearListStyle().
1258 bool SetListStyle(const wxRichTextRange
& range
,
1259 const wxRichTextListStyleDefinition
* style
,
1260 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1262 int listLevel
= -1);
1263 bool SetListStyle(const wxRichTextRange
& range
,
1264 const wxString
& styleName
,
1265 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
,
1267 int listLevel
= -1);
1271 Sets the selection to the given range.
1272 The end point of range is specified as the last character position of the span
1274 So, for example, to set the selection for a character at position 5, use the
1277 void SetSelection(long from
, long to
);
1280 Sets the selection to the given range.
1281 The end point of range is specified as the last character position of the span
1283 So, for example, to set the selection for a character at position 5, use the
1286 void SetSelectionRange(const wxRichTextRange
& range
);
1290 Sets the attributes for the given range.
1291 The end point of range is specified as the last character position of the span
1293 So, for example, to set the style for a character at position 5, use the range
1296 bool SetStyle(const wxRichTextRange
& range
,
1297 const wxTextAttr
& style
);
1298 bool SetStyle(long start
, long end
, const wxTextAttr
& style
);
1303 Sets the attributes for the given range, passing flags to determine how the
1305 The end point of range is specified as the last character position of the span
1307 So, for example, to set the style for a character at position 5, use the range
1309 @a flags may contain a bit list of the following values:
1310 wxRICHTEXT_SETSTYLE_NONE: no style flag.
1311 wxRICHTEXT_SETSTYLE_WITH_UNDO: specifies that this operation should be
1313 wxRICHTEXT_SETSTYLE_OPTIMIZE: specifies that the style should not be applied
1315 combined style at this point is already the style in question.
1316 wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY: specifies that the style should only be
1317 applied to paragraphs,
1318 and not the content. This allows content styling to be preserved independently
1319 from that of e.g. a named paragraph style.
1320 wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY: specifies that the style should only be
1321 applied to characters,
1322 and not the paragraph. This allows content styling to be preserved
1323 independently from that of e.g. a named paragraph style.
1324 wxRICHTEXT_SETSTYLE_RESET: resets (clears) the existing style before applying
1326 wxRICHTEXT_SETSTYLE_REMOVE: removes the specified style. Only the style flags
1327 are used in this operation.
1329 bool SetStyleEx(const wxRichTextRange
& range
,
1330 const wxTextAttr
& style
,
1331 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
1332 bool SetStyleEx(long start
, long end
,
1333 const wxTextAttr
& style
,
1334 int flags
= wxRICHTEXT_SETSTYLE_WITH_UNDO
);
1338 Sets the style sheet associated with the control. A style sheet allows named
1339 character and paragraph styles to be applied.
1341 void SetStyleSheet(wxRichTextStyleSheet
* styleSheet
);
1344 Replaces existing content with the given text.
1346 void SetValue(const wxString
& value
);
1349 A helper function setting up scrollbars, for example after a resize.
1351 void SetupScrollbars(bool atTop
= false);
1354 Scrolls the buffer so that the given position is in view.
1356 void ShowPosition(long pos
);
1359 Returns @true if undo history suppression is on.
1361 bool SuppressingUndo() const;
1364 Call this function to end a Freeze and refresh the display.
1369 Undoes the command at the top of the command history, if there is one.
1374 Moves a number of words to the left.
1376 bool WordLeft(int noWords
= 1, int flags
= 0);
1379 Move a nuber of words to the right.
1381 bool WordRight(int noWords
= 1, int flags
= 0);
1385 Write a bitmap or image at the current insertion point. Supply an optional type
1387 for internal and file storage of the raw data.
1389 bool WriteImage(const wxString
& filename
, int bitmapType
);
1390 bool WriteImage(const wxRichTextImageBlock
& imageBlock
);
1391 bool WriteImage(const wxBitmap
& bitmap
,
1392 int bitmapType
= wxBITMAP_TYPE_PNG
);
1393 bool WriteImage(const wxImage
& image
,
1394 int bitmapType
= wxBITMAP_TYPE_PNG
);
1398 Writes text at the current position.
1400 void WriteText(const wxString
& text
);
1403 Translates from column and line number to position.
1405 long XYToPosition(long x
, long y
) const;