Version: 3.1.0
wxRichTextField Class Reference

#include <wx/richtext/richtextbuffer.h>

+ Inheritance diagram for wxRichTextField:

Detailed Description

This class implements the general concept of a field, an object that represents additional functionality such as a footnote, a bookmark, a page number, a table of contents, and so on.

Extra information (such as a bookmark name) can be stored in the object properties.

Drawing, layout, and property editing is delegated to classes derived from wxRichTextFieldType, such as instances of wxRichTextFieldTypeStandard; this makes the use of fields an efficient method of introducing extra functionality, since most of the information required to draw a field (such as a bitmap) is kept centrally in a single field type definition.

The FieldType property, accessed by SetFieldType/GetFieldType, is used to retrieve the field type definition. So be careful not to overwrite this property.

wxRichTextField is derived from wxRichTextParagraphLayoutBox, which means that it can contain its own read-only content, refreshed when the application calls the UpdateField function. Whether a field is treated as a composite or a single graphic is determined by the field type definition. If using wxRichTextFieldTypeStandard, passing the display type wxRICHTEXT_FIELD_STYLE_COMPOSITE to the field type definition causes the field to behave like a composite; the other display styles display a simple graphic. When implementing a composite field, you will still need to derive from wxRichTextFieldTypeStandard or wxRichTextFieldType, if only to implement UpdateField to refresh the field content appropriately. wxRichTextFieldTypeStandard is only one possible implementation, but covers common needs especially for simple, static fields using text or a bitmap.

Register field types on application initialisation with the static function wxRichTextBuffer::AddFieldType. They will be deleted automatically on application exit.

An application can write a field to a control with wxRichTextCtrl::WriteField, taking a field type, the properties for the field, and optional attributes.

Library:  wxRichText
Category:  Rich Text
See also
wxRichTextFieldTypeStandard, wxRichTextFieldType, wxRichTextParagraphLayoutBox, wxRichTextProperties, wxRichTextCtrl

Public Member Functions

 wxRichTextField (const wxString &fieldType=wxEmptyString, wxRichTextObject *parent=NULL)
 Default constructor; optionally pass the parent object. More...
 
 wxRichTextField (const wxRichTextField &obj)
 Copy constructor. More...
 
virtual bool Draw (wxDC &dc, wxRichTextDrawingContext &context, const wxRichTextRange &range, const wxRichTextSelection &selection, const wxRect &rect, int descent, int style)
 Draw the item, within the given range. More...
 
virtual bool Layout (wxDC &dc, wxRichTextDrawingContext &context, const wxRect &rect, const wxRect &parentRect, int style)
 Lay the item out at the specified position with the given size constraint. More...
 
virtual bool GetRangeSize (const wxRichTextRange &range, wxSize &size, int &descent, wxDC &dc, wxRichTextDrawingContext &context, int flags, const wxPoint &position=wxPoint(0, 0), const wxSize &parentSize=wxDefaultSize, wxArrayInt *partialExtents=NULL) const
 Returns the object size for the given range. More...
 
virtual wxString GetXMLNodeName () const
 Returns the XML node name of this object. More...
 
virtual bool CanEditProperties () const
 Returns true if we can edit the object's properties via a GUI. More...
 
virtual bool EditProperties (wxWindow *parent, wxRichTextBuffer *buffer)
 Edits the object's properties via a GUI. More...
 
virtual wxString GetPropertiesMenuLabel () const
 Returns the label to be used for the properties context menu item. More...
 
virtual bool AcceptsFocus () const
 Returns true if objects of this class can accept the focus, i.e. a call to SetFocusObject is possible. More...
 
virtual void CalculateRange (long start, long &end)
 Calculates the range of the object. More...
 
virtual bool IsAtomic () const
 If a field has children, we don't want the user to be able to edit it. More...
 
virtual bool IsEmpty () const
 Returns true if the buffer is empty. More...
 
virtual bool IsTopLevel () const
 Returns true if this object is top-level, i.e. contains its own paragraphs, such as a text box. More...
 
void SetFieldType (const wxString &fieldType)
 
wxString GetFieldType () const
 
