| Version: 3.3.1

Public Member Functions | Public Attributes | List of all members
wxPGEditor Class Referenceabstract
Class List by Category » wxPropertyGrid

`#include <wx/propgrid/editors.h>`

Inheritance diagram for wxPGEditor:
[legend]

## Detailed Description

Base class for custom wxPropertyGrid editors.

Remarks
  - 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 wxPropertyGrid::RegisterAdditionalEditors() prior use.
  - Pointer to built-in editor is available as wxPGEditor_EditorName (e.g. wxPGEditor_TextCtrl).
  - Before you start using new editor you just created, you need to register it using static function wxPropertyGrid::RegisterEditorClass(), with code like this:
    wxPGEditor* editorPointer = wxPropertyGrid::RegisterEditorClass(new MyEditorClass(), "MyEditor");
    wxPGEditor
    Base class for custom wxPropertyGrid editors.
    Definition: editors.h:61
    wxPropertyGrid::RegisterEditorClass
    static wxPGEditor * RegisterEditorClass(wxPGEditor *editor, bool noDefCheck=false)
    Forwards to DoRegisterEditorClass with empty name.
    After that, wxPropertyGrid will take ownership of the given object, but you should still store editorPointer somewhere, so you can pass it to wxPGProperty::SetEditor(), or return it from wxPGEditor::DoGetEditorClass().

##

Library: wxPropertyGrid
Category: wxPropertyGrid

## Public Member Functions
| wxPGEditor ()
| Constructor. More...
virtual | ~wxPGEditor ()
| Destructor. More...
virtual wxString | GetName () const
| Returns pointer to the name of the editor. More...
virtual wxPGWindowList | CreateControls (wxPropertyGrid *propgrid, wxPGProperty *property, const wxPoint &pos, const wxSize &size) const =0
| Instantiates editor controls. More...
virtual void | UpdateControl (wxPGProperty *property, wxWindow *ctrl) const =0
| Loads value from property to the control. More...
virtual void | DrawValue (wxDC &dc, const wxRect &rect, wxPGProperty *property, const wxString &text) const
| Draws value for given property. More...
virtual bool | OnEvent (wxPropertyGrid *propgrid, wxPGProperty *property, wxWindow *wnd_primary, wxEvent &event) const =0
| Handles events. More...
virtual bool | GetValueFromControl (wxVariant &variant, wxPGProperty *property, wxWindow *ctrl) const
| Returns value from control, via parameter variant. More...
virtual void | SetValueToUnspecified (wxPGProperty *property, wxWindow *ctrl) const
| Sets value in control to unspecified. More...
virtual void | SetControlAppearance (wxPropertyGrid *pg, wxPGProperty *property, wxWindow *ctrl, const wxPGCell &appearance, const wxPGCell &oldAppearance, bool unspecified) const
| Called by property grid to set new appearance for the control. More...
virtual void | SetControlStringValue (wxPGProperty *property, wxWindow *ctrl, const wxString &txt) const
| Sets control's value specifically from string. More...
virtual void | SetControlIntValue (wxPGProperty *property, wxWindow *ctrl, int value) const
| Sets control's value specifically from int (applies to choice etc.). More...
virtual int | InsertItem (wxWindow *ctrl, const wxString &label, int index) const
| Inserts item to existing control. More...
virtual void | DeleteItem (wxWindow *ctrl, int index) const
| Deletes item from existing control. More...
virtual void | OnFocus (wxPGProperty *property, wxWindow *wnd) const
| Extra processing when control gains focus. More...
virtual bool | CanContainCustomImage () const
| Returns true if control itself can contain the custom image. More...
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to nullptr the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () 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=nullptr, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `__WXDEBUG__` is defined. More...

## Public Attributes
void * | m_clientData

