]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/richtextctrl.tex
fix typo in Selecting() description (bug 1726270)
[wxWidgets.git] / docs / latex / wx / richtextctrl.tex
index 04193110fb4b5a138a03481678e9dd6694dd7fcf..76bfa45b1ef262885d5d73dc076dcb4d8610b693 100644 (file)
@@ -3,6 +3,12 @@
 wxRichTextCtrl provides a generic, ground-up implementation of a text control
 capable of showing multiple styles and images.
 
 wxRichTextCtrl provides a generic, ground-up implementation of a text control
 capable of showing multiple styles and images.
 
+wxRichTextCtrl sends notification events: see \helpref{wxRichTextEvent}{wxrichtextevent}.
+It also sends the standard wxTextCtrl events wxEVT\_COMMAND\_TEXT\_ENTER and wxEVT\_COMMAND\_TEXT\_UPDATED,
+and wxTextUrlEvent when URL content is clicked.
+
+For more information, see the \helpref{wxRichTextCtrl overview}{wxrichtextctrloverview}.
+
 \wxheading{Derived from}
 
 wxTextCtrlBase
 \wxheading{Derived from}
 
 wxTextCtrlBase
@@ -19,7 +25,9 @@ wxTextCtrlBase
 
 \func{}{wxRichTextCtrl}{\void}
 
 
 \func{}{wxRichTextCtrl}{\void}
 
-\func{}{wxRichTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE}}
+\func{}{wxRichTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
+ \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
+ \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
 
 Constructors.
 
 
 Constructors.
 
@@ -67,6 +75,22 @@ Apples bold to the selection (undoable).
 
 Applies italic to the selection (undoable).
 
 
 Applies italic to the selection (undoable).
 
+\membersection{wxRichTextCtrl::ApplyStyle}\label{wxrichtextctrlapplystyle}
+
+\func{bool}{ApplyStyle}{\param{wxRichTextStyleDefinition*}{ def}}
+
+Applies the given style to the selection.
+
+\membersection{wxRichTextCtrl::ApplyStyleSheet}\label{wxrichtextctrlapplystylesheet}
+
+\func{bool}{ApplyStyleSheet}{\param{wxRichTextStyleSheet*}{ sheet $=$ NULL}}
+
+Applies the style sheet to the buffer, matching paragraph styles in the sheet against named styles
+in the buffer. This might be useful if the styles have changed. If {\it sheet} is NULL, the
+sheet set with SetStyleSheet is used.
+
+Currently this applies paragraph styles only.
+
 \membersection{wxRichTextCtrl::ApplyUnderlineToSelection}\label{wxrichtextctrlapplyunderlinetoselection}
 
 \func{bool}{ApplyUnderlineToSelection}{\void}
 \membersection{wxRichTextCtrl::ApplyUnderlineToSelection}\label{wxrichtextctrlapplyunderlinetoselection}
 
 \func{bool}{ApplyUnderlineToSelection}{\void}
@@ -147,7 +171,6 @@ Begins appling line spacing. {\it spacing} is a multiple, where 10 means single-
 15 means 1.5 spacing, and 20 means double spacing. The following constants are
 defined for convenience:
 
 15 means 1.5 spacing, and 20 means double spacing. The following constants are
 defined for convenience:
 
-
 {\small
 \begin{verbatim}
 #define wxTEXT_ATTR_LINE_SPACING_NORMAL         10
 {\small
 \begin{verbatim}
 #define wxTEXT_ATTR_LINE_SPACING_NORMAL         10
@@ -156,6 +179,12 @@ defined for convenience:
 \end{verbatim}
 }
 
 \end{verbatim}
 }
 
+\membersection{wxRichTextCtrl::BeginListStyle}\label{wxrichtextctrlbeginliststyle}
+
+\func{bool}{BeginListStyle}{\param{const wxString\&}{ listStyle}, \param{int}{ level=1}, \param{int}{ number=1}}
+
+Begins using a specified list style. Optionally, you can also pass a level and a number.
+
 \membersection{wxRichTextCtrl::BeginNumberedBullet}\label{wxrichtextctrlbeginnumberedbullet}
 
 \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}}
 \membersection{wxRichTextCtrl::BeginNumberedBullet}\label{wxrichtextctrlbeginnumberedbullet}
 
 \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}}
