Destructor.
+\membersection{wxRichTextBuffer::AddEventHandler}\label{wxrichtextbufferaddeventhandler}
+
+\func{bool}{AddEventHandler}{\param{wxEvtHandler* }{handler}}
+
+Adds an event handler to the buffer's list of handlers. A buffer associated with
+a contol has the control as the only event handler, but the application is free
+to add more if further notification is required. All handlers are notified
+of an event originating from the buffer, such as the replacement of a style sheet
+during loading. The buffer never deletes any of the event handlers, unless
+\helpref{wxRichTextBuffer::RemoveEventHandler}{wxrichtextbufferremoveeventhandler} is
+called with \true as the second argument.
+
\membersection{wxRichTextBuffer::AddHandler}\label{wxrichtextbufferaddhandler}
\func{void}{AddHandler}{\param{wxRichTextFileHandler* }{handler}}
\end{verbatim}
}
+\membersection{wxRichTextBuffer::BeginListStyle}\label{wxrichtextbufferbeginliststyle}
+
+\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{wxRichTextBuffer::BeginNumberedBullet}\label{wxrichtextbufferbeginnumberedbullet}
\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}}
{\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}
}
it will be implemented automatically by not storing the command in the undo history
when the action is submitted to the command processor.
+\membersection{wxRichTextBuffer::BeginStandardBullet}\label{wxrichtextbufferbeginstandardbullet}
+
+\func{bool}{BeginStandardBullet}{\param{const wxString\&}{ bulletName}, \param{int }{leftIndent}, \param{int }{leftSubIndent}, \param{int }{bulletStyle = wxTEXT\_ATTR\_BULLET\_STYLE\_STANDARD}}
+
+Begins applying a standard bullet, using one of the standard bullet names (currently {\tt standard/circle} or {\tt standard/square}.
+See \helpref{BeginNumberedBullet}{wxrichtextbufferbeginnumberedbullet} for an explanation of how indentation is used to render the bulleted paragraph.
+
\membersection{wxRichTextBuffer::BeginSymbolBullet}\label{wxrichtextbufferbeginsymbolbullet}
\func{bool}{BeginSymbolBullet}{\param{wxChar }{symbol}, \param{int }{leftIndent}, \param{int }{leftSubIndent}, \param{int }{bulletStyle = wxTEXT\_ATTR\_BULLET\_STYLE\_SYMBOL}}
Begins using underline.
+\membersection{wxRichTextBuffer::BeginURL}\label{wxrichtextbufferbeginurl}
+
+\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{wxRichTextBuffer::CanPasteFromClipboard}\label{wxrichtextbuffercanpastefromclipboard}
\constfunc{bool}{CanPasteFromClipboard}{\void}
\func{void}{Clear}{\void}
-Clears the buffer and resets the command processor.
+Clears the buffer.
+
+\membersection{wxRichTextBuffer::ClearListStyle}\label{wxrichtextbufferclearliststyle}
+
+\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{wxRichTextBuffer::SetListStyle}{wxrichtextbuffersetliststyle}, \helpref{wxRichTextBuffer::PromoteList}{wxrichtextbufferpromotelist}, \helpref{wxRichTextBuffer::NumberList}{wxrichtextbuffernumberlist}.
\membersection{wxRichTextBuffer::ClearStyleStack}\label{wxrichtextbufferclearstylestack}
Ends using a line spacing.
+\membersection{wxRichTextBuffer::EndListStyle}\label{wxrichtextbufferendliststyle}
+
+\func{bool}{EndListStyle}{\void}
+
+Ends using a specified list style.
+
\membersection{wxRichTextBuffer::EndNumberedBullet}\label{wxrichtextbufferendnumberedbullet}
\func{bool}{EndNumberedBullet}{\void}
Ends using a symbol bullet.
+\membersection{wxRichTextBuffer::EndStandardBullet}\label{wxrichtextbufferendstandardbullet}
+
+\func{bool}{EndStandardBullet}{\void}
+
+Ends using a standard bullet.
+
\membersection{wxRichTextBuffer::EndTextColour}\label{wxrichtextbufferendtextcolour}
\func{bool}{EndTextColour}{\void}
Ends using underline.
+\membersection{wxRichTextBuffer::EndURL}\label{wxrichtextbufferendurl}
+
+\func{bool}{EndURL}{\void}
+
+Ends applying a URL.
+
\membersection{wxRichTextBuffer::FindHandler}\label{wxrichtextbufferfindhandler}
\func{wxRichTextFileHandler*}{FindHandler}{\param{int }{imageType}}
Finds a handler by filename or, if supplied, type.
+\membersection{wxRichTextBuffer::GetBasicStyle}\label{wxrichtextbuffergetbasicstyle}
+
+\constfunc{const wxTextAttrEx\&}{GetBasicStyle}{\void}
+
+Gets the basic (overall) style. This is the style of the whole
+buffer before further styles are applied, unlike the default style, which
+only affects the style currently being applied (for example, setting the default
+style to bold will cause subsequently inserted text to be bold).
+
\membersection{wxRichTextBuffer::GetBatchedCommand}\label{wxrichtextbuffergetbatchedcommand}
\constfunc{wxRichTextCommand*}{GetBatchedCommand}{\void}
Gets the command processor. A text buffer always creates its own command processor when it is
initialized.
+\membersection{wxRichTextBuffer::GetDefaultStyle}\label{wxrichtextbuffergetdefaultstyle}
+
+\constfunc{const wxTextAttrEx\&}{GetDefaultStyle}{\void}
+
+Returns the current default style, affecting the style currently being applied (for example, setting the default
+style to bold will cause subsequently inserted text to be bold).
+
\membersection{wxRichTextBuffer::GetExtWildcard}\label{wxrichtextbuffergetextwildcard}
\func{wxString}{GetExtWildcard}{\param{bool }{combine = false}, \param{bool }{save = false}, \param{wxArrayInt* }{types = NULL}}
Returns the list of file handlers.
+\membersection{wxRichTextBuffer::GetRenderer}\label{wxrichtextbuffergetrenderer}
+
+\func{static wxRichTextRenderer*}{GetRenderer}{\void}
+
+Returns the object to be used to render certain aspects of the content, such as bullets.
+
+\membersection{wxRichTextBuffer::GetStyle}\label{wxrichtextbuffergetstyle}
+
+\func{bool}{GetStyle}{\param{long }{position}, \param{wxRichTextAttr\& }{style}}
+
+\func{bool}{GetStyle}{\param{long }{position}, \param{wxTextAttrEx\& }{style}}
+
+Gets the attributes at the given position.
+
+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}{wxrichtextbuffergetuncombinedstyle}.
+
+\membersection{wxRichTextBuffer::GetStyleForRange}\label{wxrichtextbuffergetstyleforrange}
+
+\func{bool}{GetStyleForRange}{\param{const wxRichTextRange\&}{ range}, \param{wxTextAttrEx\& }{style}}
+
+This function gets a style representing the common, combined attributes in the given range.
+Attributes which have different values within the specified range will not be included the style
+flags.
+
+The function is used to get the attributes to display in the formatting dialog: the user
+can edit the attributes common to the selection, and optionally specify the values of further
+attributes to be applied uniformly.
+
+To apply the edited attributes, you can use \helpref{SetStyle}{wxrichtextbuffersetstyle} specifying
+the wxRICHTEXT\_SETSTYLE\_OPTIMIZE flag, which will only apply attributes that are different
+from the {\it combined} attributes within the range. So, the user edits the effective, displayed attributes
+for the range, but his choice won't be applied unnecessarily to content. As an example,
+say the style for a paragraph specifies bold, but the paragraph text doesn't specify a weight. The
+combined style is bold, and this is what the user will see on-screen and in the formatting
+dialog. The user now specifies red text, in addition to bold. When applying with
+SetStyle, the content font weight attributes won't be changed to bold because this is already specified
+by the paragraph. However the text colour attributes {\it will} be changed to
+show red.
+
\membersection{wxRichTextBuffer::GetStyleSheet}\label{wxrichtextbuffergetstylesheet}
\constfunc{wxRichTextStyleSheet*}{GetStyleSheet}{\void}
Get the size of the style stack, for example to check correct nesting.
+\membersection{wxRichTextBuffer::GetUncombinedStyle}\label{wxrichtextbuffergetuncombinedstyle}
+
+\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxRichTextAttr\& }{style}}
+
+\func{bool}{GetUncombinedStyle}{\param{long }{position}, \param{wxTextAttrEx\& }{style}}
+
+Gets the attributes at the given position.
+
+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}{wxrichtextbuffergetstyle}.
+
+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{wxRichTextBuffer::HitTest}\label{wxrichtextbufferhittest}
\func{int}{HitTest}{\param{wxDC\& }{dc}, \param{const wxPoint\& }{pt}, \param{long\& }{textPosition}}
Marks the buffer as modified or unmodified.
+\membersection{wxRichTextBuffer::NumberList}\label{wxrichtextbuffernumberlist}
+
+\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{wxRichTextBuffer::SetListStyle}{wxrichtextbuffersetliststyle}, \helpref{wxRichTextBuffer::PromoteList}{wxrichtextbufferpromotelist}, \helpref{wxRichTextBuffer::ClearListStyle}{wxrichtextbufferclearliststyle}.
+
\membersection{wxRichTextBuffer::PasteFromClipboard}\label{wxrichtextbufferpastefromclipboard}
\func{bool}{PasteFromClipboard}{\param{long }{position}}
Pastes the clipboard content to the buffer at the given position.
+\membersection{wxRichTextBuffer::PromoteList}\label{wxrichtextbufferpromotelist}
+
+\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{wxRichTextBuffer::SetListStyle}{wxrichtextbuffersetliststyle}, See also \helpref{wxRichTextBuffer::SetListStyle}{wxrichtextbuffernumberlist}, \helpref{wxRichTextBuffer::ClearListStyle}{wxrichtextbufferclearliststyle}.
+
+\membersection{wxRichTextBuffer::RemoveEventHandler}\label{wxrichtextbufferremoveeventhandler}
+
+\func{bool}{RemoveEventHandler}{\param{wxEvtHandler* }{handler}, \param{bool}{ deleteHandler = false}}
+
+Removes an event handler from the buffer's list of handlers, deleting the object if {\it deleteHandler} is \true.
+
\membersection{wxRichTextBuffer::RemoveHandler}\label{wxrichtextbufferremovehandler}
\func{bool}{RemoveHandler}{\param{const wxString\& }{name}}
Removes a handler.
-\membersection{wxRichTextBuffer::Reset}\label{wxrichtextbufferreset}
+\membersection{wxRichTextBuffer::ResetAndClearCommands}\label{wxrichtextbufferresetandclearcommands}
-\func{void}{Reset}{\void}
+\func{void}{ResetAndClearCommands}{\void}
-The same as \helpref{Clear}{wxrichtextbufferclear}, plus an empty paragraph is added.
+Clears the buffer, adds a new blank paragraph, and clears the command history.
\membersection{wxRichTextBuffer::SaveFile}\label{wxrichtextbuffersavefile}
Saves content to a file.
+\membersection{wxRichTextBuffer::SetBasicStyle}\label{wxrichtextbuffersetbasicstyle}
+
+\func{void}{SetBasicStyle}{\param{const wxRichTextAttr\& }{style}}
+
+\func{void}{SetBasicStyle}{\param{const wxTextAttrEx\& }{style}}
+
+Sets the basic (overall) style. This is the style of the whole
+buffer before further styles are applied, unlike the default style, which
+only affects the style currently being applied (for example, setting the default
+style to bold will cause subsequently inserted text to be bold).
+
+\membersection{wxRichTextBuffer::SetDefaultStyle}\label{wxrichtextbuffersetdefaultstyle}
+
+\func{void}{SetDefaultStyle}{\param{const wxTextAttrEx\& }{style}}
+
+Sets the default style, affecting the style currently being applied (for example, setting the default
+style to bold will cause subsequently inserted text to be bold).
+
+This is not cumulative - setting the default style will replace the previous default style.
+
+\membersection{wxRichTextBuffer::SetListStyle}\label{wxrichtextbuffersetliststyle}
+
+\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{wxRichTextBuffer::NumberList}{wxrichtextbuffernumberlist}, \helpref{wxRichTextBuffer::PromoteList}{wxrichtextbufferpromotelist}, \helpref{wxRichTextBuffer::ClearListStyle}{wxrichtextbufferclearliststyle}.
+
+\membersection{wxRichTextBuffer::SetRenderer}\label{wxrichtextbuffersetrenderer}
+
+\func{static void}{SetRenderer}{\param{wxRichTextRenderer* }{renderer}}
+
+Sets {\it renderer} as the object to be used to render certain aspects of the content, such as bullets.
+You can override default rendering by deriving a new class from wxRichTextRenderer or wxRichTextStdRenderer,
+overriding one or more virtual functions, and setting an instance of the class using this function.
+
+\membersection{wxRichTextBuffer::SetStyle}\label{wxrichtextbuffersetstyle}
+
+\func{bool}{SetStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxRichTextAttr\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+\func{bool}{SetStyle}{\param{const wxRichTextRange\& }{range}, \param{const wxTextAttrEx\& }{style}, \param{int }{flags $=$ wxRICHTEXT\_SETSTYLE\_WITH\_UNDO}}
+
+Sets the attributes for the given range. Pass flags to determine how the attributes are set.
+
+The end point of range is specified as the last character position of the span of text.
+So, for example, to set the style for a character at position 5, use the range (5,5).
+This differs from the wxRichTextCtrl API, where you would specify (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 define 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.
+\end{itemize}
+
\membersection{wxRichTextBuffer::SetStyleSheet}\label{wxrichtextbuffersetstylesheet}
\func{void}{SetStyleSheet}{\param{wxRichTextStyleSheet* }{styleSheet}}