// Created: 2007-04-14
// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_PROPGRID_EDITORS_H_
#define _WX_PROPGRID_EDITORS_H_
+#include "wx/defs.h"
+
#if wxUSE_PROPGRID
+class WXDLLIMPEXP_FWD_PROPGRID wxPGCell;
+class WXDLLIMPEXP_FWD_PROPGRID wxPGProperty;
+class WXDLLIMPEXP_FWD_PROPGRID wxPropertyGrid;
+
// -----------------------------------------------------------------------
// wxPGWindowList contains list of editor windows returned by CreateControls.
wxWindow* m_primary;
wxWindow* m_secondary;
-#ifndef SWIG
wxPGWindowList( wxWindow* a )
{
m_primary = a;
m_primary = a;
m_secondary = b;
};
-#endif
};
// -----------------------------------------------------------------------
@remarks wxPropertyGrid will automatically unfocus the editor when
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,
wxWindow* wnd_primary, wxEvent& event ) const = 0;
-#if !defined(SWIG) || defined(CREATE_VCW)
/** Returns value from control, via parameter 'variant'.
Usually ends up calling property's StringToValue or IntToValue.
Returns true if value was different.
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
-#endif
- /** Sets value in control to unspecified. */
+ /**
+ Sets new appearance for the control. Default implementation
+ sets foreground colour, background colour, font, plus text
+ for wxTextCtrl and wxComboCtrl.
+
+ @param appearance
+ New appearance to be applied.
+
+ @param 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).
+
+ @param unspecified
+ @true if 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 value in control to unspecified.
+ */
virtual void SetValueToUnspecified( wxPGProperty* property,
- wxWindow* ctrl ) const = 0;
+ wxWindow* ctrl ) const;
/** Sets control's value specifically from string. */
virtual void SetControlStringValue( wxPGProperty* property,
virtual bool GetValueFromControl( wxVariant& variant,
wxPGProperty* property,
wxWindow* ctrl ) const;
- virtual void SetValueToUnspecified( wxPGProperty* property,
- wxWindow* ctrl ) const;
virtual wxString GetName() const;
};
-// Exclude classes from being able to be derived from in wxPython bindings
-#ifndef SWIG
-
class WXDLLIMPEXP_PROPGRID wxPGChoiceAndButtonEditor : public wxPGChoiceEditor
{
public:
DECLARE_DYNAMIC_CLASS(wxPGTextCtrlAndButtonEditor)
};
-#endif // !SWIG
-
#if wxPG_INCLUDE_CHECKBOX
{
public:
wxPGMultiButton( wxPropertyGrid* pg, const wxSize& sz );
+ virtual ~wxPGMultiButton() {}
wxWindow* GetButton( unsigned int i ) { return (wxWindow*) m_buttons[i]; }
const wxWindow* GetButton( unsigned int i ) const