X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6086bcc8ba1d46f5079bf40a61c8411e4b66fe9f..50d4763f1710f6e45ac6af7112d1ce9effe93bc4:/interface/wx/propgrid/editors.h?ds=sidebyside diff --git a/interface/wx/propgrid/editors.h b/interface/wx/propgrid/editors.h index 29738a5c22..8f563a05d7 100644 --- a/interface/wx/propgrid/editors.h +++ b/interface/wx/propgrid/editors.h @@ -3,7 +3,7 @@ // Purpose: interface of wxPropertyGrid editors // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -94,9 +94,9 @@ public: (see wxPGProperty::OnEvent() for more information). @remarks wxPropertyGrid will automatically unfocus the editor when - wxEVT_COMMAND_TEXT_ENTER is received and when it results in + @c wxEVT_COMMAND_TEXT_ENTER is received and when it results in property value being modified. This happens regardless of - editor type (ie. behavior is same for any wxTextCtrl and + editor type (ie. behaviour is same for any wxTextCtrl and wxComboBox based editor). */ virtual bool OnEvent( wxPropertyGrid* propgrid, wxPGProperty* property, @@ -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; @@ -163,7 +184,8 @@ public: class wxSampleMultiButtonEditor : public wxPGTextCtrlEditor { - DECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor) + wxDECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor); + public: wxSampleMultiButtonEditor() {} virtual ~wxSampleMultiButtonEditor() {} @@ -180,7 +202,7 @@ public: wxEvent& event ) const; }; - IMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor) + wxIMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor); wxPGWindowList wxSampleMultiButtonEditor::CreateControls( wxPropertyGrid* propGrid, wxPGProperty* property,