.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. _wx.richtext.RichTextObject:
==========================================================================================================================================
|phoenix_title| **wx.richtext.RichTextObject**
==========================================================================================================================================
This is the base for drawable rich text objects.
.. seealso:: :ref:`wx.richtext.RichTextBuffer`, :ref:`wx.richtext.RichTextCtrl`
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
RichTextObject:
|
|sub_classes| Known Subclasses
==============================
:ref:`wx.richtext.RichTextCompositeObject`, :ref:`wx.richtext.RichTextImage`, :ref:`wx.richtext.RichTextPlainText`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.richtext.RichTextObject.__init__` Constructor, taking an optional parent pointer.
:meth:`~wx.richtext.RichTextObject.AcceptsFocus` Returns ``True`` if objects of this class can accept the focus, i.e. a call to SetFocusObject is possible.
:meth:`~wx.richtext.RichTextObject.AdjustAttributes` Adjusts the attributes for virtual attribute provision, collapsed borders, etc.
:meth:`~wx.richtext.RichTextObject.AdjustAvailableSpace` Returns the rectangle which the child has available to it given restrictions specified in the child attribute, e.g.
:meth:`~wx.richtext.RichTextObject.CalculateRange` Calculates the range of the object.
:meth:`~wx.richtext.RichTextObject.CanEditProperties` Returns ``True`` if we can edit the object's properties via a GUI.
:meth:`~wx.richtext.RichTextObject.CanMerge` Returns ``True`` if this object can merge itself with the given one.
:meth:`~wx.richtext.RichTextObject.CanSplit` Returns ``True`` if this object can potentially be split, by virtue of having different virtual attributes for individual sub-objects.
:meth:`~wx.richtext.RichTextObject.Clone` Clones the object.
:meth:`~wx.richtext.RichTextObject.ConvertPixelsToTenthsMM` Convert units in pixels to tenths of a millimetre.
:meth:`~wx.richtext.RichTextObject.ConvertTenthsMMToPixels` Converts units in tenths of a millimetre to device units.
:meth:`~wx.richtext.RichTextObject.Copy` Copies the object.
:meth:`~wx.richtext.RichTextObject.DeleteRange` Deletes the given range.
:meth:`~wx.richtext.RichTextObject.Dereference` Reference-counting allows us to use the same object in multiple lists (not yet used).
:meth:`~wx.richtext.RichTextObject.DoSplit` Do a split from `pos`, returning an object containing the second part, and setting the first part in 'this'.
:meth:`~wx.richtext.RichTextObject.Draw` Draw the item, within the given range.
:meth:`~wx.richtext.RichTextObject.DrawBorder` Draws a border.
:meth:`~wx.richtext.RichTextObject.DrawBoxAttributes` Draws the borders and background for the given rectangle and attributes.
:meth:`~wx.richtext.RichTextObject.EditProperties` Edits the object's properties via a GUI.
:meth:`~wx.richtext.RichTextObject.FindPosition` Finds the absolute position and row height for the given character position.
:meth:`~wx.richtext.RichTextObject.GetAbsolutePosition` Returns the absolute object position, by traversing up the child/parent hierarchy.
:meth:`~wx.richtext.RichTextObject.GetAttributes` Returns the object's attributes.
:meth:`~wx.richtext.RichTextObject.GetAvailableContentArea` Calculates the available content space in the given rectangle, given the margins, border and padding specified in the object's attributes.
:meth:`~wx.richtext.RichTextObject.GetBestSize` Returns the best size, i.e. the ideal starting size for this object irrespective of available space.
:meth:`~wx.richtext.RichTextObject.GetBottomMargin` Returns the bottom margin of the object, in pixels.
:meth:`~wx.richtext.RichTextObject.GetBoxRects` Returns the various rectangles of the box model in pixels.
:meth:`~wx.richtext.RichTextObject.GetBuffer` Returns the containing buffer.
:meth:`~wx.richtext.RichTextObject.GetCachedSize` Gets the cached object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.GetContainer` Returns the top-level container of this object.
:meth:`~wx.richtext.RichTextObject.GetDescent` Returns the stored descent value.
:meth:`~wx.richtext.RichTextObject.GetFloatDirection` Returns the floating direction.
:meth:`~wx.richtext.RichTextObject.GetLeftMargin` Returns the left margin of the object, in pixels.
:meth:`~wx.richtext.RichTextObject.GetMaxSize` Gets the maximum object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.GetMinSize` Gets the minimum object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.GetName` Returns the identifying name for this object from the properties, using the "name" key.
:meth:`~wx.richtext.RichTextObject.GetNaturalSize` Gets the 'natural' size for an object.
:meth:`~wx.richtext.RichTextObject.GetOwnRange` Returns the object's own range (valid if top-level).
:meth:`~wx.richtext.RichTextObject.GetOwnRangeIfTopLevel` Returns the object's own range only if a top-level object.
:meth:`~wx.richtext.RichTextObject.GetParent` Returns a pointer to the parent object.
:meth:`~wx.richtext.RichTextObject.GetParentContainer` Returns the top-level container of this object.
:meth:`~wx.richtext.RichTextObject.GetPosition` Returns the object position in pixels.
:meth:`~wx.richtext.RichTextObject.GetProperties` Returns the object's properties.
:meth:`~wx.richtext.RichTextObject.GetPropertiesMenuLabel` Returns the label to be used for the properties context menu item.
:meth:`~wx.richtext.RichTextObject.GetRange` Returns the object's range.
:meth:`~wx.richtext.RichTextObject.GetRangeSize` Returns the object size for the given range.
:meth:`~wx.richtext.RichTextObject.GetRect` Returns the rectangle enclosing the object.
:meth:`~wx.richtext.RichTextObject.GetRightMargin` Returns the right margin of the object, in pixels.
:meth:`~wx.richtext.RichTextObject.GetSelection` Returns a selection object specifying the selections between start and end character positions.
:meth:`~wx.richtext.RichTextObject.GetTextForRange` Returns any text in this object for the given range.
:meth:`~wx.richtext.RichTextObject.GetTopMargin` Returns the top margin of the object, in pixels.
:meth:`~wx.richtext.RichTextObject.GetTotalMargin` Returns the total margin for the object in pixels, taking into account margin, padding and border size.
:meth:`~wx.richtext.RichTextObject.GetXMLNodeName` Returns the ``XML`` node name of this object.
:meth:`~wx.richtext.RichTextObject.HandlesChildSelections` Returns ``True`` if this object can handle the selections of its children, fOr example a table.
:meth:`~wx.richtext.RichTextObject.HitTest` Hit-testing: returns a flag indicating hit test details, plus information about position.
:meth:`~wx.richtext.RichTextObject.ImportFromXML` Imports this object from ``XML``.
:meth:`~wx.richtext.RichTextObject.Invalidate` Invalidates the object at the given range.
:meth:`~wx.richtext.RichTextObject.IsAtomic` Returns ``True`` if no user editing can be done inside the object.
:meth:`~wx.richtext.RichTextObject.IsComposite` Returns ``True`` if this object is composite.
:meth:`~wx.richtext.RichTextObject.IsEmpty` Returns ``True`` if the object is empty.
:meth:`~wx.richtext.RichTextObject.IsFloatable` Returns ``True`` if this class of object is floatable.
:meth:`~wx.richtext.RichTextObject.IsFloating` Returns ``True`` if this object is currently floating.
:meth:`~wx.richtext.RichTextObject.IsShown` Returns ``True`` if the object will be shown, ``False`` otherwise.
:meth:`~wx.richtext.RichTextObject.IsTopLevel` Returns ``True`` if this object is top-level, i.e. contains its own paragraphs, such as a text box.
:meth:`~wx.richtext.RichTextObject.Layout` Lay the item out at the specified position with the given size constraint.
:meth:`~wx.richtext.RichTextObject.LayoutToBestSize` 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.
:meth:`~wx.richtext.RichTextObject.Merge` Returns ``True`` if this object merged itself with the given one.
:meth:`~wx.richtext.RichTextObject.Move` Moves the object recursively, by adding the offset from old to new.
:meth:`~wx.richtext.RichTextObject.Reference` Reference-counting allows us to use the same object in multiple lists (not yet used).
:meth:`~wx.richtext.RichTextObject.SetAttributes` Sets the object's attributes.
:meth:`~wx.richtext.RichTextObject.SetCachedSize` Sets the cached object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.SetDescent` Sets the stored descent value.
:meth:`~wx.richtext.RichTextObject.SetMargins` Set the margin around the object, in pixels.
:meth:`~wx.richtext.RichTextObject.SetMaxSize` Sets the maximum object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.SetMinSize` Sets the minimum object size as calculated by Layout.
:meth:`~wx.richtext.RichTextObject.SetName` Sets the identifying name for this object as a property using the "name" key.
:meth:`~wx.richtext.RichTextObject.SetOwnRange` Set the object's own range, for a top-level object with its own position space.
:meth:`~wx.richtext.RichTextObject.SetParent` Sets the pointer to the parent object.
:meth:`~wx.richtext.RichTextObject.SetPosition` Sets the object position in pixels.
:meth:`~wx.richtext.RichTextObject.SetProperties` Sets the object's properties.
:meth:`~wx.richtext.RichTextObject.SetRange` Sets the object's range within its container.
:meth:`~wx.richtext.RichTextObject.Show` Call to show or hide this object.
:meth:`~wx.richtext.RichTextObject.Split` Returns the final object in the split objects if this object was split due to differences between sub-object virtual attributes.
:meth:`~wx.richtext.RichTextObject.UsesParagraphAttributes` Returns ``True`` if this object takes note of paragraph attributes (text and image objects don't).
================================================================================ ================================================================================
|
|property_summary| Properties Summary
=====================================
================================================================================ ================================================================================
:attr:`~wx.richtext.RichTextObject.AbsolutePosition` See :meth:`~wx.richtext.RichTextObject.GetAbsolutePosition`
:attr:`~wx.richtext.RichTextObject.Attributes` See :meth:`~wx.richtext.RichTextObject.GetAttributes` and :meth:`~wx.richtext.RichTextObject.SetAttributes`
:attr:`~wx.richtext.RichTextObject.BestSize` See :meth:`~wx.richtext.RichTextObject.GetBestSize`
:attr:`~wx.richtext.RichTextObject.BottomMargin` See :meth:`~wx.richtext.RichTextObject.GetBottomMargin`
:attr:`~wx.richtext.RichTextObject.Buffer` See :meth:`~wx.richtext.RichTextObject.GetBuffer`
:attr:`~wx.richtext.RichTextObject.CachedSize` See :meth:`~wx.richtext.RichTextObject.GetCachedSize` and :meth:`~wx.richtext.RichTextObject.SetCachedSize`
:attr:`~wx.richtext.RichTextObject.Container` See :meth:`~wx.richtext.RichTextObject.GetContainer`
:attr:`~wx.richtext.RichTextObject.Descent` See :meth:`~wx.richtext.RichTextObject.GetDescent` and :meth:`~wx.richtext.RichTextObject.SetDescent`
:attr:`~wx.richtext.RichTextObject.FloatDirection` See :meth:`~wx.richtext.RichTextObject.GetFloatDirection`
:attr:`~wx.richtext.RichTextObject.LeftMargin` See :meth:`~wx.richtext.RichTextObject.GetLeftMargin`
:attr:`~wx.richtext.RichTextObject.MaxSize` See :meth:`~wx.richtext.RichTextObject.GetMaxSize` and :meth:`~wx.richtext.RichTextObject.SetMaxSize`
:attr:`~wx.richtext.RichTextObject.MinSize` See :meth:`~wx.richtext.RichTextObject.GetMinSize` and :meth:`~wx.richtext.RichTextObject.SetMinSize`
:attr:`~wx.richtext.RichTextObject.Name` See :meth:`~wx.richtext.RichTextObject.GetName` and :meth:`~wx.richtext.RichTextObject.SetName`
:attr:`~wx.richtext.RichTextObject.NaturalSize` See :meth:`~wx.richtext.RichTextObject.GetNaturalSize`
:attr:`~wx.richtext.RichTextObject.OwnRange` See :meth:`~wx.richtext.RichTextObject.GetOwnRange` and :meth:`~wx.richtext.RichTextObject.SetOwnRange`
:attr:`~wx.richtext.RichTextObject.OwnRangeIfTopLevel` See :meth:`~wx.richtext.RichTextObject.GetOwnRangeIfTopLevel`
:attr:`~wx.richtext.RichTextObject.Parent` See :meth:`~wx.richtext.RichTextObject.GetParent` and :meth:`~wx.richtext.RichTextObject.SetParent`
:attr:`~wx.richtext.RichTextObject.ParentContainer` See :meth:`~wx.richtext.RichTextObject.GetParentContainer`
:attr:`~wx.richtext.RichTextObject.Position` See :meth:`~wx.richtext.RichTextObject.GetPosition` and :meth:`~wx.richtext.RichTextObject.SetPosition`
:attr:`~wx.richtext.RichTextObject.Properties` See :meth:`~wx.richtext.RichTextObject.GetProperties` and :meth:`~wx.richtext.RichTextObject.SetProperties`
:attr:`~wx.richtext.RichTextObject.PropertiesMenuLabel` See :meth:`~wx.richtext.RichTextObject.GetPropertiesMenuLabel`
:attr:`~wx.richtext.RichTextObject.Range` See :meth:`~wx.richtext.RichTextObject.GetRange` and :meth:`~wx.richtext.RichTextObject.SetRange`
:attr:`~wx.richtext.RichTextObject.Rect` See :meth:`~wx.richtext.RichTextObject.GetRect`
:attr:`~wx.richtext.RichTextObject.RightMargin` See :meth:`~wx.richtext.RichTextObject.GetRightMargin`
:attr:`~wx.richtext.RichTextObject.TopMargin` See :meth:`~wx.richtext.RichTextObject.GetTopMargin`
:attr:`~wx.richtext.RichTextObject.XMLNodeName` See :meth:`~wx.richtext.RichTextObject.GetXMLNodeName`
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: wx.richtext.RichTextObject(Object)
**Possible constructors**::
RichTextObject(parent: Optional[RichTextObject]=None) -> None
This is the base for drawable rich text objects.
.. method:: __init__(self, parent: Optional[RichTextObject]=None)
Constructor, taking an optional parent pointer.
:param `parent`:
:type `parent`: wx.richtext.RichTextObject
:rtype: `None`
.. method:: AcceptsFocus(self)
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).
:rtype: `bool`
.. method:: AdjustAttributes(self, attr : RichTextAttr, context : RichTextDrawingContext)
Adjusts the attributes for virtual attribute provision, collapsed borders, etc.
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:rtype: `bool`
.. staticmethod:: AdjustAvailableSpace(dc : DC, buffer : RichTextBuffer, parentAttr : RichTextAttr, childAttr : RichTextAttr, availableParentSpace : Rect, availableContainerSpace : Rect)
Returns the rectangle which the child has available to it given restrictions specified in the child attribute, e.g.
50% width of the parent, 400 pixels, x position 20% of the parent, etc. availableContainerSpace might be a parent that the cell has to compute its width relative to. E.g. a cell that's 50% of its parent.
:param `dc`:
:type `dc`: wx.DC
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `parentAttr`:
:type `parentAttr`: wx.richtext.RichTextAttr
:param `childAttr`:
:type `childAttr`: wx.richtext.RichTextAttr
:param `availableParentSpace`:
:type `availableParentSpace`: wx.Rect
:param `availableContainerSpace`:
:type `availableContainerSpace`: wx.Rect
:rtype: `Rect`
.. method:: CalculateRange(self, start : int)
Calculates the range of the object.
By default, guess that the object is 1 unit long.
:param `start`:
:type `start`: long
:rtype: `int`
.. method:: CanEditProperties(self)
Returns ``True`` if we can edit the object's properties via a GUI.
:rtype: `bool`
.. method:: CanMerge(self, object : RichTextObject, context : RichTextDrawingContext)
Returns ``True`` if this object can merge itself with the given one.
:param `object`:
:type `object`: wx.richtext.RichTextObject
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:rtype: `bool`
.. method:: CanSplit(self, context : RichTextDrawingContext)
Returns ``True`` if this object can potentially be split, by virtue of having different virtual attributes for individual sub-objects.
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:rtype: `bool`
.. method:: Clone(self)
Clones the object.
:rtype: :ref:`wx.richtext.RichTextObject`
.. method:: ConvertPixelsToTenthsMM(self, *args, **kw)
Convert units in pixels to tenths of a millimetre.
|overload| **Overloaded Implementations:**
:html:`
`
**ConvertPixelsToTenthsMM** `(self, dc : DC, pixels : int)`
:param `dc`:
:type `dc`: wx.DC
:param `pixels`:
:type `pixels`: int
:rtype: `int`
:html:`
`
**ConvertPixelsToTenthsMM** `(ppi : int, pixels : int, scale: float=1.0)`
:param `ppi`:
:type `ppi`: int
:param `pixels`:
:type `pixels`: int
:param `scale`:
:type `scale`: float
:rtype: `int`
:html:`
`
.. method:: ConvertTenthsMMToPixels(self, *args, **kw)
Converts units in tenths of a millimetre to device units.
|overload| **Overloaded Implementations:**
:html:`
`
**ConvertTenthsMMToPixels** `(self, dc : DC, units : int)`
:param `dc`:
:type `dc`: wx.DC
:param `units`:
:type `units`: int
:rtype: `int`
:html:`
`
**ConvertTenthsMMToPixels** `(ppi : int, units : int, scale: float=1.0)`
:param `ppi`:
:type `ppi`: int
:param `units`:
:type `units`: int
:param `scale`:
:type `scale`: float
:rtype: `int`
:html:`
`
.. method:: Copy(self, obj : RichTextObject)
Copies the object.
:param `obj`:
:type `obj`: wx.richtext.RichTextObject
:rtype: `None`
.. method:: DeleteRange(self, range : RichTextRange)
Deletes the given range.
:param `range`:
:type `range`: wx.richtext.RichTextRange
:rtype: `bool`
.. method:: Dereference(self)
Reference-counting allows us to use the same object in multiple lists (not yet used).
:rtype: `None`
.. method:: DoSplit(self, pos : int)
Do a split from `pos`, returning an object containing the second part, and setting the first part in 'this'.
:param `pos`:
:type `pos`: long
:rtype: :ref:`wx.richtext.RichTextObject`
.. method:: Draw(self, dc : DC, context : RichTextDrawingContext, range : RichTextRange, selection : RichTextSelection, rect : Rect, descent : int, style : int)
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)
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `range`:
:type `range`: wx.richtext.RichTextRange
:param `selection`:
:type `selection`: wx.richtext.RichTextSelection
:param `rect`:
:type `rect`: wx.Rect
:param `descent`:
:type `descent`: int
:param `style`:
:type `style`: int
:rtype: `bool`
.. staticmethod:: DrawBorder(dc : DC, buffer : RichTextBuffer, attr : RichTextAttr, borders : TextAttrBorders, rect : Rect, flags: int=0)
Draws a border.
:param `dc`:
:type `dc`: wx.DC
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:param `borders`:
:type `borders`: wx.richtext.TextAttrBorders
:param `rect`:
:type `rect`: wx.Rect
:param `flags`:
:type `flags`: int
:rtype: `bool`
.. staticmethod:: DrawBoxAttributes(dc : DC, buffer : RichTextBuffer, attr : RichTextAttr, boxRect : Rect, flags: int=0, obj: Optional[RichTextObject]=None)
Draws the borders and background for the given rectangle and attributes.
`boxRect` is taken to be the outer margin box, not the box around the content.
:param `dc`:
:type `dc`: wx.DC
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:param `boxRect`:
:type `boxRect`: wx.Rect
:param `flags`:
:type `flags`: int
:param `obj`:
:type `obj`: wx.richtext.RichTextObject
:rtype: `bool`
.. method:: EditProperties(self, parent : Window, buffer : RichTextBuffer)
Edits the object's properties via a GUI.
:param `parent`:
:type `parent`: wx.Window
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:rtype: `bool`
.. method:: FindPosition(self, dc : DC, context : RichTextDrawingContext, index : int, forceLineStart : bool)
Finds the absolute position and row height for the given character position.
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `index`:
:type `index`: long
:param `forceLineStart`:
:type `forceLineStart`: bool
:rtype: :ref:`le[bool, wx.Point, int]`
.. method:: GetAbsolutePosition(self)
Returns the absolute object position, by traversing up the child/parent hierarchy.
``TODO``: may not be needed, if all object positions are in fact relative to the top of the coordinate space.
:rtype: `Point`
.. method:: GetAttributes(self)
Returns the object's attributes.
:rtype: :ref:`wx.richtext.RichTextAttr`
.. method:: GetAvailableContentArea(self, dc : DC, context : RichTextDrawingContext, outerRect : Rect)
Calculates the available content space in the given rectangle, given the margins, border and padding specified in the object's attributes.
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `outerRect`:
:type `outerRect`: wx.Rect
:rtype: `Rect`
.. method:: GetBestSize(self)
Returns the best size, i.e. the ideal starting size for this object irrespective of available space.
For a short text string, it will be the size that exactly encloses the text. For a longer string, it might use the parent width for example.
:rtype: `Size`
.. method:: GetBottomMargin(self)
Returns the bottom margin of the object, in pixels.
:rtype: `int`
.. staticmethod:: GetBoxRects(dc : DC, buffer : RichTextBuffer, attr : RichTextAttr)
Returns the various rectangles of the box model in pixels.
You can either specify `contentRect` (inner) or `marginRect` (outer), and the other must be the default rectangle (no width or height). Note that the outline doesn't affect the position of the rectangle, it's drawn in whatever space is available.
:param `dc`:
:type `dc`: wx.DC
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:rtype: :ref:`le[bool, wx.Rect, wx.Rect, wx.Rect, wx.Rect, wx.Rect]`
.. method:: GetBuffer(self)
Returns the containing buffer.
:rtype: :ref:`wx.richtext.RichTextBuffer`
.. method:: GetCachedSize(self)
Gets the cached object size as calculated by Layout.
:rtype: `Size`
.. method:: GetContainer(self)
Returns the top-level container of this object.
May return itself if it's a container; use GetParentContainer to return a different container.
:rtype: :ref:`wx.richtext.RichTextParagraphLayoutBox`
.. method:: GetDescent(self)
Returns the stored descent value.
:rtype: `int`
.. method:: GetFloatDirection(self)
Returns the floating direction.
:rtype: `int`
.. method:: GetLeftMargin(self)
Returns the left margin of the object, in pixels.
:rtype: `int`
.. method:: GetMaxSize(self)
Gets the maximum object size as calculated by Layout.
This allows us to fit an object to its contents or allocate extra space if required.
:rtype: `Size`
.. method:: GetMinSize(self)
Gets the minimum object size as calculated by Layout.
This allows us to constrain an object to its absolute minimum size if necessary.
:rtype: `Size`
.. method:: GetName(self)
Returns the identifying name for this object from the properties, using the "name" key.
:rtype: `str`
.. method:: GetNaturalSize(self)
Gets the 'natural' size for an object.
For an image, it would be the image size.
:rtype: :ref:`wx.richtext.TextAttrSize`
.. method:: GetOwnRange(self)
Returns the object's own range (valid if top-level).
:rtype: :ref:`wx.richtext.RichTextRange`
.. method:: GetOwnRangeIfTopLevel(self)
Returns the object's own range only if a top-level object.
:rtype: :ref:`wx.richtext.RichTextRange`
.. method:: GetParent(self)
Returns a pointer to the parent object.
:rtype: :ref:`wx.richtext.RichTextObject`
.. method:: GetParentContainer(self)
Returns the top-level container of this object.
Returns a different container than itself, unless there's no parent, in which case it will return ``None``.
:rtype: :ref:`wx.richtext.RichTextParagraphLayoutBox`
.. method:: GetPosition(self)
Returns the object position in pixels.
:rtype: `Point`
.. method:: GetProperties(self)
Returns the object's properties.
:rtype: :ref:`wx.richtext.RichTextProperties`
.. method:: GetPropertiesMenuLabel(self)
Returns the label to be used for the properties context menu item.
:rtype: `str`
.. method:: GetRange(self)
Returns the object's range.
:rtype: :ref:`wx.richtext.RichTextRange`
.. method:: GetRangeSize(self, range : RichTextRange, size : Size, descent : int, dc : DC, context : RichTextDrawingContext, flags : int, position: Point=Point(0,0), parentSize: Size=DefaultSize, partialExtents: Optional[List[int]]=None)
Returns the object size for the given range.
Returns ``False`` if the range is invalid for this object.
:param `range`:
:type `range`: wx.richtext.RichTextRange
:param `size`:
:type `size`: wx.Size
:param `descent`:
:type `descent`: int
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `flags`:
:type `flags`: int
:param `position`:
:type `position`: wx.Point
:param `parentSize`:
:type `parentSize`: wx.Size
:param `partialExtents`:
:type `partialExtents`: list of integers
:rtype: `bool`
.. method:: GetRect(self)
Returns the rectangle enclosing the object.
:rtype: `Rect`
.. method:: GetRightMargin(self)
Returns the right margin of the object, in pixels.
:rtype: `int`
.. method:: GetSelection(self, start : int, end : int)
Returns a selection object specifying the selections between start and end character positions.
For example, a table would deduce what cells (of range length 1) are selected when dragging across the table.
:param `start`:
:type `start`: long
:param `end`:
:type `end`: long
:rtype: :ref:`wx.richtext.RichTextSelection`
.. method:: GetTextForRange(self, range : RichTextRange)
Returns any text in this object for the given range.
:param `range`:
:type `range`: wx.richtext.RichTextRange
:rtype: `str`
.. method:: GetTopMargin(self)
Returns the top margin of the object, in pixels.
:rtype: `int`
.. staticmethod:: GetTotalMargin(dc : DC, buffer : RichTextBuffer, attr : RichTextAttr)
Returns the total margin for the object in pixels, taking into account margin, padding and border size.
:param `dc`:
:type `dc`: wx.DC
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:rtype: :ref:`Tuple[bool, int, int, int, int]`
.. method:: GetXMLNodeName(self)
Returns the ``XML`` node name of this object.
This must be overridden for XmlNode-base ``XML`` export to work.
:rtype: `str`
.. method:: HandlesChildSelections(self)
Returns ``True`` if this object can handle the selections of its children, fOr example a table.
Required for composite selection handling to work.
:rtype: `bool`
.. method:: HitTest(self, dc : DC, context : RichTextDrawingContext, pt : Point, flags: int=0)
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).
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `pt`:
:type `pt`: wx.Point
:param `flags`:
:type `flags`: int
:rtype: :ref:`Tuple[int, int, RichTextObject, RichTextObject]`
:returns:
One of the :ref:`wx.richtext.RichTextHitTestFlags` values.
.. method:: ImportFromXML(self, buffer : RichTextBuffer, node : XmlNode, handler : RichTextXMLHandler, recurse : bool)
Imports this object from ``XML``.
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `node`:
:type `node`: wx.xml.XmlNode
:param `handler`:
:type `handler`: wx.richtext.RichTextXMLHandler
:param `recurse`:
:type `recurse`: bool
:rtype: `bool`
.. method:: Invalidate(self, invalidRange: RichTextRange=RICHTEXT_ALL)
Invalidates the object at the given range.
With no argument, invalidates the whole object.
:param `invalidRange`:
:type `invalidRange`: wx.richtext.RichTextRange
:rtype: `None`
.. method:: IsAtomic(self)
Returns ``True`` if no user editing can be done inside the object.
This returns ``True`` for simple objects, ``False`` for most composite objects, but ``True`` for fields, which if composite, should not be user-edited.
:rtype: `bool`
.. method:: IsComposite(self)
Returns ``True`` if this object is composite.
:rtype: `bool`
.. method:: IsEmpty(self)
Returns ``True`` if the object is empty.
:rtype: `bool`
.. method:: IsFloatable(self)
Returns ``True`` if this class of object is floatable.
:rtype: `bool`
.. method:: IsFloating(self)
Returns ``True`` if this object is currently floating.
:rtype: `bool`
.. method:: IsShown(self)
Returns ``True`` if the object will be shown, ``False`` otherwise.
:rtype: `bool`
.. method:: IsTopLevel(self)
Returns ``True`` if this object is top-level, i.e. contains its own paragraphs, such as a text box.
:rtype: `bool`
.. method:: Layout(self, dc : DC, context : RichTextDrawingContext, rect : Rect, parentRect : Rect, style : int)
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).
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `rect`:
:type `rect`: wx.Rect
:param `parentRect`:
:type `parentRect`: wx.Rect
:param `style`:
:type `style`: int
:rtype: `bool`
.. method:: LayoutToBestSize(self, dc : DC, context : RichTextDrawingContext, buffer : RichTextBuffer, parentAttr : RichTextAttr, attr : RichTextAttr, availableParentSpace : Rect, availableContainerSpace : Rect, style : int)
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.
`availableParentSpace` is the maximum space for the object, whereas `availableContainerSpace` is the container with which relative positions and sizes should be computed. For example, a text box whose space has already been constrained in a previous layout pass to `availableParentSpace`, but should have a width of 50% of `availableContainerSpace`. (If these two rects were the same, a 2nd pass could see the object getting too small.)
:param `dc`:
:type `dc`: wx.DC
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:param `buffer`:
:type `buffer`: wx.richtext.RichTextBuffer
:param `parentAttr`:
:type `parentAttr`: wx.richtext.RichTextAttr
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:param `availableParentSpace`:
:type `availableParentSpace`: wx.Rect
:param `availableContainerSpace`:
:type `availableContainerSpace`: wx.Rect
:param `style`:
:type `style`: int
:rtype: `bool`
.. method:: Merge(self, object : RichTextObject, context : RichTextDrawingContext)
Returns ``True`` if this object merged itself with the given one.
The calling code will then delete the given object.
:param `object`:
:type `object`: wx.richtext.RichTextObject
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:rtype: `bool`
.. method:: Move(self, pt : Point)
Moves the object recursively, by adding the offset from old to new.
:param `pt`:
:type `pt`: wx.Point
:rtype: `None`
.. method:: Reference(self)
Reference-counting allows us to use the same object in multiple lists (not yet used).
:rtype: `None`
.. method:: SetAttributes(self, attr : RichTextAttr)
Sets the object's attributes.
:param `attr`:
:type `attr`: wx.richtext.RichTextAttr
:rtype: `None`
.. method:: SetCachedSize(self, sz : Size)
Sets the cached object size as calculated by Layout.
:param `sz`:
:type `sz`: wx.Size
:rtype: `None`
.. method:: SetDescent(self, descent : int)
Sets the stored descent value.
:param `descent`:
:type `descent`: int
:rtype: `None`
.. method:: SetMargins(self, *args, **kw)
Set the margin around the object, in pixels.
|overload| **Overloaded Implementations:**
:html:`
`
**SetMargins** `(self, margin : int)`
:param `margin`:
:type `margin`: int
:rtype: `None`
:html:`
`
**SetMargins** `(self, leftMargin : int, rightMargin : int, topMargin : int, bottomMargin : int)`
:param `leftMargin`:
:type `leftMargin`: int
:param `rightMargin`:
:type `rightMargin`: int
:param `topMargin`:
:type `topMargin`: int
:param `bottomMargin`:
:type `bottomMargin`: int
:rtype: `None`
:html:`
`
.. method:: SetMaxSize(self, sz : Size)
Sets the maximum object size as calculated by Layout.
This allows us to fit an object to its contents or allocate extra space if required.
:param `sz`:
:type `sz`: wx.Size
:rtype: `None`
.. method:: SetMinSize(self, sz : Size)
Sets the minimum object size as calculated by Layout.
This allows us to constrain an object to its absolute minimum size if necessary.
:param `sz`:
:type `sz`: wx.Size
:rtype: `None`
.. method:: SetName(self, name : str)
Sets the identifying name for this object as a property using the "name" key.
:param `name`:
:type `name`: string
:rtype: `None`
.. method:: SetOwnRange(self, range : RichTextRange)
Set the object's own range, for a top-level object with its own position space.
:param `range`:
:type `range`: wx.richtext.RichTextRange
:rtype: `None`
.. method:: SetParent(self, parent : RichTextObject)
Sets the pointer to the parent object.
:param `parent`:
:type `parent`: wx.richtext.RichTextObject
:rtype: `None`
.. method:: SetPosition(self, pos : Point)
Sets the object position in pixels.
:param `pos`:
:type `pos`: wx.Point
:rtype: `None`
.. method:: SetProperties(self, props : RichTextProperties)
Sets the object's properties.
:param `props`:
:type `props`: wx.richtext.RichTextProperties
:rtype: `None`
.. method:: SetRange(self, range : RichTextRange)
Sets the object's range within its container.
:param `range`:
:type `range`: wx.richtext.RichTextRange
:rtype: `None`
.. method:: Show(self, show : bool)
Call to show or hide this object.
This function does not cause the content to be laid out or redrawn.
:param `show`:
:type `show`: bool
:rtype: `None`
.. method:: Split(self, context : RichTextDrawingContext)
Returns the final object in the split objects if this object was split due to differences between sub-object virtual attributes.
Returns itself if it was not split.
:param `context`:
:type `context`: wx.richtext.RichTextDrawingContext
:rtype: :ref:`wx.richtext.RichTextObject`
.. method:: UsesParagraphAttributes(self)
Returns ``True`` if this object takes note of paragraph attributes (text and image objects don't).
:rtype: `bool`
.. attribute:: AbsolutePosition
See :meth:`~wx.richtext.RichTextObject.GetAbsolutePosition`
.. attribute:: Attributes
See :meth:`~wx.richtext.RichTextObject.GetAttributes` and :meth:`~wx.richtext.RichTextObject.SetAttributes`
.. attribute:: BestSize
See :meth:`~wx.richtext.RichTextObject.GetBestSize`
.. attribute:: BottomMargin
See :meth:`~wx.richtext.RichTextObject.GetBottomMargin`
.. attribute:: Buffer
See :meth:`~wx.richtext.RichTextObject.GetBuffer`
.. attribute:: CachedSize
See :meth:`~wx.richtext.RichTextObject.GetCachedSize` and :meth:`~wx.richtext.RichTextObject.SetCachedSize`
.. attribute:: Container
See :meth:`~wx.richtext.RichTextObject.GetContainer`
.. attribute:: Descent
See :meth:`~wx.richtext.RichTextObject.GetDescent` and :meth:`~wx.richtext.RichTextObject.SetDescent`
.. attribute:: FloatDirection
See :meth:`~wx.richtext.RichTextObject.GetFloatDirection`
.. attribute:: LeftMargin
See :meth:`~wx.richtext.RichTextObject.GetLeftMargin`
.. attribute:: MaxSize
See :meth:`~wx.richtext.RichTextObject.GetMaxSize` and :meth:`~wx.richtext.RichTextObject.SetMaxSize`
.. attribute:: MinSize
See :meth:`~wx.richtext.RichTextObject.GetMinSize` and :meth:`~wx.richtext.RichTextObject.SetMinSize`
.. attribute:: Name
See :meth:`~wx.richtext.RichTextObject.GetName` and :meth:`~wx.richtext.RichTextObject.SetName`
.. attribute:: NaturalSize
See :meth:`~wx.richtext.RichTextObject.GetNaturalSize`
.. attribute:: OwnRange
See :meth:`~wx.richtext.RichTextObject.GetOwnRange` and :meth:`~wx.richtext.RichTextObject.SetOwnRange`
.. attribute:: OwnRangeIfTopLevel
See :meth:`~wx.richtext.RichTextObject.GetOwnRangeIfTopLevel`
.. attribute:: Parent
See :meth:`~wx.richtext.RichTextObject.GetParent` and :meth:`~wx.richtext.RichTextObject.SetParent`
.. attribute:: ParentContainer
See :meth:`~wx.richtext.RichTextObject.GetParentContainer`
.. attribute:: Position
See :meth:`~wx.richtext.RichTextObject.GetPosition` and :meth:`~wx.richtext.RichTextObject.SetPosition`
.. attribute:: Properties
See :meth:`~wx.richtext.RichTextObject.GetProperties` and :meth:`~wx.richtext.RichTextObject.SetProperties`
.. attribute:: PropertiesMenuLabel
See :meth:`~wx.richtext.RichTextObject.GetPropertiesMenuLabel`
.. attribute:: Range
See :meth:`~wx.richtext.RichTextObject.GetRange` and :meth:`~wx.richtext.RichTextObject.SetRange`
.. attribute:: Rect
See :meth:`~wx.richtext.RichTextObject.GetRect`
.. attribute:: RightMargin
See :meth:`~wx.richtext.RichTextObject.GetRightMargin`
.. attribute:: TopMargin
See :meth:`~wx.richtext.RichTextObject.GetTopMargin`
.. attribute:: XMLNodeName
See :meth:`~wx.richtext.RichTextObject.GetXMLNodeName`