@@ -171,16 +200,22 @@ application should take care of incrementing the numbering.
 
 {\small
 \begin{verbatim}
 
 {\small
 \begin{verbatim}
-#define wxTEXT_ATTR_BULLET_STYLE_NONE           0x0000
-#define wxTEXT_ATTR_BULLET_STYLE_ARABIC         0x0001
-#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER  0x0002
-#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER  0x0004
-#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER    0x0008
-#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER    0x0010
-#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL         0x0020
-#define wxTEXT_ATTR_BULLET_STYLE_BITMAP         0x0040
-#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES    0x0080
-#define wxTEXT_ATTR_BULLET_STYLE_PERIOD         0x0100
+#define wxTEXT_ATTR_BULLET_STYLE_NONE               0x00000000
+#define wxTEXT_ATTR_BULLET_STYLE_ARABIC             0x00000001
+#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER      0x00000002
+#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER      0x00000004
+#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER        0x00000008
+#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER        0x00000010
+#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL             0x00000020
+#define wxTEXT_ATTR_BULLET_STYLE_BITMAP             0x00000040
+#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES        0x00000080
+#define wxTEXT_ATTR_BULLET_STYLE_PERIOD             0x00000100
+#define wxTEXT_ATTR_BULLET_STYLE_STANDARD           0x00000200
+#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS  0x00000400
+#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE            0x00000800
+#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT         0x00000000
+#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT        0x00001000
+#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE       0x00002000
 \end{verbatim}
 }
 
 \end{verbatim}
 }
 
@@ -239,6 +274,13 @@ Begins using this colour.
 
 Begins using underlining.
 
 
 Begins using underlining.
 
+\membersection{wxRichTextCtrl::BeginURL}\label{wxrichtextctrlbeginurl}
+
+\func{bool}{BeginURL}{\param{const wxString\&}{ url}, \param{const wxString\&}{ characterStyle = wxEmptyString}}
+
+Begins applying wxTEXT\_ATTR\_URL to the content. Pass a URL and optionally, a character style to apply,
+since it is common to mark a URL with a familiar style such as blue text with underlining.
+
 \membersection{wxRichTextCtrl::CanCopy}\label{wxrichtextctrlcancopy}
 
 \constfunc{bool}{CanCopy}{\void}
 \membersection{wxRichTextCtrl::CanCopy}\label{wxrichtextctrlcancopy}
 
 \constfunc{bool}{CanCopy}{\void}
@@ -281,6 +323,22 @@ Returns \true if there is a command in the command history that can be undone.
 
 Clears the buffer content, leaving a single empty paragraph. Cannot be undone.
 
 
 Clears the buffer content, leaving a single empty paragraph. Cannot be undone.
 
+\membersection{wxRichTextCtrl::ClearListStyle}\label{wxrichtextctrlclearliststyle}
+
+\func{bool}{ClearListStyle}{\param{const wxRichTextRange\& }{range}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+\func{bool}{ClearListStyle}{\param{const wxRichTextRange\& }{range}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+Clears the list style from the given range, clearing list-related attributes and applying any named paragraph style associated with each paragraph.
+
+{\it flags} is a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
+\end{itemize}
+
+See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::NumberList}{wxrichtextctrlnumberlist}.
+
 \membersection{wxRichTextCtrl::Command}\label{wxrichtextctrlcommand}
 
 \func{void}{Command}{\param{wxCommandEvent\& }{event}}
 \membersection{wxRichTextCtrl::Command}\label{wxrichtextctrlcommand}
 
 \func{void}{Command}{\param{wxCommandEvent\& }{event}}
@@ -295,7 +353,9 @@ Copies the selected content (if any) to the clipboard.
 
 \membersection{wxRichTextCtrl::Create}\label{wxrichtextctrlcreate}
 
 
 \membersection{wxRichTextCtrl::Create}\label{wxrichtextctrlcreate}
 
-\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE}}
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = wxID\_ANY}, \param{const wxString\& }{value = wxEmptyString},
+ \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxRE\_MULTILINE},
+ \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxTextCtrlNameStr}}
 
 Creates the underlying window.
 
 
 Creates the underlying window.
 
