# wxRichTextBuffer Class Reference
[Rich Text]

`#include <wx/richtext/richtextbuffer.h>`

Inheritance diagram for wxRichTextBuffer:
[legend]

## Detailed Description

This is a kind of paragraph layout box, used to represent the whole buffer.

##

Library: wxRichText

Category: Rich Text

See also:
  wxRichTextParagraphLayoutBox, wxRichTextCtrl

## Public Member Functions
| wxRichTextBuffer ()
| Default constructor.
| wxRichTextBuffer (const wxRichTextBuffer &obj)
| Copy constructor.
virtual | ~wxRichTextBuffer ()
wxCommandProcessor * | GetCommandProcessor () const
| Returns the command processor.
void | SetStyleSheet (wxRichTextStyleSheet *styleSheet)
| Sets style sheet, if any.
virtual wxRichTextStyleSheet * | GetStyleSheet () const
| Returns the style sheet.
bool | SetStyleSheetAndNotify (wxRichTextStyleSheet *sheet)
| Sets the style sheet and sends a notification of the change.
bool | PushStyleSheet (wxRichTextStyleSheet *styleSheet)
| Pushes the style sheet to the top of the style sheet stack.
wxRichTextStyleSheet * | PopStyleSheet ()
| Pops the style sheet from the top of the style sheet stack.
wxRichTextFontTable & | GetFontTable ()
| Returns the table storing fonts, for quick access and font reuse.
const wxRichTextFontTable & | GetFontTable () const
| Returns the table storing fonts, for quick access and font reuse.
void | SetFontTable (const wxRichTextFontTable &table)
| Sets table storing fonts, for quick access and font reuse.
void | Init ()
| Initialisation.
virtual void | ResetAndClearCommands ()
| Clears the buffer, adds an empty paragraph, and clears the command processor.
void | SetHandlerFlags (int flags)
| Sets the handler flags, controlling loading and saving.
int | GetHandlerFlags () const
| Gets the handler flags, controlling loading and saving.
virtual wxRichTextRange | AddParagraph (const wxString &text, wxRichTextAttr *paraStyle=NULL)
| Convenience function to add a paragraph of text.
virtual bool | BeginBatchUndo (const wxString &cmdName)
| Begin collapsing undo/redo commands.
virtual bool | EndBatchUndo ()
| End collapsing undo/redo commands.
virtual bool | BatchingUndo () const
| Returns true if we are collapsing commands.
virtual bool | SubmitAction (wxRichTextAction *action)
| Submit the action immediately, or delay according to whether collapsing is on.
virtual wxRichTextCommand * | GetBatchedCommand () const
| Returns the collapsed command.
virtual bool | BeginSuppressUndo ()
| Begin suppressing undo/redo commands.
virtual bool | EndSuppressUndo ()
| End suppressing undo/redo commands.
virtual bool | SuppressingUndo () const
| Are we suppressing undo??
virtual bool | CopyToClipboard (const wxRichTextRange &range)
| Copy the range to the clipboard.
virtual bool | PasteFromClipboard (long position)
| Paste the clipboard content to the buffer.
virtual bool | CanPasteFromClipboard () const
| Returns true if we can paste from the clipboard.
virtual bool | BeginStyle (const wxRichTextAttr &style)
| Begin using a style.
virtual bool | EndStyle ()
| End the style.
virtual bool | EndAllStyles ()
| End all styles.
virtual void | ClearStyleStack ()
| Clears the style stack.
virtual size_t | GetStyleStackSize () const
| Returns the size of the style stack, for example to check correct nesting.
bool | BeginBold ()
| Begins using bold.
bool | EndBold ()
| Ends using bold.
bool | BeginItalic ()
| Begins using italic.
bool | EndItalic ()
| Ends using italic.
bool | BeginUnderline ()
| Begins using underline.
bool | EndUnderline ()
| Ends using underline.
bool | BeginFontSize (int pointSize)
| Begins using point size.
bool | EndFontSize ()
| Ends using point size.
bool | BeginFont (const wxFont &font)
| Begins using this font.
bool | EndFont ()
| Ends using a font.
bool | BeginTextColour (const wxColour &colour)
| Begins using this colour.
bool | EndTextColour ()
| Ends using a colour.
bool | BeginAlignment (wxTextAttrAlignment alignment)
| Begins using alignment.
bool | EndAlignment ()
| Ends alignment.
bool | BeginLeftIndent (int leftIndent, int leftSubIndent=0)
| Begins using leftIndent for the left indent, and optionally leftSubIndent for the sub-indent.
bool | EndLeftIndent ()
| Ends left indent.
bool | BeginRightIndent (int rightIndent)
| Begins a right indent, specified in tenths of a millimetre.
bool | EndRightIndent ()
| Ends right indent.
bool | BeginParagraphSpacing (int before, int after)
| Begins paragraph spacing; pass the before-paragraph and after-paragraph spacing in tenths of a millimetre.
bool | EndParagraphSpacing ()
| Ends paragraph spacing.
bool | BeginLineSpacing (int lineSpacing)
| Begins line spacing using the specified value.
bool | EndLineSpacing ()
| Ends line spacing.
bool | BeginNumberedBullet (int bulletNumber, int leftIndent, int leftSubIndent, int bulletStyle=wxTEXT_ATTR_BULLET_STYLE_ARABIC|wxTEXT_ATTR_BULLET_STYLE_PERIOD)
| Begins numbered bullet.
bool | EndNumberedBullet ()
| Ends numbered bullet.
bool | BeginSymbolBullet (const wxString &symbol, int leftIndent, int leftSubIndent, int bulletStyle=wxTEXT_ATTR_BULLET_STYLE_SYMBOL)
| Begins applying a symbol bullet, using a character from the current font.
bool | EndSymbolBullet ()
| Ends symbol bullet.
bool | BeginStandardBullet (const wxString &bulletName, int leftIndent, int leftSubIndent, int bulletStyle=wxTEXT_ATTR_BULLET_STYLE_STANDARD)
| Begins applying a standard bullet, using one of the standard bullet names (currently `standard/circle` or `standard/square`.
bool | EndStandardBullet ()
| Ends standard bullet.
bool | BeginCharacterStyle (const wxString &characterStyle)
| Begins named character style.
bool | EndCharacterStyle ()
| Ends named character style.
bool | BeginParagraphStyle (const wxString &paragraphStyle)
| Begins named paragraph style.
bool | EndParagraphStyle ()
| Ends named character style.
bool | BeginListStyle (const wxString &listStyle, int level=1, int number=1)
| Begins named list style.
bool | EndListStyle ()
| Ends named character style.
bool | BeginURL (const wxString &url, const wxString &characterStyle=wxEmptyString)
| Begins applying wxTEXT_ATTR_URL to the content.
bool | EndURL ()
| Ends URL.
bool | AddEventHandler (wxEvtHandler *handler)
| Adds an event handler.
bool | RemoveEventHandler (wxEvtHandler *handler, bool deleteHandler=false)
| Removes an event handler from the buffer's list of handlers, deleting the object if deleteHandler is true.
void | ClearEventHandlers ()
| Clear event handlers.
bool | SendEvent (wxEvent &event, bool sendToAll=true)
| Send event to event handlers.
virtual int | HitTest (wxDC &dc, const wxPoint &pt, long &textPosition, wxRichTextObject **obj, wxRichTextObject **contextObj, int flags=0)
| Hit-testing: returns a flag indicating hit test details, plus information about position.
void | Copy (const wxRichTextBuffer &obj)
| Copies the buffer.
void | operator= (const wxRichTextBuffer &obj)
| Assignment operator.
virtual wxRichTextObject * | Clone () const
| Clones the buffer.
bool | InsertParagraphsWithUndo (long pos, const wxRichTextParagraphLayoutBox &paragraphs, wxRichTextCtrl *ctrl, int flags=0)
| Submits a command to insert paragraphs.
bool | InsertTextWithUndo (long pos, const wxString &text, wxRichTextCtrl *ctrl, int flags=0)
| Submits a command to insert the given text.
bool | InsertNewlineWithUndo (long pos, wxRichTextCtrl *ctrl, int flags=0)
| Submits a command to insert a newline.
bool | InsertImageWithUndo (long pos, const wxRichTextImageBlock &imageBlock, wxRichTextCtrl *ctrl, int flags=0, const wxRichTextAttr &textAttr=wxRichTextAttr())
| Submits a command to insert the given image.
wxRichTextObject * | InsertObjectWithUndo (long pos, wxRichTextObject *object, wxRichTextCtrl *ctrl, int flags)
| Submits a command to insert an object.
bool | DeleteRangeWithUndo (const wxRichTextRange &range, wxRichTextCtrl *ctrl)
| Submits a command to delete this range.
void | Modify (bool modify=true)
| Mark modified.
bool | IsModified () const
| Returns true if the buffer was modified.
double | GetScale () const
| Returns the scale factor for calculating dimensions.
void | SetScale (double scale)
| Sets the scale factor for calculating dimensions.
virtual bool | LoadFile (const wxString &filename, wxRichTextFileType type=wxRICHTEXT_TYPE_ANY)
| Loads content from a stream or file.
virtual bool | LoadFile (wxInputStream &stream, wxRichTextFileType type=wxRICHTEXT_TYPE_ANY)
| Loads content from a stream or file.
virtual bool | SaveFile (const wxString &filename, wxRichTextFileType type=wxRICHTEXT_TYPE_ANY)
| Saves content to a stream or file.
virtual bool | SaveFile (wxOutputStream &stream, wxRichTextFileType type=wxRICHTEXT_TYPE_ANY)
| Saves content to a stream or file.
virtual void | Dump ()
| Dumps contents of buffer for debugging purposes.
virtual void | Dump (wxTextOutputStream &stream)
| Dumps contents of buffer for debugging purposes.
## Static Public Member Functions
static wxList & | GetHandlers ()
| Returns the file handlers.
static void | AddHandler (wxRichTextFileHandler *handler)
| Adds a file handler to the end.
static void | InsertHandler (wxRichTextFileHandler *handler)
| Inserts a file handler at the front.
static bool | RemoveHandler (const wxString &name)
| Removes a file handler.
static wxRichTextFileHandler * | FindHandler (const wxString &name)
| Finds a file handler by name.
static wxRichTextFileHandler * | FindHandler (const wxString &extension, wxRichTextFileType imageType)
| Finds a file handler by extension and type.
static wxRichTextFileHandler * | FindHandlerFilenameOrType (const wxString &filename, wxRichTextFileType imageType)
| Finds a handler by filename or, if supplied, type.
static wxRichTextFileHandler * | FindHandler (wxRichTextFileType imageType)
| Finds a handler by type.
static wxString | GetExtWildcard (bool combine=false, bool save=false, wxArrayInt *types=NULL)
| Gets a wildcard incorporating all visible handlers.
static void | CleanUpHandlers ()
| Clean up file handlers.
static void | InitStandardHandlers ()
| Initialise the standard file handlers.
static wxRichTextRenderer * | GetRenderer ()
| Returns the renderer object.
static void | SetRenderer (wxRichTextRenderer *renderer)
| Sets renderer as the object to be used to render certain aspects of the content, such as bullets.
static int | GetBulletRightMargin ()
| Returns the minimum margin between bullet and paragraph in 10ths of a mm.
static void | SetBulletRightMargin (int margin)
| Sets the minimum margin between bullet and paragraph in 10ths of a mm.
static float | GetBulletProportion ()
| Returns the factor to multiply by character height to get a reasonable bullet size.
static void | SetBulletProportion (float prop)
| Sets the factor to multiply by character height to get a reasonable bullet size.
## Protected Attributes
wxCommandProcessor * | m_commandProcessor
| Command processor.
wxRichTextFontTable | m_fontTable
| Table storing fonts.
bool | m_modified
| Has been modified?
int | m_batchedCommandDepth
| Collapsed command stack.
wxString | m_batchedCommandsName
| Name for collapsed command.
wxRichTextCommand * | m_batchedCommand
| Current collapsed command accumulating actions.
int | m_suppressUndo
| Whether to suppress undo.
wxRichTextStyleSheet * | m_styleSheet
| Style sheet, if any.
wxList | m_eventHandlers
| List of event handlers that will be notified of events.
wxList | m_attributeStack
| Stack of attributes for convenience functions.
int | m_handlerFlags
| Flags to be passed to handlers.
double | m_scale
| Scaling factor in use: needed to calculate correct dimensions when printing.
## Static Protected Attributes
static wxList | sm_handlers
| File handlers.
static wxRichTextRenderer * | sm_renderer
| Renderer.
static int | sm_bulletRightMargin
| Minimum margin between bullet and paragraph in 10ths of a mm.
static float | sm_bulletProportion
| Factor to multiply by character height to get a reasonable bullet size.

List of all members.

## Constructor & Destructor Documentation

wxRichTextBuffer::wxRichTextBuffer | ( |  | ) | `[inline]`

Default constructor.

wxRichTextBuffer::wxRichTextBuffer | ( | const wxRichTextBuffer & | obj | ) | `[inline]`

Copy constructor.

virtual wxRichTextBuffer::~wxRichTextBuffer | ( |  | ) | `[virtual]`

## Member Function Documentation

bool wxRichTextBuffer::AddEventHandler | ( | wxEvtHandler * | handler | ) |

Adds an event handler.

A buffer associated with a control 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 RemoveEventHandler() is called with true as the second argument.

static void wxRichTextBuffer::AddHandler | ( | wxRichTextFileHandler * | handler | ) | `[static]`

Adds a file handler to the end.

virtual wxRichTextRange wxRichTextBuffer::AddParagraph | ( | const wxString & | text,
|  | wxRichTextAttr * | paraStyle = `NULL` |
| ) |  |  | `[inline, virtual]`

Convenience function to add a paragraph of text.

Reimplemented from wxRichTextParagraphLayoutBox.

virtual bool wxRichTextBuffer::BatchingUndo | ( |  | ) | const`[inline, virtual]`

Returns true if we are collapsing commands.

bool wxRichTextBuffer::BeginAlignment | ( | wxTextAttrAlignment | alignment | ) |

Begins using alignment.

virtual bool wxRichTextBuffer::BeginBatchUndo | ( | const wxString & | cmdName | ) | `[virtual]`

Begin collapsing undo/redo commands.

Note that this may not work properly if combining commands that delete or insert content, changing ranges for subsequent actions.

cmdName should be the name of the combined command that will appear next to Undo and Redo in the edit menu.

bool wxRichTextBuffer::BeginBold | ( |  | ) |

Begins using bold.

bool wxRichTextBuffer::BeginCharacterStyle | ( | const wxString & | characterStyle | ) |

Begins named character style.

bool wxRichTextBuffer::BeginFont | ( | const wxFont & | font | ) |

Begins using this font.

bool wxRichTextBuffer::BeginFontSize | ( | int | pointSize | ) |

Begins using point size.

bool wxRichTextBuffer::BeginItalic | ( |  | ) |

Begins using italic.

bool wxRichTextBuffer::BeginLeftIndent | ( | int | leftIndent,
|  | int | leftSubIndent = `0` |
| ) |  |  |

Begins using leftIndent for the left indent, and optionally leftSubIndent for the sub-indent.

Both are expressed in tenths of a millimetre.

The sub-indent is an offset from the left of the paragraph, and is used for all but the first line in a paragraph. A positive value will cause the first line to appear to the left of the subsequent lines, and a negative value will cause the first line to be indented relative to the subsequent lines.

bool wxRichTextBuffer::BeginLineSpacing | ( | int | lineSpacing | ) |

Begins line spacing using the specified value.

spacing is a multiple, where 10 means single-spacing, 15 means 1.5 spacing, and 20 means double spacing.

The wxTextAttrLineSpacing enumeration values are defined for convenience.

bool wxRichTextBuffer::BeginListStyle | ( | const wxString & | listStyle,
|  | int | level = `1`,
|  | int | number = `1` |
| ) |  |  |

Begins named list style.

Optionally, you can also pass a level and a number.

bool wxRichTextBuffer::BeginNumberedBullet | ( | int | bulletNumber,
|  | int | leftIndent,
|  | int | leftSubIndent,
|  | int | bulletStyle = `wxTEXT_ATTR_BULLET_STYLE_ARABIC|wxTEXT_ATTR_BULLET_STYLE_PERIOD` |
| ) |  |  |

Begins numbered bullet.

This call will be needed for each item in the list, and the application should take care of incrementing the numbering.

bulletNumber is a number, usually starting with 1. leftIndent and leftSubIndent are values in tenths of a millimetre. bulletStyle is a bitlist of the following values:

wxRichTextBuffer uses indentation to render a bulleted item. The left indent is the distance between the margin and the bullet. The content of the paragraph, including the first line, starts at leftMargin + leftSubIndent. So the distance between the left edge of the bullet and the left of the actual paragraph is leftSubIndent.

bool wxRichTextBuffer::BeginParagraphSpacing | ( | int | before,
|  | int | after |
| ) |  |  |

Begins paragraph spacing; pass the before-paragraph and after-paragraph spacing in tenths of a millimetre.

bool wxRichTextBuffer::BeginParagraphStyle | ( | const wxString & | paragraphStyle | ) |

Begins named paragraph style.

bool wxRichTextBuffer::BeginRightIndent | ( | int | rightIndent | ) |

Begins a right indent, specified in tenths of a millimetre.

bool wxRichTextBuffer::BeginStandardBullet | ( | const wxString & | bulletName,
|  | int | leftIndent,
|  | int | leftSubIndent,
|  | int | bulletStyle = `wxTEXT_ATTR_BULLET_STYLE_STANDARD` |
| ) |  |  |

Begins applying a standard bullet, using one of the standard bullet names (currently `standard/circle` or `standard/square`.

See BeginNumberedBullet() for an explanation of how indentation is used to render the bulleted paragraph.

virtual bool wxRichTextBuffer::BeginStyle | ( | const wxRichTextAttr & | style | ) | `[virtual]`

Begin using a style.

virtual bool wxRichTextBuffer::BeginSuppressUndo | ( |  | ) | `[virtual]`

Begin suppressing undo/redo commands.

The way undo is suppressed may be implemented differently by each command. If not dealt with by a command implementation, then it will be implemented automatically by not storing the command in the undo history when the action is submitted to the command processor.

bool wxRichTextBuffer::BeginSymbolBullet | ( | const wxString & | symbol,
|  | int | leftIndent,
|  | int | leftSubIndent,
|  | int | bulletStyle = `wxTEXT_ATTR_BULLET_STYLE_SYMBOL` |
| ) |  |  |

Begins applying a symbol bullet, using a character from the current font.

See BeginNumberedBullet() for an explanation of how indentation is used to render the bulleted paragraph.

bool wxRichTextBuffer::BeginTextColour | ( | const wxColour & | colour | ) |

Begins using this colour.

bool wxRichTextBuffer::BeginUnderline | ( |  | ) |

Begins using underline.

bool wxRichTextBuffer::BeginURL | ( | const wxString & | url,
|  | 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.

virtual bool wxRichTextBuffer::CanPasteFromClipboard | ( |  | ) | const`[virtual]`

Returns true if we can paste from the clipboard.

static void wxRichTextBuffer::CleanUpHandlers | ( |  | ) | `[static]`

Clean up file handlers.

void wxRichTextBuffer::ClearEventHandlers | ( |  | ) |

Clear event handlers.

virtual void wxRichTextBuffer::ClearStyleStack | ( |  | ) | `[virtual]`

Clears the style stack.

virtual wxRichTextObject* wxRichTextBuffer::Clone | ( |  | ) | const`[inline, virtual]`

Clones the buffer.

Reimplemented from wxRichTextParagraphLayoutBox.

void wxRichTextBuffer::Copy | ( | const wxRichTextBuffer & | obj | ) |

Copies the buffer.

virtual bool wxRichTextBuffer::CopyToClipboard | ( | const wxRichTextRange & | range | ) | `[virtual]`

Copy the range to the clipboard.

bool wxRichTextBuffer::DeleteRangeWithUndo | ( | const wxRichTextRange & | range,
|  | wxRichTextCtrl * | ctrl |
| ) |  |  |

Submits a command to delete this range.

virtual void wxRichTextBuffer::Dump | ( | wxTextOutputStream & | stream | ) | `[inline, virtual]`

Dumps contents of buffer for debugging purposes.

Reimplemented from wxRichTextCompositeObject.

virtual void wxRichTextBuffer::Dump | ( |  | ) | `[virtual]`

Dumps contents of buffer for debugging purposes.

bool wxRichTextBuffer::EndAlignment | ( |  | ) | `[inline]`

Ends alignment.

virtual bool wxRichTextBuffer::EndAllStyles | ( |  | ) | `[virtual]`

End all styles.

virtual bool wxRichTextBuffer::EndBatchUndo | ( |  | ) | `[virtual]`

End collapsing undo/redo commands.

bool wxRichTextBuffer::EndBold | ( |  | ) | `[inline]`

Ends using bold.

bool wxRichTextBuffer::EndCharacterStyle | ( |  | ) | `[inline]`

Ends named character style.

bool wxRichTextBuffer::EndFont | ( |  | ) | `[inline]`

Ends using a font.

bool wxRichTextBuffer::EndFontSize | ( |  | ) | `[inline]`

Ends using point size.

bool wxRichTextBuffer::EndItalic | ( |  | ) | `[inline]`

Ends using italic.

bool wxRichTextBuffer::EndLeftIndent | ( |  | ) | `[inline]`

Ends left indent.

bool wxRichTextBuffer::EndLineSpacing | ( |  | ) | `[inline]`

Ends line spacing.

bool wxRichTextBuffer::EndListStyle | ( |  | ) | `[inline]`

Ends named character style.

bool wxRichTextBuffer::EndNumberedBullet | ( |  | ) | `[inline]`

Ends numbered bullet.

bool wxRichTextBuffer::EndParagraphSpacing | ( |  | ) | `[inline]`

Ends paragraph spacing.

bool wxRichTextBuffer::EndParagraphStyle | ( |  | ) | `[inline]`

Ends named character style.

bool wxRichTextBuffer::EndRightIndent | ( |  | ) | `[inline]`

Ends right indent.

bool wxRichTextBuffer::EndStandardBullet | ( |  | ) | `[inline]`

Ends standard bullet.

virtual bool wxRichTextBuffer::EndStyle | ( |  | ) | `[virtual]`

End the style.

virtual bool wxRichTextBuffer::EndSuppressUndo | ( |  | ) | `[virtual]`

End suppressing undo/redo commands.

bool wxRichTextBuffer::EndSymbolBullet | ( |  | ) | `[inline]`

Ends symbol bullet.

bool wxRichTextBuffer::EndTextColour | ( |  | ) | `[inline]`

Ends using a colour.

bool wxRichTextBuffer::EndUnderline | ( |  | ) | `[inline]`

Ends using underline.

bool wxRichTextBuffer::EndURL | ( |  | ) | `[inline]`

Ends URL.

static wxRichTextFileHandler* wxRichTextBuffer::FindHandler | ( | wxRichTextFileType | imageType | ) | `[static]`

Finds a handler by type.

static wxRichTextFileHandler* wxRichTextBuffer::FindHandler | ( | const wxString & | extension,
|  | wxRichTextFileType | imageType |
| ) |  |  | `[static]`

Finds a file handler by extension and type.

static wxRichTextFileHandler* wxRichTextBuffer::FindHandler | ( | const wxString & | name | ) | `[static]`

Finds a file handler by name.

static wxRichTextFileHandler* wxRichTextBuffer::FindHandlerFilenameOrType | ( | const wxString & | filename,
|  | wxRichTextFileType | imageType |
| ) |  |  | `[static]`

Finds a handler by filename or, if supplied, type.

virtual wxRichTextCommand* wxRichTextBuffer::GetBatchedCommand | ( |  | ) | const`[inline, virtual]`

Returns the collapsed command.

static float wxRichTextBuffer::GetBulletProportion | ( |  | ) | `[inline, static]`

Returns the factor to multiply by character height to get a reasonable bullet size.

static int wxRichTextBuffer::GetBulletRightMargin | ( |  | ) | `[inline, static]`

Returns the minimum margin between bullet and paragraph in 10ths of a mm.

wxCommandProcessor* wxRichTextBuffer::GetCommandProcessor | ( |  | ) | const`[inline]`

Returns the command processor.

A text buffer always creates its own command processor when it is initialized.

static wxString wxRichTextBuffer::GetExtWildcard | ( | bool | combine = `false`,
|  | bool | save = `false`,
|  | wxArrayInt * | types = `NULL` |
| ) |  |  | `[static]`

Gets a wildcard incorporating all visible handlers.

If types is present, it will be filled with the file type corresponding to each filter. This can be used to determine the type to pass to LoadFile given a selected filter.

const wxRichTextFontTable& wxRichTextBuffer::GetFontTable | ( |  | ) | const`[inline]`

Returns the table storing fonts, for quick access and font reuse.

wxRichTextFontTable& wxRichTextBuffer::GetFontTable | ( |  | ) | `[inline]`

Returns the table storing fonts, for quick access and font reuse.

int wxRichTextBuffer::GetHandlerFlags | ( |  | ) | const`[inline]`

Gets the handler flags, controlling loading and saving.

static wxList& wxRichTextBuffer::GetHandlers | ( |  | ) | `[inline, static]`

Returns the file handlers.

static wxRichTextRenderer* wxRichTextBuffer::GetRenderer | ( |  | ) | `[inline, static]`

Returns the renderer object.

double wxRichTextBuffer::GetScale | ( |  | ) | const`[inline]`

Returns the scale factor for calculating dimensions.

virtual wxRichTextStyleSheet* wxRichTextBuffer::GetStyleSheet | ( |  | ) | const`[inline, virtual]`

Returns the style sheet.

Reimplemented from wxRichTextParagraphLayoutBox.

virtual size_t wxRichTextBuffer::GetStyleStackSize | ( |  | ) | const`[inline, virtual]`

Returns the size of the style stack, for example to check correct nesting.

virtual int wxRichTextBuffer::HitTest | ( | wxDC & | dc,
|  | const wxPoint & | pt,
|  | long & | textPosition,
|  | wxRichTextObject ** | obj,
|  | wxRichTextObject ** | contextObj,
|  | int | flags = `0` |
| ) |  |  | `[virtual]`

Hit-testing: returns a flag indicating hit test details, plus information about position.

contextObj is returned to specify what object position is relevant to, since otherwise there's an ambiguity. @ obj might not be a child of contextObj, since we may be referring to the container itself if we have no hit on a child - for example if we click outside an object.

The function puts the position in textPosition if one is found. pt is in logical units (a zero y position is at the beginning of the buffer).

Returns:
  One of the wxRichTextHitTestFlags values.

Reimplemented from wxRichTextParagraphLayoutBox.

void wxRichTextBuffer::Init | ( |  | ) |

Initialisation.

Reimplemented from wxRichTextParagraphLayoutBox.

static void wxRichTextBuffer::InitStandardHandlers | ( |  | ) | `[static]`

Initialise the standard file handlers.

Currently, only the plain text loading/saving handler is initialised by default.

static void wxRichTextBuffer::InsertHandler | ( | wxRichTextFileHandler * | handler | ) | `[static]`

Inserts a file handler at the front.

bool wxRichTextBuffer::InsertImageWithUndo | ( | long | pos,
|  | const wxRichTextImageBlock & | imageBlock,
|  | wxRichTextCtrl * | ctrl,
|  | int | flags = `0`,
|  | const wxRichTextAttr & | textAttr = `wxRichTextAttr()` |
| ) |  |  |

Submits a command to insert the given image.

bool wxRichTextBuffer::InsertNewlineWithUndo | ( | long | pos,
|  | wxRichTextCtrl * | ctrl,
|  | int | flags = `0` |
| ) |  |  |

Submits a command to insert a newline.

wxRichTextObject* wxRichTextBuffer::InsertObjectWithUndo | ( | long | pos,
|  | wxRichTextObject * | object,
|  | wxRichTextCtrl * | ctrl,
|  | int | flags |
| ) |  |  |

Submits a command to insert an object.

bool wxRichTextBuffer::InsertParagraphsWithUndo | ( | long | pos,
|  | const wxRichTextParagraphLayoutBox & | paragraphs,
|  | wxRichTextCtrl * | ctrl,
|  | int | flags = `0` |
| ) |  |  |

Submits a command to insert paragraphs.

bool wxRichTextBuffer::InsertTextWithUndo | ( | long | pos,
|  | const wxString & | text,
|  | wxRichTextCtrl * | ctrl,
|  | int | flags = `0` |
| ) |  |  |

Submits a command to insert the given text.

bool wxRichTextBuffer::IsModified | ( |  | ) | const`[inline]`

Returns true if the buffer was modified.

virtual bool wxRichTextBuffer::LoadFile | ( | wxInputStream & | stream,
|  | wxRichTextFileType | type = `wxRICHTEXT_TYPE_ANY` |
| ) |  |  | `[virtual]`

Loads content from a stream or file.

Not all handlers will implement file loading.

virtual bool wxRichTextBuffer::LoadFile | ( | const wxString & | filename,
|  | wxRichTextFileType | type = `wxRICHTEXT_TYPE_ANY` |
| ) |  |  | `[virtual]`

Loads content from a stream or file.

Not all handlers will implement file loading.

void wxRichTextBuffer::Modify | ( | bool | modify = `true` | ) | `[inline]`

Mark modified.

void wxRichTextBuffer::operator= | ( | const wxRichTextBuffer & | obj | ) | `[inline]`

Assignment operator.

virtual bool wxRichTextBuffer::PasteFromClipboard | ( | long | position | ) | `[virtual]`

Paste the clipboard content to the buffer.

wxRichTextStyleSheet* wxRichTextBuffer::PopStyleSheet | ( |  | ) |

Pops the style sheet from the top of the style sheet stack.

bool wxRichTextBuffer::PushStyleSheet | ( | wxRichTextStyleSheet * | styleSheet | ) |

Pushes the style sheet to the top of the style sheet stack.

bool wxRichTextBuffer::RemoveEventHandler | ( | wxEvtHandler * | handler,
|  | bool | deleteHandler = `false` |
| ) |  |  |

Removes an event handler from the buffer's list of handlers, deleting the object if deleteHandler is true.

static bool wxRichTextBuffer::RemoveHandler | ( | const wxString & | name | ) | `[static]`

Removes a file handler.

virtual void wxRichTextBuffer::ResetAndClearCommands | ( |  | ) | `[virtual]`

Clears the buffer, adds an empty paragraph, and clears the command processor.

virtual bool wxRichTextBuffer::SaveFile | ( | wxOutputStream & | stream,
|  | wxRichTextFileType | type = `wxRICHTEXT_TYPE_ANY` |
| ) |  |  | `[virtual]`

Saves content to a stream or file.

Not all handlers will implement file saving.

virtual bool wxRichTextBuffer::SaveFile | ( | const wxString & | filename,
|  | wxRichTextFileType | type = `wxRICHTEXT_TYPE_ANY` |
| ) |  |  | `[virtual]`

Saves content to a stream or file.

Not all handlers will implement file saving.

bool wxRichTextBuffer::SendEvent | ( | wxEvent & | event,
|  | bool | sendToAll = `true` |
| ) |  |  |

Send event to event handlers.

If sendToAll is true, will send to all event handlers, otherwise will stop at the first successful one.

static void wxRichTextBuffer::SetBulletProportion | ( | float | prop | ) | `[inline, static]`

Sets the factor to multiply by character height to get a reasonable bullet size.

static void wxRichTextBuffer::SetBulletRightMargin | ( | int | margin | ) | `[inline, static]`

Sets the minimum margin between bullet and paragraph in 10ths of a mm.

void wxRichTextBuffer::SetFontTable | ( | const wxRichTextFontTable & | table | ) | `[inline]`

Sets table storing fonts, for quick access and font reuse.

void wxRichTextBuffer::SetHandlerFlags | ( | int | flags | ) | `[inline]`

Sets the handler flags, controlling loading and saving.

static void wxRichTextBuffer::SetRenderer | ( | wxRichTextRenderer * | renderer | ) | `[static]`

Sets 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.

void wxRichTextBuffer::SetScale | ( | double | scale | ) | `[inline]`

Sets the scale factor for calculating dimensions.

void wxRichTextBuffer::SetStyleSheet | ( | wxRichTextStyleSheet * | styleSheet | ) | `[inline]`

Sets style sheet, if any.

This will allow the application to use named character and paragraph styles found in the style sheet.

Neither the buffer nor the control owns the style sheet so must be deleted by the application.

bool wxRichTextBuffer::SetStyleSheetAndNotify | ( | wxRichTextStyleSheet * | sheet | ) |

Sets the style sheet and sends a notification of the change.

virtual bool wxRichTextBuffer::SubmitAction | ( | wxRichTextAction * | action | ) | `[virtual]`

Submit the action immediately, or delay according to whether collapsing is on.

virtual bool wxRichTextBuffer::SuppressingUndo | ( |  | ) | const`[inline, virtual]`

Are we suppressing undo??

## Member Data Documentation

wxList wxRichTextBuffer::m_attributeStack`[protected]`

Stack of attributes for convenience functions.

wxRichTextCommand* wxRichTextBuffer::m_batchedCommand`[protected]`

Current collapsed command accumulating actions.

int wxRichTextBuffer::m_batchedCommandDepth`[protected]`

Collapsed command stack.

wxString wxRichTextBuffer::m_batchedCommandsName`[protected]`

Name for collapsed command.

wxCommandProcessor* wxRichTextBuffer::m_commandProcessor`[protected]`

Command processor.

wxList wxRichTextBuffer::m_eventHandlers`[protected]`

List of event handlers that will be notified of events.

wxRichTextFontTable wxRichTextBuffer::m_fontTable`[protected]`

Table storing fonts.

int wxRichTextBuffer::m_handlerFlags`[protected]`

Flags to be passed to handlers.

bool wxRichTextBuffer::m_modified`[protected]`

Has been modified?

double wxRichTextBuffer::m_scale`[protected]`

Scaling factor in use: needed to calculate correct dimensions when printing.

wxRichTextStyleSheet* wxRichTextBuffer::m_styleSheet`[protected]`

Style sheet, if any.

int wxRichTextBuffer::m_suppressUndo`[protected]`

Whether to suppress undo.

float wxRichTextBuffer::sm_bulletProportion`[static, protected]`

Factor to multiply by character height to get a reasonable bullet size.

int wxRichTextBuffer::sm_bulletRightMargin`[static, protected]`

Minimum margin between bullet and paragraph in 10ths of a mm.

wxList wxRichTextBuffer::sm_handlers`[static, protected]`

File handlers.

wxRichTextRenderer* wxRichTextBuffer::sm_renderer`[static, protected]`

Renderer.

|  | [ top ]