## Additional Inherited Members
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (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 wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Constructor & Destructor Documentation

## ◆ wxPGEditor()

wxPGEditor::wxPGEditor | ( |  | ) |

Constructor.

## ◆ ~wxPGEditor()

virtual wxPGEditor::~wxPGEditor | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ CanContainCustomImage()

virtual bool wxPGEditor::CanContainCustomImage | ( |  | ) | const
| virtual

Returns true if control itself can contain the custom image.

Default implementation returns false.

Reimplemented in wxPGChoiceEditor.

## ◆ CreateControls()

virtual wxPGWindowList wxPGEditor::CreateControls | ( | wxPropertyGrid * | propgrid,
|  | wxPGProperty * | property,
|  | const wxPoint & | pos,
|  | const wxSize & | size
| ) |  | const
| pure virtual

Instantiates editor controls.

Parameters

  propgrid | wxPropertyGrid to which the property belongs (use as parent for control).
  property | Property for which this method is called.
  pos | Position, inside wxPropertyGrid, to create control(s) to.
  size | Initial size for control(s).

Remarks
  - It is not necessary to call wxEvtHandler::Bind() for interesting editor events. All events from controls are automatically forwarded to wxPGEditor::OnEvent() and wxPGProperty::OnEvent().

Implemented in wxPGCheckBoxEditor, wxPGTextCtrlAndButtonEditor, wxPGChoiceAndButtonEditor, wxPGComboBoxEditor, wxPGChoiceEditor, wxPGTextCtrlEditor, and wxPGSpinCtrlEditor.

## ◆ DeleteItem()

virtual void wxPGEditor::DeleteItem | ( | wxWindow * | ctrl,
|  | int | index
| ) |  | const
| virtual

Deletes item from existing control.

Default implementation does nothing.

Reimplemented in wxPGChoiceEditor.

## ◆ DrawValue()

virtual void wxPGEditor::DrawValue | ( | wxDC & | dc,
|  | const wxRect & | rect,
|  | wxPGProperty * | property,
|  | const wxString & | text
| ) |  | const
| virtual

Draws value for given property.

Reimplemented in wxPGCheckBoxEditor.

## ◆ GetName()

virtual wxString wxPGEditor::GetName | ( |  | ) | const
| virtual

Returns pointer to the name of the editor.

For example, wxPGEditor_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.

Reimplemented in wxPGCheckBoxEditor, wxPGTextCtrlAndButtonEditor, wxPGChoiceAndButtonEditor, wxPGComboBoxEditor, wxPGChoiceEditor, wxPGTextCtrlEditor, and wxPGSpinCtrlEditor.

## ◆ GetValueFromControl()

virtual bool wxPGEditor::GetValueFromControl | ( | wxVariant & | variant,
|  | wxPGProperty * | property,
|  | wxWindow * | ctrl
| ) |  | const
| virtual

Returns value from control, via parameter variant.

Usually ends up calling property's StringToValue() or IntToValue(). Returns true if value was different.

Reimplemented in wxPGCheckBoxEditor, wxPGComboBoxEditor, wxPGChoiceEditor, and wxPGTextCtrlEditor.

## ◆ InsertItem()

virtual int wxPGEditor::InsertItem | ( | wxWindow * | ctrl,
|  | const wxString & | label,
|  | int | index
| ) |  | const
| virtual

Inserts item to existing control.

Index -1 means end of list. Default implementation does nothing. Returns index of item added.

Reimplemented in wxPGChoiceEditor.

## ◆ OnEvent()

virtual bool wxPGEditor::OnEvent | ( | wxPropertyGrid * | propgrid,
|  | wxPGProperty * | property,
|  | wxWindow * | wnd_primary,
|  | wxEvent & | event
| ) |  | const
| pure virtual

Handles events.

Returns true if value in control was modified (see wxPGProperty::OnEvent() for more information).

Remarks
  wxPropertyGrid 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 wxTextCtrl and wxComboBox based editor).

Implemented in wxPGSpinCtrlEditor, wxPGCheckBoxEditor, wxPGChoiceEditor, wxPGTextCtrlEditor, and wxPGComboBoxEditor.

## ◆ OnFocus()

virtual void wxPGEditor::OnFocus | ( | wxPGProperty * | property,
|  | wxWindow * | wnd
| ) |  | const
| virtual

Extra processing when control gains focus.

For example, wxTextCtrl based controls should select all text.

Reimplemented in wxPGComboBoxEditor, and wxPGTextCtrlEditor.

## ◆ SetControlAppearance()

virtual void wxPGEditor::SetControlAppearance | ( | wxPropertyGrid * | pg,
|  | wxPGProperty * | property,
|  | wxWindow * | ctrl,
|  | const wxPGCell & | appearance,
|  | const wxPGCell & | oldAppearance,
|  | bool | unspecified
| ) |  | const
| virtual

Called by property grid to set new appearance for the control.

Default implementation sets foreground colour, background colour, font, plus text for wxTextCtrl and wxComboCtrl.

Parameters

  pg | Property grid to which the edited property belongs.
  property | Edited property to which the editor control belongs.
  ctrl | Editor control.
  appearance | New appearance to be applied.
  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).
  unspecified | If true tells this function that the new appearance represents an unspecified property value.

## ◆ SetControlIntValue()

virtual void wxPGEditor::SetControlIntValue | ( | wxPGProperty * | property,
|  | wxWindow * | ctrl,
|  | int | value
| ) |  | const
| virtual

Sets control's value specifically from int (applies to choice etc.).

Reimplemented in wxPGCheckBoxEditor, and wxPGChoiceEditor.

## ◆ SetControlStringValue()

virtual void wxPGEditor::SetControlStringValue | ( | wxPGProperty * | property,
|  | wxWindow * | ctrl,
|  | const wxString & | txt
| ) |  | const
| virtual

Sets control's value specifically from string.

Reimplemented in wxPGChoiceEditor, and wxPGTextCtrlEditor.

## ◆ SetValueToUnspecified()

virtual void wxPGEditor::SetValueToUnspecified | ( | wxPGProperty * | property,
|  | wxWindow * | ctrl
| ) |  | const
| virtual

Sets value in control to unspecified.

Reimplemented in wxPGCheckBoxEditor, and wxPGChoiceEditor.

## ◆ UpdateControl()

virtual void wxPGEditor::UpdateControl | ( | wxPGProperty * | property,
|  | wxWindow * | ctrl
| ) |  | const
| pure virtual

Loads value from property to the control.

Implemented in wxPGCheckBoxEditor, wxPGComboBoxEditor, wxPGChoiceEditor, and wxPGTextCtrlEditor.

## Member Data Documentation

## ◆ m_clientData

void* wxPGEditor::m_clientData