X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0996c3da00677389854e5afbcef499e7aa1654b..7f4f5e8c24607ead9b5e2f4c60658dcd61f028f4:/interface/wx/propgrid/editors.h?ds=sidebyside diff --git a/interface/wx/propgrid/editors.h b/interface/wx/propgrid/editors.h index be902a925b..c74c2816a1 100644 --- a/interface/wx/propgrid/editors.h +++ b/interface/wx/propgrid/editors.h @@ -114,6 +114,27 @@ public: virtual void SetValueToUnspecified( wxPGProperty* property, wxWindow* ctrl ) const = 0; + /** + 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. + + The parameter @a appearance represents the new appearance to be applied. + + The parameter @a oldAppearance is the previously applied appearance. + Used to detect which control attributes need to be changed (e.g. so we only + change background colour if really needed). + + Finally, the parameter @a unspecified if @true tells this function that + the new appearance represents an unspecified property value. + */ + virtual void SetControlAppearance( wxPropertyGrid* pg, + wxPGProperty* property, + wxWindow* ctrl, + const wxPGCell& appearance, + const wxPGCell& oldAppearance, + bool unspecified ) const; + /** Sets control's value specifically from string. */ virtual void SetControlStringValue( wxPGProperty* property, wxWindow* ctrl, const wxString& txt ) const; @@ -220,18 +241,19 @@ public: if ( event.GetId() == buttons->GetButtonId(0) ) { - // Do something when first button is pressed - return true; + // Do something when the first button is pressed + // Return true if the action modified the value in editor. + ... } if ( event.GetId() == buttons->GetButtonId(1) ) { - // Do something when second button is pressed - return true; + // Do something when the second button is pressed + ... } if ( event.GetId() == buttons->GetButtonId(2) ) { - // Do something when third button is pressed - return true; + // Do something when the third button is pressed + ... } } return wxPGTextCtrlEditor::OnEvent(propGrid, property, ctrl, event);