.. 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.propgrid.PGEditor: ========================================================================================================================================== |phoenix_title| **wx.propgrid.PGEditor** ========================================================================================================================================== Base class for custom :ref:`wx.propgrid.PropertyGrid` editors. .. note:: - Names of built-in property editors are: TextCtrl, Choice, ComboBox, CheckBox, TextCtrlAndButton, and ChoiceAndButton. Additional editors include SpinCtrl and DatePickerCtrl, but using them requires calling :meth:`wx.propgrid.PropertyGrid.RegisterAdditionalEditors ` prior use. - Pointer to built-in editor is available as PGEditor_EditorName (e.g. PGEditor_TextCtrl). - Before you start using new editor you just created, you need to register it using static function :meth:`wx.propgrid.PropertyGrid.RegisterEditorClass` , with code like this: :: editorPointer = wx.propgrid.PropertyGrid.RegisterEditorClass(MyEditorClass(), "MyEditor") After that, :ref:`wx.propgrid.PropertyGrid` will take ownership of the given object, but you should still store editorPointer somewhere, so you can pass it to :meth:`wx.propgrid.PGProperty.SetEditor` , or return it from `PGEditor.DoGetEditorClass().` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class PGEditor:
| |sub_classes| Known Subclasses ============================== :ref:`wx.propgrid.PGCheckBoxEditor`, :ref:`wx.propgrid.PGChoiceEditor`, :ref:`wx.propgrid.PGTextCtrlEditor` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.propgrid.PGEditor.__init__` Constructor. :meth:`~wx.propgrid.PGEditor.CanContainCustomImage` Returns ``True`` if control itself can contain the custom image. :meth:`~wx.propgrid.PGEditor.CreateControls` Instantiates editor controls. :meth:`~wx.propgrid.PGEditor.DeleteItem` Deletes item from existing control. :meth:`~wx.propgrid.PGEditor.DrawValue` Draws value for given property. :meth:`~wx.propgrid.PGEditor.GetName` Returns pointer to the name of the editor. :meth:`~wx.propgrid.PGEditor.GetValueFromControl` Returns value from control, via parameter `variant`. :meth:`~wx.propgrid.PGEditor.InsertItem` Inserts item to existing control. :meth:`~wx.propgrid.PGEditor.OnEvent` Handles events. :meth:`~wx.propgrid.PGEditor.OnFocus` Extra processing when control gains focus. :meth:`~wx.propgrid.PGEditor.SetControlAppearance` Called by property grid to set new appearance for the control. :meth:`~wx.propgrid.PGEditor.SetControlIntValue` Sets control's value specifically from int (applies to choice etc.). :meth:`~wx.propgrid.PGEditor.SetControlStringValue` Sets control's value specifically from string. :meth:`~wx.propgrid.PGEditor.SetValueToUnspecified` Sets value in control to unspecified. :meth:`~wx.propgrid.PGEditor.UpdateControl` Loads value from property to the control. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.propgrid.PGEditor.Name` See :meth:`~wx.propgrid.PGEditor.GetName` :attr:`~wx.propgrid.PGEditor.m_clientData` A public C++ attribute of type ````. ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.propgrid.PGEditor(Object) **Possible constructors**:: PGEditor() Base class for custom PropertyGrid editors. .. method:: __init__(self) Constructor. .. method:: CanContainCustomImage(self) Returns ``True`` if control itself can contain the custom image. Default implementation returns ``False``. :rtype: `bool` .. method:: CreateControls(self, propgrid, property, pos, size) Instantiates editor controls. :param `propgrid`: :ref:`wx.propgrid.PropertyGrid` to which the property belongs (use as parent for control). :type `propgrid`: wx.propgrid.PropertyGrid :param `property`: Property for which this method is called. :type `property`: wx.propgrid.PGProperty :param `pos`: Position, inside :ref:`wx.propgrid.PropertyGrid`, to create control(s) to. :type `pos`: wx.Point :param `size`: Initial size for control(s). :type `size`: wx.Size :rtype: :ref:`wx.propgrid.PGWindowList` .. note:: - It is not necessary to call :meth:`wx.EvtHandler.Bind` for interesting editor events. All events from controls are automatically forwarded to :meth:`wx.propgrid.PGEditor.OnEvent` and :meth:`wx.propgrid.PGProperty.OnEvent` . .. method:: DeleteItem(self, ctrl, index) Deletes item from existing control. Default implementation does nothing. :param `ctrl`: :type `ctrl`: wx.Window :param `index`: :type `index`: int .. method:: DrawValue(self, dc, rect, property, text) Draws value for given property. :param `dc`: :type `dc`: wx.DC :param `rect`: :type `rect`: wx.Rect :param `property`: :type `property`: wx.propgrid.PGProperty :param `text`: :type `text`: string .. method:: GetName(self) Returns pointer to the name of the editor. For example, PGEditor_TextCtrl has name "TextCtrl". If you don't need to access your custom editor by string name, then you do not need to implement this function. :rtype: `string` .. method:: GetValueFromControl(self, property, ctrl) Returns value from control, via parameter `variant`. Usually ends up calling property's StringToValue() or IntToValue(). Returns ``True`` if value was different. :param `property`: :type `property`: wx.propgrid.PGProperty :param `ctrl`: :type `ctrl`: wx.Window :rtype: `tuple` :returns: ( `bool`, `variant` ) .. method:: InsertItem(self, ctrl, label, index) Inserts item to existing control. Index -1 means end of list. Default implementation does nothing. Returns index of item added. :param `ctrl`: :type `ctrl`: wx.Window :param `label`: :type `label`: string :param `index`: :type `index`: int :rtype: `int` .. method:: OnEvent(self, propgrid, property, wnd_primary, event) Handles events. Returns ``True`` if value in control was modified (see :meth:`wx.propgrid.PGProperty.OnEvent` for more information). :param `propgrid`: :type `propgrid`: wx.propgrid.PropertyGrid :param `property`: :type `property`: wx.propgrid.PGProperty :param `wnd_primary`: :type `wnd_primary`: wx.Window :param `event`: :type `event`: wx.Event :rtype: `bool` .. note:: :ref:`wx.propgrid.PropertyGrid` will automatically unfocus the editor when ``wxEVT_TEXT_ENTER`` is received and when it results in property value being modified. This happens regardless of editor type (i.e. behaviour is same for any :ref:`wx.TextCtrl` and :ref:`wx.ComboBox` based editor). .. method:: OnFocus(self, property, wnd) Extra processing when control gains focus. For example, :ref:`wx.TextCtrl` based controls should select all text. :param `property`: :type `property`: wx.propgrid.PGProperty :param `wnd`: :type `wnd`: wx.Window .. method:: SetControlAppearance(self, pg, property, ctrl, appearance, oldAppearance, unspecified) Called by property grid to set new appearance for the control. Default implementation sets foreground colour, background colour, font, plus text for :ref:`wx.TextCtrl` and :ref:`wx.ComboCtrl`. :param `pg`: Property grid to which the edited property belongs. :type `pg`: wx.propgrid.PropertyGrid :param `property`: Edited property to which the editor control belongs. :type `property`: wx.propgrid.PGProperty :param `ctrl`: Editor control. :type `ctrl`: wx.Window :param `appearance`: New appearance to be applied. :type `appearance`: wx.propgrid.PGCell :param `oldAppearance`: Previously applied appearance. Used to detect which control attributes need to be changed (e.g. so we only change background colour if really needed). :type `oldAppearance`: wx.propgrid.PGCell :param `unspecified`: If ``True`` tells this function that the new appearance represents an unspecified property value. :type `unspecified`: bool .. method:: SetControlIntValue(self, property, ctrl, value) Sets control's value specifically from int (applies to choice etc.). :param `property`: :type `property`: wx.propgrid.PGProperty :param `ctrl`: :type `ctrl`: wx.Window :param `value`: :type `value`: int .. method:: SetControlStringValue(self, property, ctrl, txt) Sets control's value specifically from string. :param `property`: :type `property`: wx.propgrid.PGProperty :param `ctrl`: :type `ctrl`: wx.Window :param `txt`: :type `txt`: string .. method:: SetValueToUnspecified(self, property, ctrl) Sets value in control to unspecified. :param `property`: :type `property`: wx.propgrid.PGProperty :param `ctrl`: :type `ctrl`: wx.Window .. method:: UpdateControl(self, property, ctrl) Loads value from property to the control. :param `property`: :type `property`: wx.propgrid.PGProperty :param `ctrl`: :type `ctrl`: wx.Window .. attribute:: Name See :meth:`~wx.propgrid.PGEditor.GetName` .. attribute:: m_clientData A public C++ attribute of type ````.