@@ -306,6 +366,12 @@ Creates the underlying window.
 Copies the selected content (if any) to the clipboard and deletes the selection.
 This is undoable.
 
 Copies the selected content (if any) to the clipboard and deletes the selection.
 This is undoable.
 
+\membersection{wxRichTextCtrl::Delete}\label{wxrichtextctrldelete}
+
+\func{bool}{Delete}{\param{const wxRichTextRange\&}{ range}}
+
+Deletes the content within the given range.
+
 \membersection{wxRichTextCtrl::DeleteSelectedContent}\label{wxrichtextctrldeleteselectedcontent}
 
 \func{bool}{DeleteSelectedContent}{\param{long* }{newPos = NULL}}
 \membersection{wxRichTextCtrl::DeleteSelectedContent}\label{wxrichtextctrldeleteselectedcontent}
 
 \func{bool}{DeleteSelectedContent}{\param{long* }{newPos = NULL}}
@@ -392,6 +458,12 @@ Ends left indent.
 
 Ends line spacing.
 
 
 Ends line spacing.
 
+\membersection{wxRichTextCtrl::EndListStyle}\label{wxrichtextctrlendliststyle}
+
+\func{bool}{EndListStyle}{\void}
+
+Ends using a specified list style.
+
 \membersection{wxRichTextCtrl::EndNumberedBullet}\label{wxrichtextctrlendnumberedbullet}
 
 \func{bool}{EndNumberedBullet}{\void}
 \membersection{wxRichTextCtrl::EndNumberedBullet}\label{wxrichtextctrlendnumberedbullet}
 
 \func{bool}{EndNumberedBullet}{\void}
@@ -446,6 +518,12 @@ Ends applying a text colour.
 
 End applying underlining.
 
 
 End applying underlining.
 
+\membersection{wxRichTextCtrl::EndURL}\label{wxrichtextctrlendurl}
+
+\func{bool}{EndURL}{\void}
+
+Ends applying a URL.
+
 \membersection{wxRichTextCtrl::ExtendSelection}\label{wxrichtextctrlextendselection}
 
 \func{bool}{ExtendSelection}{\param{long }{oldPosition}, \param{long }{newPosition}, \param{int }{flags}}
 \membersection{wxRichTextCtrl::ExtendSelection}\label{wxrichtextctrlextendselection}
 
 \func{bool}{ExtendSelection}{\param{long }{oldPosition}, \param{long }{newPosition}, \param{int }{flags}}
@@ -529,6 +607,13 @@ Gets the current filename associated with the control.
 
 Returns the first visible position in the current view.
 
 
 Returns the first visible position in the current view.
 
+\membersection{wxRichTextCtrl::GetHandlerFlags}\label{wxrichtextfilehandlergethandlerflags}
+
+\constfunc{int}{GetHandlerFlags}{\void}
+
+Returns flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
 \membersection{wxRichTextCtrl::GetInsertionPoint}\label{wxrichtextctrlgetinsertionpoint}
 
 \constfunc{long}{GetInsertionPoint}{\void}
 \membersection{wxRichTextCtrl::GetInsertionPoint}\label{wxrichtextctrlgetinsertionpoint}
 
 \constfunc{long}{GetInsertionPoint}{\void}
@@ -577,11 +662,17 @@ Transforms logical (unscrolled) position to physical window position.
 
 Gets the text for the given range.
 
 
 Gets the text for the given range.
 
+The end point of range is specified as the last character position of the span of text, plus one.
+
 \membersection{wxRichTextCtrl::GetSelection}\label{wxrichtextctrlgetselection}
 
 \constfunc{void}{GetSelection}{\param{long* }{from}, \param{long* }{to}}
 
 \membersection{wxRichTextCtrl::GetSelection}\label{wxrichtextctrlgetselection}
 
 \constfunc{void}{GetSelection}{\param{long* }{from}, \param{long* }{to}}
 
-Returns the range of the current selection. If the return values {\it from} and {\it to} are the same, there is no selection.
+Returns the range of the current selection.
+
+The end point of range is specified as the last character position of the span of text, plus one.
+
+If the return values {\it from} and {\it to} are the same, there is no selection.
 
 \membersection{wxRichTextCtrl::GetSelectionRange}\label{wxrichtextctrlgetselectionrange}
 
 
 \membersection{wxRichTextCtrl::GetSelectionRange}\label{wxrichtextctrlgetselectionrange}
 
