X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/94f0292941b6520afbabc999da698ef5fe576a46..4566dcbe24d452b729b0bad3f72ad63e6a60037c:/src/propgrid/manager.cpp diff --git a/src/propgrid/manager.cpp b/src/propgrid/manager.cpp index d844503d38..158cc557ab 100644 --- a/src/propgrid/manager.cpp +++ b/src/propgrid/manager.cpp @@ -423,8 +423,9 @@ wxPropertyGridManager::~wxPropertyGridManager() { END_MOUSE_CAPTURE - m_pPropGrid->DoSelectProperty(NULL); - m_pPropGrid->m_pState = NULL; + //m_pPropGrid->ClearSelection(); + delete m_pPropGrid; + m_pPropGrid = NULL; size_t i; for ( i=0; iOnTLPChanging((wxWindow*)newParent); + + bool res = wxPanel::Reparent(newParent); + + return res; +} + +// ----------------------------------------------------------------------- + // Actually shows given page. bool wxPropertyGridManager::DoSelectPage( int index ) { @@ -541,7 +554,7 @@ bool wxPropertyGridManager::DoSelectPage( int index ) if ( m_selPage == index ) return true; - if ( m_pPropGrid->m_selected ) + if ( m_pPropGrid->GetSelection() ) { if ( !m_pPropGrid->ClearSelection() ) return false; @@ -657,6 +670,8 @@ wxPropertyGridPageState* wxPropertyGridManager::GetPageState( int page ) const void wxPropertyGridManager::Clear() { + m_pPropGrid->ClearSelection(false); + m_pPropGrid->Freeze(); int i; @@ -711,10 +726,10 @@ void wxPropertyGridManager::SetColumnCount( int colCount, int page ) size_t wxPropertyGridManager::GetPageCount() const { - if ( !(m_iFlags & wxPG_MAN_FL_PAGE_INSERTED) ) - return 0; + if ( !(m_iFlags & wxPG_MAN_FL_PAGE_INSERTED) ) + return 0; - return m_arrPages.size(); + return m_arrPages.size(); } // ----------------------------------------------------------------------- @@ -869,6 +884,19 @@ bool wxPropertyGridManager::IsPageModified( size_t index ) const // ----------------------------------------------------------------------- +bool wxPropertyGridManager::IsPropertySelected( wxPGPropArg id ) const +{ + wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false) + for ( unsigned int i=0; iDoIsPropertySelected(p) ) + return true; + } + return false; +} + +// ----------------------------------------------------------------------- + wxPGProperty* wxPropertyGridManager::GetPageRoot( int index ) const { wxASSERT( index >= 0 ); @@ -1479,7 +1507,7 @@ void wxPropertyGridManager::SetSplitterLeft( bool subProps, bool allPages ) else { wxClientDC dc(this); - dc.SetFont(m_pPropGrid->m_font); + dc.SetFont(m_pPropGrid->GetFont()); int highest = 0; unsigned int i;