Fixed incorrect background colour that wxStaticTexts in description box sometimes got

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2008-12-06 19:01:32 +00:00
parent 3e0e389578
commit 3d1706f8ee
2 changed files with 22 additions and 24 deletions

View File

@@ -715,7 +715,7 @@ protected:
/** (Re)creates/destroys controls, according to the window style bits. */ /** (Re)creates/destroys controls, according to the window style bits. */
void RecreateControls(); void RecreateControls();
void RefreshHelpBox( int new_splittery, int new_width, int new_height ); void UpdateDescriptionBox( int new_splittery, int new_width, int new_height );
void RepaintSplitter( wxDC& dc, void RepaintSplitter( wxDC& dc,
int new_splittery, int new_splittery,

View File

@@ -1004,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; int use_hei = new_height;
use_hei--; 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. // Fix help control positions.
int cap_hei = m_pPropGrid->m_fontHeight; int cap_hei = m_pPropGrid->m_fontHeight;
int cap_y = new_splittery+m_splitterHeight+5; int cap_y = new_splittery+m_splitterHeight+5;
@@ -1050,8 +1041,8 @@ void wxPropertyGridManager::RefreshHelpBox( int new_splittery, int new_width, in
} }
} }
wxClientDC dc(this); wxRect r(0, new_splittery, new_width, new_height-new_splittery);
RepaintSplitter( dc, new_splittery, new_width, new_height, true ); RefreshRect(r);
m_splitterY = new_splittery; m_splitterY = new_splittery;
@@ -1120,7 +1111,7 @@ void wxPropertyGridManager::RecalculatePositions( int width, int height )
propgridBottomY = new_splittery; propgridBottomY = new_splittery;
RefreshHelpBox( new_splittery, width, height ); UpdateDescriptionBox( new_splittery, width, height );
} }
if ( m_iFlags & wxPG_FL_INITIALIZED ) if ( m_iFlags & wxPG_FL_INITIALIZED )
@@ -1283,15 +1274,24 @@ void wxPropertyGridManager::RecreateControls()
if ( !m_pTxtHelpCaption ) 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->SetFont( m_pPropGrid->m_captionFont );
m_pTxtHelpCaption->SetCursor ( *wxSTANDARD_CURSOR ); m_pTxtHelpCaption->SetCursor( *wxSTANDARD_CURSOR );
} }
if ( !m_pTxtHelpContent ) if ( !m_pTxtHelpContent )
{ {
m_pTxtHelpContent = new wxStaticText (this,baseId+ID_ADVHELPCONTENT_OFFSET, m_pTxtHelpContent = new wxStaticText(this,
wxEmptyString,wxDefaultPosition,wxDefaultSize,wxALIGN_LEFT|wxST_NO_AUTORESIZE); baseId+ID_ADVHELPCONTENT_OFFSET,
m_pTxtHelpContent->SetCursor ( *wxSTANDARD_CURSOR ); wxT(""),
wxDefaultPosition,
wxDefaultSize,
wxALIGN_LEFT|wxST_NO_AUTORESIZE);
m_pTxtHelpContent->SetCursor( *wxSTANDARD_CURSOR );
} }
SetDescribedProperty(GetSelection()); SetDescribedProperty(GetSelection());
@@ -1464,8 +1464,7 @@ void wxPropertyGridManager::SetDescription( const wxString& label, const wxStrin
m_pTxtHelpCaption->SetSize(-1,osz1.y); m_pTxtHelpCaption->SetSize(-1,osz1.y);
m_pTxtHelpContent->SetSize(-1,osz2.y); m_pTxtHelpContent->SetSize(-1,osz2.y);
if ( (m_iFlags & wxPG_FL_DESC_REFRESH_REQUIRED) || (osz2.x<(m_width-10)) ) UpdateDescriptionBox( m_splitterY, m_width, m_height );
RefreshHelpBox( m_splitterY, m_width, m_height );
} }
} }
@@ -1481,8 +1480,7 @@ void wxPropertyGridManager::SetDescribedProperty( wxPGProperty* p )
} }
else else
{ {
m_pTxtHelpCaption->SetLabel(wxEmptyString); SetDescription( wxEmptyString, wxEmptyString );
m_pTxtHelpContent->SetLabel(wxEmptyString);
} }
} }
} }
@@ -1583,7 +1581,7 @@ void wxPropertyGridManager::OnMouseMove( wxMouseEvent &event )
m_splitterY = sy; m_splitterY = sy;
m_pPropGrid->SetSize( m_width, m_splitterY - m_pPropGrid->GetPosition().y ); 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; m_extraHeight -= change;
InvalidateBestSize(); InvalidateBestSize();