@@ -597,13 +688,28 @@ Returns the text within the current selection range, if any.
 
 \membersection{wxRichTextCtrl::GetStyle}\label{wxrichtextctrlgetstyle}
 
 
 \membersection{wxRichTextCtrl::GetStyle}\label{wxrichtextctrlgetstyle}
 
-\constfunc{bool}{GetStyle}{\param{long }{position}, \param{wxRichTextAttr\& }{style}}
+\func{bool}{GetStyle}{\param{long }{position}, \param{wxRichTextAttr\& }{style}}
 
 
-\constfunc{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttrEx\& }{style}}
+\func{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttrEx\& }{style}}
+
+\func{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttr\& }{style}}
 
 Gets the attributes at the given position. The wxRichTextAttr version is generally more efficient
 because it does not use wxFont objects.
 
 
 Gets the attributes at the given position. The wxRichTextAttr version is generally more efficient
 because it does not use wxFont objects.
 
+This function gets the combined style - that is, the style you see on the screen as a result
+of combining base style, paragraph style and character style attributes. To get the character
+or paragraph style alone, use \helpref{GetUncombinedStyle}{wxrichtextctrlgetuncombinedstyle}.
+
+\membersection{wxRichTextCtrl::GetStyleForRange}\label{wxrichtextctrlgetstyleforrange}
+
+\func{bool}{GetStyleForRange}{\param{const wxRichTextRange\& }{range}, \param{wxRichTextAttr\& }{style}}
+
+\func{bool}{GetStyleForRange}{\param{const wxRichTextRange\& }{range}, \param{wxTextAttrEx\& }{style}}
+
+Gets the attributes common to the specified range. Attributes that differ in value within the range will
+not be included in {\it style}'s flags.
+
 \membersection{wxRichTextCtrl::GetStyleSheet}\label{wxrichtextctrlgetstylesheet}
 
 \constfunc{wxRichTextStyleSheet*}{GetStyleSheet}{\void}
 \membersection{wxRichTextCtrl::GetStyleSheet}\label{wxrichtextctrlgetstylesheet}
 
 \constfunc{wxRichTextStyleSheet*}{GetStyleSheet}{\void}
@@ -611,6 +717,24 @@ because it does not use wxFont objects.
 Returns the style sheet associated with the control, if any. A style sheet allows named
 character and paragraph styles to be applied.
 
 Returns the style sheet associated with the control, if any. A style sheet allows named
 character and paragraph styles to be applied.
 
+\membersection{wxRichTextCtrl::GetUncombinedStyle}\label{wxrichtextctrlgetuncombinedstyle}
+
+\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxRichTextAttr\& }{style}}
+
+\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxTextAttrEx\& }{style}}
+
+\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxTextAttr\& }{style}}
+
+Gets the attributes at the given position. The wxRichTextAttr version is generally more efficient
+because it does not use wxFont objects.
+
+This function gets the {\it uncombined style} - that is, the attributes associated with the
+paragraph or character content, and not necessarily the combined attributes you see on the
+screen. To get the combined attributes, use \helpref{GetStyle}{wxrichtextctrlgetstyle}.
+
+If you specify (any) paragraph attribute in {\it style}'s flags, this function will fetch
+the paragraph attributes. Otherwise, it will return the character attributes.
+
 \membersection{wxRichTextCtrl::GetValue}\label{wxrichtextctrlgetvalue}
 
 \constfunc{wxString}{GetValue}{\void}
 \membersection{wxRichTextCtrl::GetValue}\label{wxrichtextctrlgetvalue}
 
 \constfunc{wxString}{GetValue}{\void}
@@ -676,6 +800,50 @@ Initialises the members of the control.
 
 Initialises the command event.
 
 
 Initialises the command event.
 
