Phoenix Logo

phoenix_title wx.lib.expando.ExpandoTextCtrl

The ExpandoTextCtrl is a multi-line wx.TextCtrl that will adjust its height on the fly as needed to accomodate the number of lines needed to display the current content of the control. It is assumed that the width of the control will be a fixed value and that only the height will be adjusted automatically. If the control is used in a sizer then the width should be set as part of the initial or min size of the control.

When the control resizes itself it will attempt to also make necessary adjustments in the sizer hierarchy it is a member of (if any) but if that is not suffiecient then the programmer can catch the EVT_ETC_LAYOUT_NEEDED event in the container and make any other layout adjustments that may be needed.


class_hierarchy Class Hierarchy

Inheritance diagram for class ExpandoTextCtrl:

super_classes Known Superclasses

wx.TextCtrl


method_summary Methods Summary

__init__ Default class constructor.
AppendText Appends the text to the end of the text control.
GetMaxHeight Returns the maximum height that the control will expand to on its own.
OnSize Handles the wx.EVT_SIZE event for ExpandoTextCtrl.
OnTextChanged Handles the wx.EVT_TEXT event for ExpandoTextCtrl.
SetFont Sets the font for the ExpandoTextCtrl.
SetMaxHeight Sets the maximum height that the control will expand to on its
WriteText Writes the text into the text control at the current insertion position.

api Class API



class ExpandoTextCtrl(wx.TextCtrl)

The ExpandoTextCtrl is a multi-line wx.TextCtrl that will adjust its height on the fly as needed to accomodate the number of lines needed to display the current content of the control. It is assumed that the width of the control will be a fixed value and that only the height will be adjusted automatically. If the control is used in a sizer then the width should be set as part of the initial or min size of the control.

When the control resizes itself it will attempt to also make necessary adjustments in the sizer hierarchy it is a member of (if any) but if that is not suffiecient then the programmer can catch the EVT_ETC_LAYOUT_NEEDED event in the container and make any other layout adjustments that may be needed.


Methods



__init__(self, parent, id=-1, value="", pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, validator=wx.DefaultValidator, name="expando")

Default class constructor.

Parameters:
  • parent (wx.Window) – parent window, must not be None;
  • id (integer) – window identifier. A value of -1 indicates a default value;
  • value (string) – the control text label;
  • pos (tuple or wx.Point) – the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform;
  • size (tuple or wx.Size) – the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform;
  • style (integer) – the underlying wx.Control style;
  • validator (wx.Validator) – the window validator;
  • name (string) – the widget name.


AppendText(self, text)

Appends the text to the end of the text control.

Parameters:text (string) – text to write to the text control.

See also

WriteText



GetMaxHeight(self)

Returns the maximum height that the control will expand to on its own.

Return type:int


OnSize(self, evt)

Handles the wx.EVT_SIZE event for ExpandoTextCtrl.

Parameters:event – a wx.SizeEvent event to be processed.


OnTextChanged(self, evt)

Handles the wx.EVT_TEXT event for ExpandoTextCtrl.

Parameters:event – a CommandEvent event to be processed.


SetFont(self, font)

Sets the font for the ExpandoTextCtrl.

Parameters:font (wx.Font) – font to associate with the ExpandoTextCtrl, pass NullFont to reset to the default font.
Return type:bool
Returns:True if the font was really changed, False if it was already set to this font and nothing was done.


SetMaxHeight(self, h)

Sets the maximum height that the control will expand to on its own, and adjusts it down if needed.

Parameters:h (integer) – the maximum control height, in pixels.


WriteText(self, text)

Writes the text into the text control at the current insertion position.

Parameters:text (string) – text to write to the text control.

Note

Newlines in the text string are the only control characters allowed, and they will cause appropriate line breaks. See AppendText for more convenient ways of writing to the window. After the write operation, the insertion point will be at the end of the inserted text, so subsequent write operations will be appended. To append text after the user may have interacted with the control, call TextCtrl.SetInsertionPointEnd before writing.