X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2fd4a52415273bce03708dcdd7af4a4e2523f540..1406dc01b2d886bda2f64294e86d3c59d6a80dcd:/include/wx/propgrid/propgridpagestate.h?ds=sidebyside diff --git a/include/wx/propgrid/propgridpagestate.h b/include/wx/propgrid/propgridpagestate.h index 95909a3b40..9f3764a71e 100644 --- a/include/wx/propgrid/propgridpagestate.h +++ b/include/wx/propgrid/propgridpagestate.h @@ -234,7 +234,8 @@ private: } \ const CLASS& operator=( const CLASS& it ) \ { \ - Assign(it); \ + if (this != &it) \ + Assign(it); \ return *this; \ } \ CLASS& operator++() { Next(); return *this; } \ @@ -289,6 +290,23 @@ public: const wxPGProperty, const wxPropertyGridPageState) + /** + Additional copy constructor. + */ + wxPropertyGridConstIterator( const wxPropertyGridIterator& other ) + { + Assign(other); + } + + /** + Additional assignment operator. + */ + const wxPropertyGridConstIterator& operator=( const wxPropertyGridIterator& it ) + { + Assign(it); + return *this; + } + protected: }; @@ -342,9 +360,12 @@ public: #ifndef SWIG const wxPGVIterator& operator=( const wxPGVIterator& it ) { - UnRef(); - m_pIt = it.m_pIt; - m_pIt->IncRef(); + if (this != &it) + { + UnRef(); + m_pIt = it.m_pIt; + m_pIt->IncRef(); + } return *this; } #endif @@ -400,7 +421,7 @@ public: Override this member function to add custom behavior on property deletion. */ - virtual void DoDelete( wxPGProperty* item ); + virtual void DoDelete( wxPGProperty* item, bool doDelete = true ); wxSize DoFitColumns( bool allowGridResize = false ); @@ -548,9 +569,6 @@ public: bool IsInNonCatMode() const { return (bool)(m_properties == m_abcArray); } - /** Only inits arrays, doesn't migrate things or such. */ - void InitNonCatMode (); - void DoLimitPropertyEditing( wxPGProperty* p, bool limit = true ) { p->SetFlagRecursively(wxPG_PROP_NOEDITOR, limit); @@ -585,15 +603,15 @@ public: void DoSetPropertyValues( const wxVariantList& list, wxPGProperty* default_category ); - void DoSetPropertyValueUnspecified( wxPGProperty* p ); - void SetSplitterLeft( bool subProps = false ); /** Set virtual width for this particular page. */ void SetVirtualWidth( int width ); - void SortChildren( wxPGProperty* p ); - void Sort(); + void DoSortChildren( wxPGProperty* p, int flags = 0 ); + void DoSort( int flags = 0 ); + + bool PrepareAfterItemsAdded(); void SetSelection( wxPGProperty* p ) { m_selected = p; } @@ -686,6 +704,10 @@ protected: unsigned char m_anyModified; unsigned char m_vhCalcPending; + +private: + /** Only inits arrays, doesn't migrate things or such. */ + void InitNonCatMode(); }; #endif // #ifndef SWIG