+\membersection{wxRichTextCtrl::IsDefaultStyleShowing}\label{wxrichtextctrlisdefaultstyleshowing}
+
+\constfunc{bool}{IsDefaultStyleShowing}{\void}
+
+Returns \true if the user has recently set the default style without moving the caret,
+and therefore the UI needs to reflect the default style and not the style at the caret.
+
+Below is an example of code that uses this function to determine whether the UI
+should show that the current style is bold.
+
+\begin{verbatim}
+/// Is all of the selection bold?
+bool wxRichTextCtrl::IsSelectionBold()
+{
+    if (HasSelection())
+    {
+        wxRichTextAttr attr;
+        wxRichTextRange range = GetInternalSelectionRange();
+        attr.SetFlags(wxTEXT_ATTR_FONT_WEIGHT);
+        attr.SetFontWeight(wxBOLD);
+
+        return HasCharacterAttributes(range, attr);
+    }
+    else
+    {
+        // If no selection, then we need to combine current style with default style
+        // to see what the effect would be if we started typing.
+        wxRichTextAttr attr;
+        attr.SetFlags(wxTEXT_ATTR_FONT_WEIGHT);
+
+        long pos = GetAdjustedCaretPosition(GetCaretPosition());
+        if (GetStyle(pos, attr))
+        {
+            if (IsDefaultStyleShowing())
+                wxRichTextApplyStyle(attr, GetDefaultStyleEx());
+            return attr.GetFontWeight() == wxBOLD;
+        }
+    }
+    return false;
+}
+\end{verbatim}
+
+See also \helpref{SetAndShowDefaultStyle}{wxrichtextctrlsetandshowdefaultstyle}.
+
 \membersection{wxRichTextCtrl::IsEditable}\label{wxrichtextctrliseditable}
 
 \constfunc{bool}{IsEditable}{\void}
 \membersection{wxRichTextCtrl::IsEditable}\label{wxrichtextctrliseditable}
 
 \constfunc{bool}{IsEditable}{\void}
@@ -751,6 +919,14 @@ Lays out the buffer, which must be done before certain operations, such as
 setting the caret position. This function should not normally be required by the
 application.
 
 setting the caret position. This function should not normally be required by the
 application.
 
+\membersection{wxRichTextCtrl::LineBreak}\label{wxrichtextctrllinebreak}
+
+\func{bool}{LineBreak}{\void}
+
+Inserts a line break at the current insertion point. A line break forces wrapping within a paragraph, and
+can be introduced by using this function, by appending the wxChar value {\bf wxRichTextLineBreakChar} to text content,
+or by typing Shift-Return.
+
 \membersection{wxRichTextCtrl::LoadFile}\label{wxrichtextctrlloadfile}
 
 \func{bool}{LoadFile}{\param{const wxString\& }{file}, \param{int }{type = wxRICHTEXT\_TYPE\_ANY}}
 \membersection{wxRichTextCtrl::LoadFile}\label{wxrichtextctrlloadfile}
 
 \func{bool}{LoadFile}{\param{const wxString\& }{file}, \param{int }{type = wxRICHTEXT\_TYPE\_ANY}}
@@ -852,7 +1028,26 @@ Moves up.
 
 \func{bool}{Newline}{\void}
 
 
 \func{bool}{Newline}{\void}
 
-Insert a newline (actually paragraph) at the current insertion point.
+Inserts a new paragraph at the current insertion point. See also \helpref{wxRichTextCtrl::LineBreak}{wxrichtextctrllinebreak}.
+
+\membersection{wxRichTextCtrl::NumberList}\label{wxrichtextctrlnumberlist}
+
+\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}}
+
+\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}}
+
+Numbers the paragraphs in the given range. Pass flags to determine how the attributes are set.
+Either the style definition or the name of the style definition (in the current sheet) can be passed.
+
+{\it flags} is a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
+\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
+\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.
+\end{itemize}
+
+See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
 
 \membersection{wxRichTextCtrl::OnClear}\label{wxrichtextctrlonclear}
 
 
 \membersection{wxRichTextCtrl::OnClear}\label{wxrichtextctrlonclear}
 
@@ -986,6 +1181,26 @@ Internal function to position the visible caret according to the current caret p
 
 Converts a text position to zero-based column and line numbers.
 
 
 Converts a text position to zero-based column and line numbers.
 