virtual bool UpdateField (wxRichTextBuffer *buffer)
 Update the field; delegated to the associated field type. More...
 
virtual wxRichTextObjectClone () const
 Clones the object. More...
 
void Copy (const wxRichTextField &obj)
 
- Public Member Functions inherited from wxRichTextParagraphLayoutBox
 wxRichTextParagraphLayoutBox (wxRichTextObject *parent=NULL)
 
 wxRichTextParagraphLayoutBox (const wxRichTextParagraphLayoutBox &obj)
 
 ~wxRichTextParagraphLayoutBox ()
 
virtual int HitTest (wxDC &dc, wxRichTextDrawingContext &context, 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. More...
 
virtual bool DeleteRange (const wxRichTextRange &range)
 Deletes the given range. More...
 
virtual wxString GetTextForRange (const wxRichTextRange &range) const
 Returns any text in this object for the given range. More...
 
virtual bool ImportFromXML (wxRichTextBuffer *buffer, wxXmlNode *node, wxRichTextXMLHandler *handler, bool *recurse)
 Imports this object from XML. More...
 
void SetRichTextCtrl (wxRichTextCtrl *ctrl)
 Associates a control with the buffer, for operations that for example require refreshing the window. More...
 
wxRichTextCtrlGetRichTextCtrl () const
 Returns the associated control. More...
 
void SetPartialParagraph (bool partialPara)
 Sets a flag indicating whether the last paragraph is partial or complete. More...
 
bool GetPartialParagraph () const
 Returns a flag indicating whether the last paragraph is partial or complete. More...
 
virtual wxRichTextStyleSheetGetStyleSheet () const
 Returns the style sheet associated with the overall buffer. More...
 
bool InsertParagraphsWithUndo (wxRichTextBuffer *buffer, long pos, const wxRichTextParagraphLayoutBox &paragraphs, wxRichTextCtrl *ctrl, int flags=0)
 Submits a command to insert paragraphs. More...
 
bool InsertTextWithUndo (wxRichTextBuffer *buffer, long pos, const wxString &text, wxRichTextCtrl *ctrl, int flags=0)
 Submits a command to insert the given text. More...
 
bool InsertNewlineWithUndo (wxRichTextBuffer *buffer, long pos, wxRichTextCtrl *ctrl, int flags=0)
 Submits a command to insert the given text. More...
 
bool InsertImageWithUndo (wxRichTextBuffer *buffer, long pos, const wxRichTextImageBlock &imageBlock, wxRichTextCtrl *ctrl, int flags, const wxRichTextAttr &textAttr)
 Submits a command to insert the given image. More...
 
wxRichTextFieldInsertFieldWithUndo (wxRichTextBuffer *buffer, long pos, const wxString &fieldType, const wxRichTextProperties &properties, wxRichTextCtrl *ctrl, int flags, const wxRichTextAttr &textAttr)
 Submits a command to insert the given field. More...
 
wxRichTextAttr GetStyleForNewParagraph (wxRichTextBuffer *buffer, long pos, bool caretPosition=false, bool lookUpNewParaStyle=false) const
 Returns the style that is appropriate for a new paragraph at this position. More...
 
wxRichTextObjectInsertObjectWithUndo (wxRichTextBuffer *buffer, long pos, wxRichTextObject *object, wxRichTextCtrl *ctrl, int flags=0)
 Inserts an object. More...
 
bool DeleteRangeWithUndo (const wxRichTextRange &range, wxRichTextCtrl *ctrl, wxRichTextBuffer *buffer)
 Submits a command to delete this range. More...
 
void DrawFloats (wxDC &dc, wxRichTextDrawingContext &context, const wxRichTextRange &range, const wxRichTextSelection &selection, const wxRect &rect, int descent, int style)
 Draws the floating objects in this buffer. More...
 
void MoveAnchoredObjectToParagraph (wxRichTextParagraph *from, wxRichTextParagraph *to, wxRichTextObject *obj)
 Moves an anchored object to another paragraph. More...
 
void Init ()
 Initializes the object. More...
 
virtual void Clear ()
 Clears all the children. More...
 
virtual void Reset ()
 Clears and initializes with one blank paragraph. More...
 
virtual wxRichTextRange AddParagraph (const wxString &text, wxRichTextAttr *paraStyle=NULL)
 Convenience function to add a paragraph of text. More...
 
virtual wxRichTextRange AddImage (const wxImage &image, wxRichTextAttr *paraStyle=NULL)
 Convenience function to add an image. More...
 
virtual wxRichTextRange AddParagraphs (const wxString &text, wxRichTextAttr *paraStyle=NULL)
 Adds multiple paragraphs, based on newlines. More...
 
virtual wxRichTextLineGetLineAtPosition (long pos, bool caretPosition=false) const
 Returns the line at the given position. More...
 
virtual wxRichTextLineGetLineAtYPosition (int y) const
 Returns the line at the given y pixel position, or the last line. More...
 
virtual wxRichTextParagraphGetParagraphAtPosition (long pos, bool caretPosition=false) const
 Returns the paragraph at the given character or caret position. More...
 
virtual wxSize GetLineSizeAtPosition (long pos, bool caretPosition=false) const
 Returns the line size at the given position. More...
 
virtual long GetVisibleLineNumber (long pos, bool caretPosition=false, bool startOfLine=false) const
 Given a position, returns the number of the visible line (potentially many to a paragraph), starting from zero at the start of the buffer. More...
 
virtual wxRichTextLineGetLineForVisibleLineNumber (long lineNumber) const
 Given a line number, returns the corresponding wxRichTextLine object. More...
 
virtual wxRichTextObjectGetLeafObjectAtPosition (long position) const
 Returns the leaf object in a paragraph at this position. More...
 
virtual wxRichTextParagraphGetParagraphAtLine (long paragraphNumber) const
 Returns the paragraph by number. More...
 
virtual wxRichTextParagraphGetParagraphForLine (wxRichTextLine *line) const
 Returns the paragraph for a given line. More...
 
virtual int GetParagraphLength (long paragraphNumber) const
 Returns the length of the paragraph. More...
 
virtual int GetParagraphCount () const
 Returns the number of paragraphs. More...
 
virtual int GetLineCount () const
 Returns the number of visible lines. More...
 
virtual wxString GetParagraphText (long paragraphNumber) const
 Returns the text of the paragraph. More...
 
virtual long XYToPosition (long x, long y) const
 Converts zero-based line column and paragraph number to a position. More...
 
virtual bool PositionToXY (long pos, long *x, long *y) const
 Converts a zero-based position to line column and paragraph number. More...
 
virtual bool SetStyle (const wxRichTextRange &range, const wxRichTextAttr &style, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO)
 Sets the attributes for the given range. More...
 
virtual void SetStyle (wxRichTextObject *obj, const wxRichTextAttr &textAttr, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO)
 Sets the attributes for the given object only, for example the box attributes for a text box. More...
 
virtual bool GetStyle (long position, wxRichTextAttr &style)
 Returns the combined text attributes for this position. More...
 
virtual bool GetUncombinedStyle (long position, wxRichTextAttr &style)
 Returns the content (uncombined) attributes for this position. More...
 
virtual bool DoGetStyle (long position, wxRichTextAttr &style, bool combineStyles=true)
 Implementation helper for GetStyle. More...
 
virtual bool GetStyleForRange (const wxRichTextRange &range, wxRichTextAttr &style)
 This function gets a style representing the common, combined attributes in the given range. More...
 
bool CollectStyle (wxRichTextAttr &currentStyle, const wxRichTextAttr &style, wxRichTextAttr &clashingAttr, wxRichTextAttr &absentAttr)
 Combines style with currentStyle for the purpose of summarising the attributes of a range of content. More...
 
virtual bool ClearListStyle (const wxRichTextRange &range, 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. More...
 
virtual bool DoNumberList (const wxRichTextRange &range, const wxRichTextRange &promotionRange, int promoteBy, wxRichTextListStyleDefinition *def, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom=1, int specifiedLevel=-1)
 Helper for NumberList and PromoteList, that does renumbering and promotion simultaneously def can be NULL/empty to indicate that the existing list style should be used. More...
 
virtual bool FindNextParagraphNumber (wxRichTextParagraph *previousParagraph, wxRichTextAttr &attr) const
 Fills in the attributes for numbering a paragraph after previousParagraph. More...
 
virtual bool SetProperties (const wxRichTextRange &range, const wxRichTextProperties &properties, int flags=wxRICHTEXT_SETPROPERTIES_WITH_UNDO)
 Sets the properties for the given range, passing flags to determine how the attributes are set. More...
 
virtual bool SetObjectPropertiesWithUndo (wxRichTextObject &obj, const wxRichTextProperties &properties, wxRichTextObject *objToSet=NULL)
 Sets with undo the properties for the given object. More...
 
virtual bool HasCharacterAttributes (const wxRichTextRange &range, const wxRichTextAttr &style) const
 Test if this whole range has character attributes of the specified kind. More...
 
virtual bool HasParagraphAttributes (const wxRichTextRange &range, const wxRichTextAttr &style) const
 Test if this whole range has paragraph attributes of the specified kind. More...
 
virtual void PrepareContent (wxRichTextParagraphLayoutBox &container)
 Prepares the content just before insertion (or after buffer reset). More...
 
virtual bool InsertFragment (long position, wxRichTextParagraphLayoutBox &fragment)
 Insert fragment into this box at the given position. More...
 
virtual bool CopyFragment (const wxRichTextRange &range, wxRichTextParagraphLayoutBox &fragment)
 Make a copy of the fragment corresponding to the given range, putting it in fragment. More...
 
virtual bool ApplyStyleSheet (wxRichTextStyleSheet *styleSheet)
 Apply the style sheet to the buffer, for example if the styles have changed. More...
 
void Copy (const wxRichTextParagraphLayoutBox &obj)
 
void operator= (const wxRichTextParagraphLayoutBox &obj)
 
virtual void UpdateRanges ()
 Calculate ranges. More...
 
virtual wxString GetText () const
 Get all the text. More...
 
virtual bool SetDefaultStyle (const wxRichTextAttr &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). More...
 
virtual const wxRichTextAttrGetDefaultStyle () const
 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). More...
 
virtual void SetBasicStyle (const wxRichTextAttr &style)
 Sets the basic (overall) style. More...
 
virtual const wxRichTextAttrGetBasicStyle () const
 Returns the basic (overall) style. More...
 
virtual void Invalidate (const wxRichTextRange &invalidRange=wxRICHTEXT_ALL)
 Invalidates the buffer. More...
 
virtual void DoInvalidate (const wxRichTextRange &invalidRange)
 Do the (in)validation for this object only. More...
 
virtual void InvalidateHierarchy (const wxRichTextRange &invalidRange=wxRICHTEXT_ALL)
 Do the (in)validation both up and down the hierarchy. More...
 
virtual bool UpdateFloatingObjects (const wxRect &availableRect, wxRichTextObject *untilObj=NULL)
 Gather information about floating objects. More...
 
wxRichTextRange GetInvalidRange (bool wholeParagraphs=false) const
 Get invalid range, rounding to entire paragraphs if argument is true. More...
 
bool IsDirty () const
 Returns true if this object needs layout. More...
 
wxRichTextFloatCollector * GetFloatCollector ()
 Returns the wxRichTextFloatCollector of this object. More...
 
int GetFloatingObjectCount () const
 Returns the number of floating objects at this level. More...
 
bool GetFloatingObjects (wxRichTextObjectList &objects) const
 Returns a list of floating objects. More...
 
virtual bool SetListStyle (const wxRichTextRange &range, wxRichTextListStyleDefinition *def, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom=1, int specifiedLevel=-1)
 Sets the list attributes for the given range, passing flags to determine how the attributes are set. More...
 
virtual bool SetListStyle (const wxRichTextRange &range, const wxString &defName, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom=1, int specifiedLevel=-1)
 Sets the list attributes for the given range, passing flags to determine how the attributes are set. More...
 
virtual bool NumberList (const wxRichTextRange &range, wxRichTextListStyleDefinition *def=NULL, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom=1, int specifiedLevel=-1)
 Numbers the paragraphs in the given range. More...
 
virtual bool NumberList (const wxRichTextRange &range, const wxString &defName, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int startFrom=1, int specifiedLevel=-1)
 Numbers the paragraphs in the given range. More...
 
virtual bool PromoteList (int promoteBy, const wxRichTextRange &range, wxRichTextListStyleDefinition *def=NULL, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel=-1)
 Promotes the list items within the given range. More...
 
virtual bool PromoteList (int promoteBy, const wxRichTextRange &range, const wxString &defName, int flags=wxRICHTEXT_SETSTYLE_WITH_UNDO, int specifiedLevel=-1)
 Promotes the list items within the given range. More...
 
- Public Member Functions inherited from wxRichTextCompositeObject
 wxRichTextCompositeObject (wxRichTextObject *parent=NULL)
 
virtual ~wxRichTextCompositeObject ()
 
virtual bool FindPosition (wxDC &dc, wxRichTextDrawingContext &context, long index, wxPoint &pt, int *height, bool forceLineStart)
 Finds the absolute position and row height for the given character position. More...
 
virtual void Dump (wxTextOutputStream &stream)
 Dump object data to the given output stream for debugging. More...
 
wxRichTextObjectList & GetChildren ()
 Returns the children. More...
 
const wxRichTextObjectList & GetChildren () const
 Returns the children. More...
 
size_t GetChildCount () const
 Returns the number of children. More...
 
wxRichTextObjectGetChild (size_t n) const
 Returns the nth child. More...
 
virtual bool IsComposite () const
 Returns true if this object is composite. More...
 
virtual wxRichTextObjectGetChildAtPosition (long pos) const
 Returns the child object at the given character position. More...
 
void Copy (const wxRichTextCompositeObject &obj)
 
void operator= (const wxRichTextCompositeObject &obj)
 
size_t AppendChild (wxRichTextObject *child)
 Appends a child, returning the position. More...
 
bool InsertChild (wxRichTextObject *child, wxRichTextObject *inFrontOf)
 Inserts the child in front of the given object, or at the beginning. More...
 
bool RemoveChild (wxRichTextObject *child, bool deleteChild=false)
 Removes and optionally deletes the specified child. More...
 
bool DeleteChildren ()
 Deletes all the children. More...
 
bool Defragment (wxRichTextDrawingContext &context, const wxRichTextRange &range=wxRICHTEXT_ALL)
 Recursively merges all pieces that can be merged. More...
 
virtual void Move (const wxPoint &pt)
 Moves the object recursively, by adding the offset from old to new. More...
 
- Public Member Functions inherited from wxRichTextObject
 wxRichTextObject (wxRichTextObject *parent=NULL)
 Constructor, taking an optional parent pointer. More...
 
virtual ~wxRichTextObject ()
 
virtual wxSize GetBestSize () const
 Returns the best size, i.e. the ideal starting size for this object irrespective of available space. More...
 
virtual wxRichTextObjectDoSplit (long pos)
 Do a split from pos, returning an object containing the second part, and setting the first part in 'this'. More...
 
virtual bool IsFloatable () const
 Returns true if this class of object is floatable. More...
 
virtual bool IsFloating () const
 Returns true if this object is currently floating. More...
 
virtual int GetFloatDirection () const
 Returns the floating direction. More...
 
virtual bool CanMerge (wxRichTextObject *object, wxRichTextDrawingContext &context) const
 Returns true if this object can merge itself with the given one. More...
 
virtual bool Merge (wxRichTextObject *object, wxRichTextDrawingContext &context)
 Returns true if this object merged itself with the given one. More...
 
virtual bool CanSplit (wxRichTextDrawingContext &context) const
 Returns true if this object can potentially be split, by virtue of having different virtual attributes for individual sub-objects. More...
 
virtual wxRichTextObjectSplit (wxRichTextDrawingContext &context)
 Returns the final object in the split objects if this object was split due to differences between sub-object virtual attributes. More...
 
virtual bool UsesParagraphAttributes () const
 Returns true if this object takes note of paragraph attributes (text and image objects don't). More...
 
virtual bool HandlesChildSelections () const
 Returns true if this object can handle the selections of its children, fOr example a table. More...
 
virtual wxRichTextSelection GetSelection (long start, long end) const
 Returns a selection object specifying the selections between start and end character positions. More...
 
virtual wxSize GetCachedSize () const
 Gets the cached object size as calculated by Layout. More...
 
virtual void SetCachedSize (const wxSize &sz)
 Sets the cached object size as calculated by Layout. More...
 
virtual wxSize GetMaxSize () const
 Gets the maximum object size as calculated by Layout. More...
 
virtual void SetMaxSize (const wxSize &sz)
 Sets the maximum object size as calculated by Layout. More...
 
virtual wxSize GetMinSize () const
 Gets the minimum object size as calculated by Layout. More...
 
virtual void SetMinSize (const wxSize &sz)
 Sets the minimum object size as calculated by Layout. More...
 
virtual wxTextAttrSize GetNaturalSize () const
 Gets the 'natural' size for an object. More...
 
virtual wxPoint GetPosition () const
 Returns the object position in pixels. More...
 
virtual void SetPosition (const wxPoint &pos)
 Sets the object position in pixels. More...
 
virtual wxPoint GetAbsolutePosition () const
 Returns the absolute object position, by traversing up the child/parent hierarchy. More...
 
virtual wxRect GetRect () const
 Returns the rectangle enclosing the object. More...
 
void SetRange (const wxRichTextRange &range)
 Sets the object's range within its container. More...
 
const wxRichTextRangeGetRange () const
 Returns the object's range. More...
 
wxRichTextRangeGetRange ()
 Returns the object's range. More...
 
void SetOwnRange (const wxRichTextRange &range)
 Set the object's own range, for a top-level object with its own position space. More...
 
const wxRichTextRangeGetOwnRange () const
 Returns the object's own range (valid if top-level). More...
 
wxRichTextRangeGetOwnRange ()
 Returns the object's own range (valid if top-level). More...
 
wxRichTextRange GetOwnRangeIfTopLevel () const
 Returns the object's own range only if a top-level object. More...
 
virtual wxRichTextObjectGetParent () const
 Returns a pointer to the parent object. More...
 
virtual void SetParent (wxRichTextObject *parent)
 Sets the pointer to the parent object. More...
 
virtual
wxRichTextParagraphLayoutBox
GetContainer () const
 Returns the top-level container of this object. More...
 
virtual
wxRichTextParagraphLayoutBox
GetParentContainer () const
 Returns the top-level container of this object. More...
 
virtual void SetMargins (int margin)
 Set the margin around the object, in pixels. More...
 
virtual void SetMargins (int leftMargin, int rightMargin, int topMargin, int bottomMargin)
 Set the margin around the object, in pixels. More...
 
virtual int GetLeftMargin () const
 Returns the left margin of the object, in pixels. More...
 
virtual int GetRightMargin () const
 Returns the right margin of the object, in pixels. More...
 
virtual int GetTopMargin () const
 Returns the top margin of the object, in pixels. More...
 
virtual int GetBottomMargin () const
 Returns the bottom margin of the object, in pixels. More...
 
virtual wxRect GetAvailableContentArea (wxDC &dc, wxRichTextDrawingContext &context, const wxRect &outerRect) const
 Calculates the available content space in the given rectangle, given the margins, border and padding specified in the object's attributes. More...
 
virtual bool LayoutToBestSize (wxDC &dc, wxRichTextDrawingContext &context, wxRichTextBuffer *buffer, const wxRichTextAttr &parentAttr, const wxRichTextAttr &attr, const wxRect &availableParentSpace, const wxRect &availableContainerSpace, int style)
 Lays out the object first with a given amount of space, and then if no width was specified in attr, lays out the object again using the minimum size. More...
 
virtual bool AdjustAttributes (wxRichTextAttr &attr, wxRichTextDrawingContext &context)
 Adjusts the attributes for virtual attribute provision, collapsed borders, etc. More...
 
void SetAttributes (const wxRichTextAttr &attr)
 Sets the object's attributes. More...
 
const wxRichTextAttrGetAttributes () const
 Returns the object's attributes. More...
 
wxRichTextAttrGetAttributes ()
 Returns the object's attributes. More...
 
wxRichTextPropertiesGetProperties ()
 Returns the object's properties. More...
 
const wxRichTextPropertiesGetProperties () const
 Returns the object's properties. More...
 
void SetProperties (const wxRichTextProperties &props)
 Sets the object's properties. More...
 
void SetDescent (int descent)
 Sets the stored descent value. More...
 
int GetDescent () const
 Returns the stored descent value. More...
 
wxRichTextBufferGetBuffer () const
 Returns the containing buffer. More...
 
void SetName (const wxString &name)
 Sets the identifying name for this object as a property using the "name" key. More...
 
wxString GetName () const
 Returns the identifying name for this object from the properties, using the "name" key. More...
 
bool IsShown () const
 Returns true if the object will be shown, false otherwise. More...
 
virtual void Show (bool show)
 Call to show or hide this object. More...
 
void Copy (const wxRichTextObject &obj)
 Copies the object. More...
 
void Reference ()
 Reference-counting allows us to use the same object in multiple lists (not yet used). More...
 
void Dereference ()
 Reference-counting allows us to use the same object in multiple lists (not yet used). More...
 
int ConvertTenthsMMToPixels (wxDC &dc, int units) const
 Converts units in tenths of a millimetre to device units. More...
 
int ConvertPixelsToTenthsMM (wxDC &dc, int pixels) const
 Convert units in pixels to tenths of a millimetre. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to NULL the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. More...
 
void * operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from wxRichTextObject
static int ConvertTenthsMMToPixels (int ppi, int units, double scale=1.0)
 Converts units in tenths of a millimetre to device units. More...
 
static int ConvertPixelsToTenthsMM (int ppi, int pixels, double scale=1.0)
 Convert units in pixels to tenths of a millimetre. More...
 
static bool DrawBoxAttributes (wxDC &dc, wxRichTextBuffer *buffer, const wxRichTextAttr &attr, const wxRect &boxRect, int flags=0, wxRichTextObject *obj=NULL)
 Draws the borders and background for the given rectangle and attributes. More...
 
static bool DrawBorder (wxDC &dc, wxRichTextBuffer *buffer, const wxRichTextAttr &attr, const wxTextAttrBorders &borders, const wxRect &rect, int flags=0)
 Draws a border. More...
 
static bool GetBoxRects (wxDC &dc, wxRichTextBuffer *buffer, const wxRichTextAttr &attr, wxRect &marginRect, wxRect &borderRect, wxRect &contentRect, wxRect &paddingRect, wxRect &outlineRect)
 Returns the various rectangles of the box model in pixels. More...
 
static bool GetTotalMargin (wxDC &dc, wxRichTextBuffer *buffer, const wxRichTextAttr &attr, int &leftMargin, int &rightMargin, int &topMargin, int &bottomMargin)
 Returns the total margin for the object in pixels, taking into account margin, padding and border size. More...
 
static wxRect AdjustAvailableSpace (wxDC &dc, wxRichTextBuffer *buffer, const wxRichTextAttr &parentAttr, const wxRichTextAttr &childAttr, const wxRect &availableParentSpace, const wxRect &availableContainerSpace)
 Returns the rectangle which the child has available to it given restrictions specified in the child attribute, e.g. More...
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxRichTextParagraphLayoutBox
wxRichTextCtrlm_ctrl
 
wxRichTextAttr m_defaultAttributes
 
wxRichTextRange m_invalidRange
 
bool m_partialParagraph
 
wxRichTextFloatCollector * m_floatCollector
 
- Protected Attributes inherited from wxRichTextCompositeObject
wxRichTextObjectList m_children
 
- Protected Attributes inherited from wxRichTextObject
wxSize m_size
 
wxSize m_maxSize
 
wxSize m_minSize
 
wxPoint m_pos
 
int m_descent
 
int m_refCount
 
bool m_show
 
wxRichTextObjectm_parent
 
wxRichTextRange m_range
 
wxRichTextRange m_ownRange
 
wxRichTextAttr m_attributes
 
wxRichTextProperties m_properties
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

wxRichTextField::wxRichTextField ( const wxString fieldType = wxEmptyString,
wxRichTextObject parent = NULL 
)

Default constructor; optionally pass the parent object.

wxRichTextField::wxRichTextField ( const wxRichTextField obj)
inline

Copy constructor.

Member Function Documentation

virtual bool wxRichTextField::AcceptsFocus ( ) const
inlinevirtual

Returns true if objects of this class can accept the focus, i.e. a call to SetFocusObject is possible.

For example, containers supporting text, such as a text box object, can accept the focus, but a table can't (set the focus to individual cells instead).

Reimplemented from wxRichTextParagraphLayoutBox.

virtual void wxRichTextField::CalculateRange ( long  start,
long &  end 
)
virtual

Calculates the range of the object.

By default, guess that the object is 1 unit long.

Reimplemented from wxRichTextCompositeObject.

virtual bool wxRichTextField::CanEditProperties ( ) const
virtual

Returns true if we can edit the object's properties via a GUI.

Reimplemented from wxRichTextObject.

virtual wxRichTextObject* wxRichTextField::Clone ( ) const
inlinevirtual

Clones the object.

Reimplemented from wxRichTextParagraphLayoutBox.

void wxRichTextField::Copy ( const wxRichTextField obj)
virtual bool wxRichTextField::Draw ( wxDC dc,
wxRichTextDrawingContext context,
const wxRichTextRange range,
const wxRichTextSelection selection,
const wxRect rect,
int  descent,
int  style 
)
virtual

Draw the item, within the given range.

Some objects may ignore the range (for example paragraphs) while others must obey it (lines, to implement wrapping)

Reimplemented from wxRichTextParagraphLayoutBox.

virtual bool wxRichTextField::EditProperties ( wxWindow parent,
wxRichTextBuffer buffer 
)
virtual

Edits the object's properties via a GUI.

Reimplemented from wxRichTextObject.

wxString wxRichTextField::GetFieldType ( ) const
inline
virtual wxString wxRichTextField::GetPropertiesMenuLabel ( ) const
virtual

Returns the label to be used for the properties context menu item.

Reimplemented from wxRichTextObject.

virtual bool wxRichTextField::GetRangeSize ( const wxRichTextRange range,
wxSize size,
int &  descent,
wxDC dc,
wxRichTextDrawingContext context,
int  flags,
const wxPoint position = wxPoint(0, 0),
const wxSize parentSize = wxDefaultSize,
wxArrayInt partialExtents = NULL 
) const
virtual

Returns the object size for the given range.

Returns false if the range is invalid for this object.

Reimplemented from wxRichTextParagraphLayoutBox.

virtual wxString wxRichTextField::GetXMLNodeName ( ) const
inlinevirtual

Returns the XML node name of this object.

This must be overridden for wxXmlNode-base XML export to work.

Reimplemented from wxRichTextParagraphLayoutBox.

virtual bool wxRichTextField::IsAtomic ( ) const
inlinevirtual

If a field has children, we don't want the user to be able to edit it.

Reimplemented from wxRichTextCompositeObject.

virtual bool wxRichTextField::IsEmpty ( ) const
inlinevirtual

Returns true if the buffer is empty.

Reimplemented from wxRichTextCompositeObject.

virtual bool wxRichTextField::IsTopLevel ( ) const
virtual

Returns true if this object is top-level, i.e. contains its own paragraphs, such as a text box.

Reimplemented from wxRichTextParagraphLayoutBox.

virtual bool wxRichTextField::Layout ( wxDC dc,
wxRichTextDrawingContext context,
const wxRect rect,
const wxRect parentRect,
int  style 
)
virtual

Lay the item out at the specified position with the given size constraint.

Layout must set the cached size. rect is the available space for the object, and parentRect is the container that is used to determine a relative size or position (for example if a text box must be 50% of the parent text box).

Reimplemented from wxRichTextParagraphLayoutBox.

void wxRichTextField::SetFieldType ( const wxString fieldType)
inline
virtual bool wxRichTextField::UpdateField ( wxRichTextBuffer buffer)
virtual

Update the field; delegated to the associated field type.

This would typically expand the field to its value, if this is a dynamically changing and/or composite field.