// Purpose: interface of wxPropertyGrid editors
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
(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
wxComboBox based editor).
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;
class wxSampleMultiButtonEditor : public wxPGTextCtrlEditor
{
- DECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor)
+ wxDECLARE_DYNAMIC_CLASS(wxSampleMultiButtonEditor);
+
public:
wxSampleMultiButtonEditor() {}
virtual ~wxSampleMultiButtonEditor() {}
wxEvent& event ) const;
};
- IMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor)
+ wxIMPLEMENT_DYNAMIC_CLASS(wxSampleMultiButtonEditor, wxPGTextCtrlEditor);
wxPGWindowList wxSampleMultiButtonEditor::CreateControls( wxPropertyGrid* propGrid,
wxPGProperty* property,