wx.propgrid.PGEditor¶
Base class for custom 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
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
wx.propgrid.PropertyGrid.RegisterEditorClass
, with code like this:
editorPointer = wx.propgrid.PropertyGrid.RegisterEditorClass(MyEditorClass(), “MyEditor”)
After that, wx.propgrid.PropertyGrid will take ownership of the given object, but you should still store editorPointer somewhere, so you can pass it to wx.propgrid.PGProperty.SetEditor
, or return it from PGEditor.DoGetEditorClass().
Class Hierarchy¶
Known Subclasses¶
wx.propgrid.PGCheckBoxEditor, wx.propgrid.PGChoiceEditor, wx.propgrid.PGTextCtrlEditor
Methods Summary¶
Constructor. |
|
Returns |
|
Instantiates editor controls. |
|
Deletes item from existing control. |
|
Draws value for given property. |
|
Returns pointer to the name of the editor. |
|
Returns value from control, via parameter variant. |
|
Inserts item to existing control. |
|
Handles events. |
|
Extra processing when control gains focus. |
|
Called by property grid to set new appearance for the control. |
|
Sets control’s value specifically from int (applies to choice etc.). |
|
Sets control’s value specifically from string. |
|
Sets value in control to unspecified. |
|
Loads value from property to the control. |
Properties Summary¶
See |
|
Class API¶
- class wx.propgrid.PGEditor(Object)¶
Possible constructors:
PGEditor() -> None
Base class for custom PropertyGrid editors.
Methods¶
- __init__(self)¶
Constructor.
- Return type:
None
- CanContainCustomImage(self)¶
Returns
True
if control itself can contain the custom image.Default implementation returns
False
.- Return type:
bool
- CreateControls(self, propgrid, property, pos, size)¶
Instantiates editor controls.
- Parameters:
propgrid (wx.propgrid.PropertyGrid) – wx.propgrid.PropertyGrid to which the property belongs (use as parent for control).
property (wx.propgrid.PGProperty) – Property for which this method is called.
pos (wx.Point) – Position, inside wx.propgrid.PropertyGrid, to create control(s) to.
size (wx.Size) – Initial size for control(s).
- Return type:
Note
It is not necessary to call
wx.EvtHandler.Bind
for interesting editor events. All events from controls are automatically forwarded towx.propgrid.PGEditor.OnEvent
andwx.propgrid.PGProperty.OnEvent
.
- DeleteItem(self, ctrl, index)¶
Deletes item from existing control.
Default implementation does nothing.
- Parameters:
ctrl (wx.Window)
index (int)
- Return type:
None
- DrawValue(self, dc, rect, property, text)¶
Draws value for given property.
- Parameters:
dc (wx.DC)
rect (wx.Rect)
property (wx.propgrid.PGProperty)
text (string)
- Return type:
None
- 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.
- Return type:
str
- 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.- Parameters:
property (wx.propgrid.PGProperty)
ctrl (wx.Window)
- Return type:
Tuple[bool, PGVariant]
- 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.
- Parameters:
ctrl (wx.Window)
label (string)
index (int)
- Return type:
int
- OnEvent(self, propgrid, property, wnd_primary, event)¶
Handles events.
Returns
True
if value in control was modified (seewx.propgrid.PGProperty.OnEvent
for more information).- Parameters:
propgrid (wx.propgrid.PropertyGrid)
property (wx.propgrid.PGProperty)
wnd_primary (wx.Window)
event (wx.Event)
- Return type:
bool
Note
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 wx.TextCtrl and wx.ComboBox based editor).
- OnFocus(self, property, wnd)¶
Extra processing when control gains focus.
For example, wx.TextCtrl based controls should select all text.
- Parameters:
property (wx.propgrid.PGProperty)
wnd (wx.Window)
- Return type:
None
- 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 wx.TextCtrl and wx.ComboCtrl.
- Parameters:
pg (wx.propgrid.PropertyGrid) – Property grid to which the edited property belongs.
property (wx.propgrid.PGProperty) – Edited property to which the editor control belongs.
ctrl (wx.Window) – Editor control.
appearance (wx.propgrid.PGCell) – New appearance to be applied.
oldAppearance (wx.propgrid.PGCell) – Previously applied appearance. Used to detect which control attributes need to be changed (e.g. so we only change background colour if really needed).
unspecified (bool) – If
True
tells this function that the new appearance represents an unspecified property value.
- Return type:
None
- SetControlIntValue(self, property, ctrl, value)¶
Sets control’s value specifically from int (applies to choice etc.).
- Parameters:
property (wx.propgrid.PGProperty)
ctrl (wx.Window)
value (int)
- Return type:
None
- SetControlStringValue(self, property, ctrl, txt)¶
Sets control’s value specifically from string.
- Parameters:
property (wx.propgrid.PGProperty)
ctrl (wx.Window)
txt (string)
- Return type:
None
- SetValueToUnspecified(self, property, ctrl)¶
Sets value in control to unspecified.
- Parameters:
property (wx.propgrid.PGProperty)
ctrl (wx.Window)
- Return type:
None
- UpdateControl(self, property, ctrl)¶
Loads value from property to the control.
- Parameters:
property (wx.propgrid.PGProperty)
ctrl (wx.Window)
- Return type:
None
Properties¶