X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6086bcc8ba1d46f5079bf40a61c8411e4b66fe9f..057945a5cdea8eae70d6f8877fbe787a261e3614:/interface/wx/propgrid/editors.h diff --git a/interface/wx/propgrid/editors.h b/interface/wx/propgrid/editors.h index 29738a5c22..ebc3c342a5 100644 --- a/interface/wx/propgrid/editors.h +++ b/interface/wx/propgrid/editors.h @@ -2,8 +2,7 @@ // Name: editors.h // Purpose: interface of wxPropertyGrid editors // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -94,9 +93,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_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 +113,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 +183,8 @@ public: class wxSampleMultiButtonEditor : public wxPGTextCtrlEditor { - DECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor) + wxDECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor); + public: wxSampleMultiButtonEditor() {} virtual ~wxSampleMultiButtonEditor() {} @@ -180,7 +201,7 @@ public: wxEvent& event ) const; }; - IMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor) + wxIMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor); wxPGWindowList wxSampleMultiButtonEditor::CreateControls( wxPropertyGrid* propGrid, wxPGProperty* property, @@ -214,7 +235,7 @@ public: wxWindow* ctrl, wxEvent& event ) const { - if ( event.GetEventType() == wxEVT_COMMAND_BUTTON_CLICKED ) + if ( event.GetEventType() == wxEVT_BUTTON ) { wxPGMultiButton* buttons = (wxPGMultiButton*) propGrid->GetEditorControlSecondary();