+\membersection{wxRichTextCtrl::PromoteList}\label{wxrichtextctrlpromotelist}
+
+\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}}
+
+\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}}
+
+Promotes or demotes the paragraphs in the given range. A positive {\it promoteBy} produces a smaller indent, and a negative number
+produces a larger indent. Pass flags to determine how the attributes are set.
+Either the style definition or the name of the style definition (in the current sheet) can be passed.
+
+{\it flags} is a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
+\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
+\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.
+\end{itemize}
+
+See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlsetliststyle}, See also \helpref{wxRichTextCtrl::SetListStyle}{wxrichtextctrlnumberlist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
+
 \membersection{wxRichTextCtrl::Redo}\label{wxrichtextctrlredo}
 
 \func{void}{Redo}{\void}
 \membersection{wxRichTextCtrl::Redo}\label{wxrichtextctrlredo}
 
 \func{void}{Redo}{\void}
@@ -1031,6 +1246,15 @@ Selects all the text in the buffer.
 
 Cancels any selection.
 
 
 Cancels any selection.
 
+\membersection{wxRichTextCtrl::SetAndShowDefaultStyle}\label{wxrichtextctrlsetandshowdefaultstyle}
+
+\func{void}{SetAndShowDefaultStyle}{\param{const wxRichTextAttr\& }{attr}}
+
+Sets {\it attr} as the default style and tells the control that the UI should reflect
+this attribute until the user moves the caret.
+
+See also \helpref{IsDefaultStyleShowing}{wxrichtextctrlisdefaultstyleshowing}.
+
 \membersection{wxRichTextCtrl::SetBasicStyle}\label{wxrichtextctrlsetbasicstyle}
 
 \func{void}{SetBasicStyle}{\param{const wxRichTextAttr\& }{style}}
 \membersection{wxRichTextCtrl::SetBasicStyle}\label{wxrichtextctrlsetbasicstyle}
 
 \func{void}{SetBasicStyle}{\param{const wxRichTextAttr\& }{style}}
@@ -1087,6 +1311,13 @@ Sets the current filename.
 
 Sets the font, and also the basic and default attributes (see \helpref{SetDefaultStyle}{wxrichtextctrlsetdefaultstyle}).
 
 
 Sets the font, and also the basic and default attributes (see \helpref{SetDefaultStyle}{wxrichtextctrlsetdefaultstyle}).
 
+\membersection{wxRichTextCtrl::SetHandlerFlags}\label{wxrichtextctrlsethandlerflags}
+
+\func{void}{SetHandlerFlags}{\param{int }{flags}}
+
+Sets flags that change the behaviour of loading or saving. See the documentation for each
+handler class to see what flags are relevant for each handler.
+
 \membersection{wxRichTextCtrl::SetInsertionPoint}\label{wxrichtextctrlsetinsertionpoint}
 
 \func{void}{SetInsertionPoint}{\param{long }{pos}}
 \membersection{wxRichTextCtrl::SetInsertionPoint}\label{wxrichtextctrlsetinsertionpoint}
 
 \func{void}{SetInsertionPoint}{\param{long }{pos}}
@@ -1099,27 +1330,86 @@ Sets the insertion point.
 
 Sets the insertion point to the end of the text control.
 
 
 Sets the insertion point to the end of the text control.
 
+\membersection{wxRichTextCtrl::SetListStyle}\label{wxrichtextctrlsetliststyle}
+
+\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}}
+
+\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}}
+
+Sets the list attributes for the given range, passing flags to determine how the attributes are set.
+Either the style definition or the name of the style definition (in the current sheet) can be passed.
+
+{\it flags} is a bit list of the following:
+
+\begin{itemize}\itemsep=0pt
+\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this command will be undoable.
+\item wxRICHTEXT\_SETSTYLE\_RENUMBER: specifies that numbering should start from {\it startFrom}, otherwise existing attributes are used.
+\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.
+\end{itemize}
+
+See also \helpref{wxRichTextCtrl::NumberList}{wxrichtextctrlnumberlist}, \helpref{wxRichTextCtrl::PromoteList}{wxrichtextctrlpromotelist}, \helpref{wxRichTextCtrl::ClearListStyle}{wxrichtextctrlclearliststyle}.
+
 \membersection{wxRichTextCtrl::SetSelection}\label{wxrichtextctrlsetselection}
 
 \func{void}{SetSelection}{\param{long }{from}, \param{long }{to}}
 
 Sets the selection to the given range.
 
 \membersection{wxRichTextCtrl::SetSelection}\label{wxrichtextctrlsetselection}
 
 \func{void}{SetSelection}{\param{long }{from}, \param{long }{to}}
 
 Sets the selection to the given range.
 
