X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4311ac1ef6753a5a1bfbee6d618d88069d589996..dca9410337a8397c0b815e57cd66ec82e5c85654:/src/propgrid/manager.cpp?ds=sidebyside diff --git a/src/propgrid/manager.cpp b/src/propgrid/manager.cpp index 9c69c43d8d..27f4e81ac7 100644 --- a/src/propgrid/manager.cpp +++ b/src/propgrid/manager.cpp @@ -210,12 +210,15 @@ void wxPropertyGridPage::SetSplitterPosition( int splitterPos, int col ) void wxPropertyGridPage::DoSetSplitterPosition( int pos, int splitterColumn, bool allPages, - bool WXUNUSED(fromAutoCenter) ) + bool fromAutoCenter ) { if ( allPages && m_manager->GetPageCount() ) m_manager->SetSplitterPosition( pos, splitterColumn ); else - DoSetSplitterPositionThisPage( pos, splitterColumn ); + wxPropertyGridPageState::DoSetSplitterPosition( pos, + splitterColumn, + allPages, + fromAutoCenter ); } // ----------------------------------------------------------------------- @@ -232,7 +235,7 @@ IMPLEMENT_CLASS(wxPropertyGridManager, wxPanel) #define ID_ADVTOOLBAR_OFFSET 1 #define ID_ADVHELPCAPTION_OFFSET 2 #define ID_ADVHELPCONTENT_OFFSET 3 -#define ID_ADVBUTTON_OFFSET 4 +//#define ID_ADVBUTTON_OFFSET 4 #define ID_ADVTBITEMSBASE_OFFSET 5 // Must be last. // ----------------------------------------------------------------------- @@ -295,16 +298,16 @@ bool wxPropertyGridManager::Create( wxWindow *parent, void wxPropertyGridManager::Init1() { - //m_pPropGrid = (wxPropertyGrid*) NULL; + //m_pPropGrid = NULL; m_pPropGrid = CreatePropertyGrid(); #if wxUSE_TOOLBAR - m_pToolbar = (wxToolBar*) NULL; + m_pToolbar = NULL; #endif - m_pTxtHelpCaption = (wxStaticText*) NULL; - m_pTxtHelpContent = (wxStaticText*) NULL; + m_pTxtHelpCaption = NULL; + m_pTxtHelpContent = NULL; - m_emptyPage = (wxPropertyGridPage*) NULL; + m_emptyPage = NULL; m_selPage = -1; @@ -1001,20 +1004,11 @@ void wxPropertyGridManager::RepaintSplitter( wxDC& dc, int new_splittery, int ne // ----------------------------------------------------------------------- -void wxPropertyGridManager::RefreshHelpBox( int new_splittery, int new_width, int new_height ) +void wxPropertyGridManager::UpdateDescriptionBox( int new_splittery, int new_width, int new_height ) { - //if ( new_splittery == m_splitterY && new_width == m_width ) - // return; - int use_hei = new_height; use_hei--; - //wxRendererNative::Get().DrawSplitterSash(this,dc, - //wxSize(width,m_splitterHeight),new_splittery,wxHORIZONTAL); - - //wxRendererNative::Get().DrawSplitterBorder(this,dc, - // wxRect(0,new_splittery,new_width,m_splitterHeight)); - // Fix help control positions. int cap_hei = m_pPropGrid->m_fontHeight; int cap_y = new_splittery+m_splitterHeight+5; @@ -1047,8 +1041,8 @@ void wxPropertyGridManager::RefreshHelpBox( int new_splittery, int new_width, in } } - wxClientDC dc(this); - RepaintSplitter( dc, new_splittery, new_width, new_height, true ); + wxRect r(0, new_splittery, new_width, new_height-new_splittery); + RefreshRect(r); m_splitterY = new_splittery; @@ -1117,7 +1111,7 @@ void wxPropertyGridManager::RecalculatePositions( int width, int height ) propgridBottomY = new_splittery; - RefreshHelpBox( new_splittery, width, height ); + UpdateDescriptionBox( new_splittery, width, height ); } if ( m_iFlags & wxPG_FL_INITIALIZED ) @@ -1269,7 +1263,7 @@ void wxPropertyGridManager::RecreateControls() // No toolbar. if ( m_pToolbar ) m_pToolbar->Destroy(); - m_pToolbar = (wxToolBar*) NULL; + m_pToolbar = NULL; } #endif @@ -1280,15 +1274,24 @@ void wxPropertyGridManager::RecreateControls() if ( !m_pTxtHelpCaption ) { - m_pTxtHelpCaption = new wxStaticText (this,baseId+ID_ADVHELPCAPTION_OFFSET,wxEmptyString); + m_pTxtHelpCaption = new wxStaticText(this, + baseId+ID_ADVHELPCAPTION_OFFSET, + wxT(""), + wxDefaultPosition, + wxDefaultSize, + wxALIGN_LEFT|wxST_NO_AUTORESIZE); m_pTxtHelpCaption->SetFont( m_pPropGrid->m_captionFont ); - m_pTxtHelpCaption->SetCursor ( *wxSTANDARD_CURSOR ); + m_pTxtHelpCaption->SetCursor( *wxSTANDARD_CURSOR ); } if ( !m_pTxtHelpContent ) { - m_pTxtHelpContent = new wxStaticText (this,baseId+ID_ADVHELPCONTENT_OFFSET, - wxEmptyString,wxDefaultPosition,wxDefaultSize,wxALIGN_LEFT|wxST_NO_AUTORESIZE); - m_pTxtHelpContent->SetCursor ( *wxSTANDARD_CURSOR ); + m_pTxtHelpContent = new wxStaticText(this, + baseId+ID_ADVHELPCONTENT_OFFSET, + wxT(""), + wxDefaultPosition, + wxDefaultSize, + wxALIGN_LEFT|wxST_NO_AUTORESIZE); + m_pTxtHelpContent->SetCursor( *wxSTANDARD_CURSOR ); } SetDescribedProperty(GetSelection()); @@ -1301,12 +1304,12 @@ void wxPropertyGridManager::RecreateControls() if ( m_pTxtHelpCaption ) m_pTxtHelpCaption->Destroy(); - m_pTxtHelpCaption = (wxStaticText*) NULL; + m_pTxtHelpCaption = NULL; if ( m_pTxtHelpContent ) m_pTxtHelpContent->Destroy(); - m_pTxtHelpContent = (wxStaticText*) NULL; + m_pTxtHelpContent = NULL; } int width, height; @@ -1411,7 +1414,7 @@ void wxPropertyGridManager::OnToolbarClick( wxCommandEvent &event ) { // Event dispatching must be last. - m_pPropGrid->SendEvent( wxEVT_PG_PAGE_CHANGED, (wxPGProperty*) NULL ); + m_pPropGrid->SendEvent( wxEVT_PG_PAGE_CHANGED, NULL ); } else @@ -1461,8 +1464,7 @@ void wxPropertyGridManager::SetDescription( const wxString& label, const wxStrin m_pTxtHelpCaption->SetSize(-1,osz1.y); m_pTxtHelpContent->SetSize(-1,osz2.y); - if ( (m_iFlags & wxPG_FL_DESC_REFRESH_REQUIRED) || (osz2.x<(m_width-10)) ) - RefreshHelpBox( m_splitterY, m_width, m_height ); + UpdateDescriptionBox( m_splitterY, m_width, m_height ); } } @@ -1478,8 +1480,7 @@ void wxPropertyGridManager::SetDescribedProperty( wxPGProperty* p ) } else { - m_pTxtHelpCaption->SetLabel(wxEmptyString); - m_pTxtHelpContent->SetLabel(wxEmptyString); + SetDescription( wxEmptyString, wxEmptyString ); } } } @@ -1580,7 +1581,7 @@ void wxPropertyGridManager::OnMouseMove( wxMouseEvent &event ) m_splitterY = sy; m_pPropGrid->SetSize( m_width, m_splitterY - m_pPropGrid->GetPosition().y ); - RefreshHelpBox( m_splitterY, m_width, m_height ); + UpdateDescriptionBox( m_splitterY, m_width, m_height ); m_extraHeight -= change; InvalidateBestSize(); @@ -1675,7 +1676,7 @@ void wxPropertyGridManager::SetSplitterPosition( int pos, int splitterColumn ) for ( i=0; iDoSetSplitterPositionThisPage( pos, splitterColumn ); + page->DoSetSplitterPosition( pos, splitterColumn, false ); } m_pPropGrid->SetInternalFlag(wxPG_FL_SPLITTER_PRE_SET);