X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/26412151db13c86f9177eef882c961b80dab9004..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/propgrid/manager.cpp diff --git a/src/propgrid/manager.cpp b/src/propgrid/manager.cpp index c9252f2172..99d6e145fc 100644 --- a/src/propgrid/manager.cpp +++ b/src/propgrid/manager.cpp @@ -346,7 +346,7 @@ private: virtual bool ProcessEvent( wxEvent& event ) { - if ( event.IsKindOf(CLASSINFO(wxHeaderCtrlEvent)) ) + if ( event.IsKindOf(wxCLASSINFO(wxHeaderCtrlEvent)) ) { wxHeaderCtrlEvent& hcEvent = static_cast(event); @@ -355,7 +355,7 @@ private: int col = hcEvent.GetColumn(); int evtType = event.GetEventType(); - if ( evtType == wxEVT_COMMAND_HEADER_RESIZING ) + if ( evtType == wxEVT_HEADER_RESIZING ) { int colWidth = hcEvent.GetWidth(); @@ -367,7 +367,7 @@ private: return true; } - else if ( evtType == wxEVT_COMMAND_HEADER_BEGIN_RESIZE ) + else if ( evtType == wxEVT_HEADER_BEGIN_RESIZE ) { // Never allow column resize if layout is static if ( m_manager->HasFlag(wxPG_STATIC_SPLITTER) ) @@ -380,7 +380,7 @@ private: return true; } - else if ( evtType == wxEVT_COMMAND_HEADER_END_RESIZE ) + else if ( evtType == wxEVT_HEADER_END_RESIZE ) { pg->SendEvent(wxEVT_PG_COL_END_DRAG, NULL, NULL, 0, @@ -745,12 +745,14 @@ bool wxPropertyGridManager::DoSelectPage( int index ) return false; } +#if wxUSE_TOOLBAR wxPropertyGridPage* prevPage; if ( m_selPage >= 0 ) prevPage = GetPage(m_selPage); else prevPage = m_emptyPage; +#endif wxPropertyGridPage* nextPage; @@ -1030,7 +1032,7 @@ wxPropertyGridPage* wxPropertyGridManager::InsertPage( int index, // Connect to toolbar button events. Connect(pageObj->m_toolId, - wxEVT_COMMAND_TOOL_CLICKED, + wxEVT_TOOL, wxCommandEventHandler( wxPropertyGridManager::OnToolbarClick)); @@ -1513,11 +1515,11 @@ void wxPropertyGridManager::RecreateControls() m_pToolbar->Realize(); Connect(m_categorizedModeToolId, - wxEVT_COMMAND_TOOL_CLICKED, + wxEVT_TOOL, wxCommandEventHandler( wxPropertyGridManager::OnToolbarClick)); Connect(m_alphabeticModeToolId, - wxEVT_COMMAND_TOOL_CLICKED, + wxEVT_TOOL, wxCommandEventHandler( wxPropertyGridManager::OnToolbarClick)); } @@ -1830,6 +1832,27 @@ void wxPropertyGridManager::SetSplitterLeft( bool subProps, bool allPages ) #endif } +void wxPropertyGridManager::SetPageSplitterLeft(int page, bool subProps) +{ + wxASSERT_MSG( (page < (int) GetPageCount()), + wxT("SetPageSplitterLeft() has no effect until pages have been added") ); + + if (page < (int) GetPageCount()) + { + wxClientDC dc(this); + dc.SetFont(m_pPropGrid->GetFont()); + + int maxW = m_pState->GetColumnFitWidth(dc, m_arrPages[page]->m_properties, 0, subProps ); + maxW += m_pPropGrid->m_marginWidth; + SetPageSplitterPosition( page, maxW ); + +#if wxUSE_HEADERCTRL + if ( m_showHeader ) + m_pHeaderCtrl->OnColumWidthsChanged(); +#endif + } +} + // ----------------------------------------------------------------------- void wxPropertyGridManager::OnPropertyGridSelect( wxPropertyGridEvent& event ) @@ -1885,6 +1908,11 @@ void wxPropertyGridManager::OnResize( wxSizeEvent& WXUNUSED(event) ) } } } + +#if wxUSE_HEADERCTRL + if ( m_showHeader ) + m_pHeaderCtrl->OnColumWidthsChanged(); +#endif } // ----------------------------------------------------------------------- @@ -1982,7 +2010,7 @@ void wxPropertyGridManager::OnMouseClick( wxMouseEvent &event ) void wxPropertyGridManager::OnMouseUp( wxMouseEvent &event ) { - // No event type check - basicly calling this method should + // No event type check - basically calling this method should // just stop dragging. if ( m_dragStatus >= 1 )