X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe01f16e5324c456d48aeb438acefc723f295acf..1237a25bc49396fa39516846a855bf3b0a4fe1f7:/include/wx/propgrid/propgrid.h diff --git a/include/wx/propgrid/propgrid.h b/include/wx/propgrid/propgrid.h index 13ff03b8b5..8729f1a92a 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 @@ -735,11 +737,12 @@ public: /** Centers the splitter. - - If argument is true, automatic splitter centering is enabled (only - applicapple if style wxPG_SPLITTER_AUTO_CENTER was defined). + + @param enableAutoResizing + If @true, automatic column resizing is enabled (only applicapple + if window style wxPG_SPLITTER_AUTO_CENTER is used). */ - void CenterSplitter( bool enable_auto_centering = false ); + void CenterSplitter( bool enableAutoResizing = false ); /** Deletes all properties. */ @@ -937,9 +940,13 @@ public: /** Returns current selection text colour. */ wxColour GetSelectionForegroundColour() const { return m_colSelFore; } - /** Returns current splitter x position. */ - int GetSplitterPosition() const - { return m_pState->DoGetSplitterPosition(0); } + /** + Returns current splitter x position. + */ + int GetSplitterPosition( unsigned int splitterIndex = 0 ) const + { + return m_pState->DoGetSplitterPosition(splitterIndex); + } /** Returns wxTextCtrl active in currently selected property, if any. Takes into account wxOwnerDrawnComboBox. @@ -1021,6 +1028,17 @@ public: */ void ResetColours(); + /** + Resets column sizes and splitter positions, based on proportions. + + @param enableAutoResizing + If @true, automatic column resizing is enabled (only applicapple + if window style wxPG_SPLITTER_AUTO_CENTER is used). + + @see wxPropertyGridInterface::SetColumnProportion() + */ + void ResetColumnSizes( bool enableAutoResizing = false ); + /** Selects a property. Editor widget is automatically created, but not focused unless focus is @@ -1414,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; @@ -1792,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 // @@ -1833,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; @@ -2036,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