+The end point of range is specified as the last character position of the span of text, plus one.
+So, for example, to set the selection for a character at position 5, use the range (5,6).
+
 \membersection{wxRichTextCtrl::SetSelectionRange}\label{wxrichtextctrlsetselectionrange}
 
 \func{void}{SetSelectionRange}{\param{const wxRichTextRange\& }{range}}
 
 Sets the selection to the given range.
 
 \membersection{wxRichTextCtrl::SetSelectionRange}\label{wxrichtextctrlsetselectionrange}
 
 \func{void}{SetSelectionRange}{\param{const wxRichTextRange\& }{range}}
 
 Sets the selection to the given range.
 
+The end point of range is specified as the last character position of the span of text, plus one.
+So, for example, to set the selection for a character at position 5, use the range (5,6).
+
 \membersection{wxRichTextCtrl::SetStyle}\label{wxrichtextctrlsetstyle}
 
 \func{bool}{SetStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextAttr\& }{style}}
 
 \func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttrEx\& }{style}}
 
 \membersection{wxRichTextCtrl::SetStyle}\label{wxrichtextctrlsetstyle}
 
 \func{bool}{SetStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextAttr\& }{style}}
 
 \func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttrEx\& }{style}}
 
+\func{bool}{SetStyle}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttr\& }{style}}
+
 Sets the attributes for the given range. The wxRichTextAttr version is more efficient
 because it does not use wxFont objects.
 
 Sets the attributes for the given range. The wxRichTextAttr version is more efficient
 because it does not use wxFont objects.
 
+The end point of range is specified as the last character position of the span of text, plus one.
+So, for example, to set the style for a character at position 5, use the range (5,6).
+
+\membersection{wxRichTextCtrl::SetStyleEx}\label{wxrichtextctrlsetstyleex}
+
+\func{bool}{SetStyleEx}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextAttr\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+\func{bool}{SetStyleEx}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttrEx\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+\func{bool}{SetStyleEx}{\param{long }{start}, \param{long }{end}, \param{const wxTextAttrEx\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+Sets the attributes for the given range, passing flags to determine how the attributes are set. The wxRichTextAttr version is more efficient
+because it does not use wxFont objects.
+
+The end point of range is specified as the last character position of the span of text, plus one.
+So, for example, to set the style for a character at position 5, use the range (5,6).
+
+{\it flags} may contain a bit list of the following values:
+
+\begin{itemize}\itemsep=0pt
+\item wxRICHTEXT\_SETSTYLE\_NONE: no style flag.
+\item wxRICHTEXT\_SETSTYLE\_WITH\_UNDO: specifies that this operation should be undoable.
+\item wxRICHTEXT\_SETSTYLE\_OPTIMIZE: specifies that the style should not be applied if the
+combined style at this point is already the style in question.
+\item wxRICHTEXT\_SETSTYLE\_PARAGRAPHS\_ONLY: specifies that the style should only be applied to paragraphs,
+and not the content. This allows content styling to be preserved independently from that of e.g. a named paragraph style.
+\item wxRICHTEXT\_SETSTYLE\_CHARACTERS\_ONLY: specifies that the style should only be applied to characters,
+and not the paragraph. This allows content styling to be preserved independently from that of e.g. a named paragraph style.
+\item wxRICHTEXT\_SETSTYLE\_RESET: resets (clears) the existing style before applying the new style.
+\item wxRICHTEXT\_SETSTYLE\_REMOVE: removes the specified style. Only the style flags are used in this operation.
+\end{itemize}
+
 \membersection{wxRichTextCtrl::SetStyleSheet}\label{wxrichtextctrlsetstylesheet}
 
 \func{void}{SetStyleSheet}{\param{wxRichTextStyleSheet* }{styleSheet}}
 \membersection{wxRichTextCtrl::SetStyleSheet}\label{wxrichtextctrlsetstylesheet}
 
 \func{void}{SetStyleSheet}{\param{wxRichTextStyleSheet* }{styleSheet}}
@@ -1203,3 +1493,4 @@ Writes text at the current position.
 \constfunc{long}{XYToPosition}{\param{long }{x}, \param{long }{y}}
 
 Translates from column and line number to position.
 \constfunc{long}{XYToPosition}{\param{long }{x}, \param{long }{y}}
 
 Translates from column and line number to position.
+