X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/76733d4caed79e0f8efeb2634f960659bf55a5f9..0fe260084e941fd0083bb1939a3af120df80bf4f:/include/wx/propgrid/propgrid.h diff --git a/include/wx/propgrid/propgrid.h b/include/wx/propgrid/propgrid.h index 2d744fe7c9..0a950f9818 100644 --- a/include/wx/propgrid/propgrid.h +++ b/include/wx/propgrid/propgrid.h @@ -19,6 +19,7 @@ #include "wx/scrolwin.h" #include "wx/tooltip.h" #include "wx/datetime.h" +#include "wx/recguard.h" #include "wx/propgrid/property.h" #include "wx/propgrid/propgridiface.h" @@ -403,7 +404,10 @@ wxPG_VFB_UNDEFINED = 0x80 /** @} */ -typedef wxByte wxPGVFBFlags; +// Having this as define instead of wxByte typedef makes things easier for +// wxPython bindings (ignoring and redefining it in SWIG interface file +// seemed rather tricky) +#define wxPGVFBFlags unsigned char /** wxPGValidationInfo @@ -563,8 +567,6 @@ enum wxPG_SET_SPLITTER_POSITION_SPLITTER_FLAGS #define wxPG_FL_IN_SELECT_PROPERTY 0x00100000 // Set when help string is shown in status bar #define wxPG_FL_STRING_IN_STATUSBAR 0x00200000 -// Validation failed. Clear on modify event. -#define wxPG_FL_VALIDATION_FAILED 0x00800000 // Auto sort is enabled (for categorized mode) #define wxPG_FL_CATMODE_AUTO_SORT 0x01000000 // Set after page has been inserted to manager @@ -1430,7 +1432,7 @@ public: /** Returns rectangle that fully contains properties between and including - p1 and p2. + p1 and p2. Rectangle is in virtual scrolled window coordinates. */ wxRect GetPropertyRect( const wxPGProperty* p1, const wxPGProperty* p2 ) const; @@ -1808,6 +1810,10 @@ protected: /** Appearance of a unspecified value cell. */ wxPGCell m_unspecifiedAppearance; + /** List of properties to be deleted/removed in idle event handler. */ + wxArrayPGProperty m_deletedProperties; + wxArrayPGProperty m_removedProperties; + // // Temporary values // @@ -1849,6 +1855,9 @@ protected: wxPGVFBFlags m_permanentValidationFailureBehavior; // Set by app + // DoEditorValidate() recursion guard + wxRecursionGuardFlag m_validatingEditor; + /** Internal flags - see wxPG_FL_XXX constants. */ wxUint32 m_iFlags; @@ -2052,7 +2061,7 @@ protected: /** Reloads all non-customized colours from system settings. */ void RegainColours(); - bool DoEditorValidate(); + virtual bool DoEditorValidate(); // Similar to DoSelectProperty() but also works on columns // other than 1. Does not active editor if column is not @@ -2191,11 +2200,6 @@ inline void wxPGProperty::SetEditor( const wxString& editorName ) m_customEditor = wxPropertyGridInterface::GetEditorByName(editorName); } -inline bool wxPGProperty::Hide( bool hide, int flags ) -{ - return GetGrid()->HideProperty(this, hide, flags); -} - inline bool wxPGProperty::SetMaxLength( int maxLen ) { return GetGrid()->SetPropertyMaxLength(this,maxLen);