X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78f2d746a01dba8b3f62f89050129a351906ce2a..2febffbac706bd984d1c8e96bbc8f27b2343f07d:/include/wx/propgrid/props.h diff --git a/include/wx/propgrid/props.h b/include/wx/propgrid/props.h index b096bb24e1..eacb908f31 100644 --- a/include/wx/propgrid/props.h +++ b/include/wx/propgrid/props.h @@ -20,6 +20,12 @@ class wxArrayEditorDialog; #include "wx/propgrid/editors.h" +#include "wx/filename.h" +#include "wx/dialog.h" +#include "wx/textctrl.h" +#include "wx/button.h" +#include "wx/listbox.h" + // ----------------------------------------------------------------------- // @@ -35,7 +41,7 @@ WX_PG_IMPLEMENT_PROPERTY_CLASS_PLAIN(NAME, T, EDITOR) // // These macros help creating DoGetValidator #define WX_PG_DOGETVALIDATOR_ENTRY() \ - static wxValidator* s_ptr = (wxValidator*) NULL; \ + static wxValidator* s_ptr = NULL; \ if ( s_ptr ) return s_ptr; // Common function exit @@ -46,10 +52,6 @@ WX_PG_IMPLEMENT_PROPERTY_CLASS_PLAIN(NAME, T, EDITOR) // ----------------------------------------------------------------------- -#ifndef SWIG - -#include "wx/textctrl.h" - /** @class wxPGInDialogValidator @ingroup classes Creates and manages a temporary wxTextCtrl for validation purposes. @@ -77,8 +79,6 @@ private: wxTextCtrl* m_textCtrl; }; -#endif // SWIG - // ----------------------------------------------------------------------- // Property classes @@ -122,10 +122,9 @@ protected: // ----------------------------------------------------------------------- -#ifndef SWIG /** Constants used with DoValidation() methods. */ -enum +enum wxPGDoValidationConstants { /** Instead of modifying the value, show an error message. */ @@ -139,7 +138,6 @@ enum */ wxPG_PROPERTY_VALIDATION_WRAP = 2 }; -#endif // ----------------------------------------------------------------------- @@ -302,17 +300,14 @@ public: wxPGValidationInfo* pValidationInfo, int mode = wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE ); + virtual wxValidator* DoGetValidator () const; protected: int m_precision; - virtual wxValidator* DoGetValidator () const; }; // ----------------------------------------------------------------------- -// Exclude class from wxPython bindings -#ifndef SWIG - /** @class wxBoolProperty @ingroup classes Basic property with boolean value. @@ -339,8 +334,6 @@ public: virtual bool DoSetAttribute( const wxString& name, wxVariant& value ); }; -#endif // !SWIG - // ----------------------------------------------------------------------- // If set, then selection of choices is static and should not be @@ -366,7 +359,7 @@ public: #ifndef SWIG wxEnumProperty( const wxString& label = wxPG_LABEL, const wxString& name = wxPG_LABEL, - const wxChar** labels = NULL, + const wxChar* const* labels = NULL, const long* values = NULL, int value = 0 ); wxEnumProperty( const wxString& label, @@ -377,7 +370,7 @@ public: // Special constructor for caching choices (used by derived class) wxEnumProperty( const wxString& label, const wxString& name, - const wxChar** labels, + const wxChar* const* labels, const long* values, wxPGChoices* choicesCache, int value = 0 ); @@ -424,6 +417,8 @@ public: // this take advantage of it. virtual int GetChoiceSelection() const { return m_index; } + virtual void OnValidationFailure( wxVariant& pendingValue ); + protected: int GetIndex() const; @@ -462,7 +457,7 @@ public: wxEditEnumProperty( const wxString& label, const wxString& name, - const wxChar** labels, + const wxChar* const* labels, const long* values, const wxString& value ); wxEditEnumProperty( const wxString& label = wxPG_LABEL, @@ -478,7 +473,7 @@ public: // Special constructor for caching choices (used by derived class) wxEditEnumProperty( const wxString& label, const wxString& name, - const wxChar** labels, + const wxChar* const* labels, const long* values, wxPGChoices* choicesCache, const wxString& value ); @@ -508,7 +503,7 @@ public: #ifndef SWIG wxFlagsProperty( const wxString& label, const wxString& name, - const wxChar** labels, + const wxChar* const* labels, const long* values = NULL, long value = 0 ); wxFlagsProperty( const wxString& label, @@ -528,10 +523,11 @@ public: virtual bool StringToValue( wxVariant& variant, const wxString& text, int flags ) const; - virtual void ChildChanged( wxVariant& thisValue, - int childIndex, - wxVariant& childValue ) const; + virtual wxVariant ChildChanged( wxVariant& thisValue, + int childIndex, + wxVariant& childValue ) const; virtual void RefreshChildren(); + virtual bool DoSetAttribute( const wxString& name, wxVariant& value ); // GetChoiceSelection needs to overridden since m_choices is // used and value is integer, but it is not index. @@ -571,8 +567,6 @@ public: // ----------------------------------------------------------------------- -#include "wx/filename.h" - // Indicates first bit useable by derived properties. #define wxPG_PROP_SHOW_FULL_FILENAME wxPG_PROP_CLASS_SPECIFIC_1 @@ -679,9 +673,6 @@ protected: // ----------------------------------------------------------------------- -// Exclude class from wxPython bindings -#ifndef SWIG - /** @class wxDirProperty @ingroup classes Like wxLongStringProperty, but the button triggers dir selector instead. @@ -691,9 +682,7 @@ protected: */ class WXDLLIMPEXP_PROPGRID wxDirProperty : public wxLongStringProperty { -#ifndef SWIG DECLARE_DYNAMIC_CLASS(wxDirProperty) -#endif public: wxDirProperty( const wxString& name = wxPG_LABEL, const wxString& label = wxPG_LABEL, @@ -709,8 +698,6 @@ protected: wxString m_dlgMessage; }; -#endif // !SWIG - // ----------------------------------------------------------------------- // wxBoolProperty specific flags @@ -755,10 +742,8 @@ public: wxWindow* primary, const wxChar* cbt ); -#ifndef SWIG // Creates wxArrayEditorDialog for string editing. Called in OnButtonClick. virtual wxArrayEditorDialog* CreateEditorDialog(); -#endif protected: wxString m_display; // Cache for displayed text. @@ -845,17 +830,13 @@ WX_PG_IMPLEMENT_ARRAYSTRING_PROPERTY_WITH_VALIDATOR(PROPNAME, \ DELIMCHAR, \ CUSTBUTTXT) \ wxValidator* PROPNAME::DoGetValidator () const \ -{ return (wxValidator*) NULL; } +{ return NULL; } // ----------------------------------------------------------------------- // wxArrayEditorDialog // ----------------------------------------------------------------------- -#include "wx/button.h" -#include "wx/dialog.h" -#include "wx/listbox.h" - #define wxAEDIALOG_STYLE \ (wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxOK | wxCANCEL | wxCENTRE) @@ -906,7 +887,7 @@ public: */ virtual wxValidator* GetTextCtrlValidator() const { - return (wxValidator*) NULL; + return NULL; } // Returns true if array was actually modified @@ -953,10 +934,8 @@ protected: virtual void ArraySwap( size_t first, size_t second ) = 0; private: -#ifndef SWIG DECLARE_DYNAMIC_CLASS_NO_COPY(wxArrayEditorDialog) DECLARE_EVENT_TABLE() -#endif }; // ----------------------------------------------------------------------- @@ -1003,10 +982,8 @@ protected: virtual void ArraySwap( size_t first, size_t second ); private: -#ifndef SWIG DECLARE_DYNAMIC_CLASS_NO_COPY(wxPGArrayStringEditorDialog) DECLARE_EVENT_TABLE() -#endif }; // -----------------------------------------------------------------------