remove the vertical scrollbar completely if the control is empty
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b1b408af9e
commit
c1aa5517ac
@ -188,6 +188,9 @@ protected:
|
||||
// update the thumb size shown by the scrollbar
|
||||
void UpdateScrollbar();
|
||||
|
||||
// remove the scrollbar completely because we don't need it
|
||||
void RemoveScrollbar();
|
||||
|
||||
private:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
|
@ -160,6 +160,13 @@ size_t wxVScrolledWindow::FindFirstFromBottom(size_t lineLast, bool full)
|
||||
return lineFirst;
|
||||
}
|
||||
|
||||
void wxVScrolledWindow::RemoveScrollbar()
|
||||
{
|
||||
m_lineFirst = 0;
|
||||
m_nVisible = m_lineMax;
|
||||
SetScrollbar(wxVERTICAL, 0, 0, 0);
|
||||
}
|
||||
|
||||
void wxVScrolledWindow::UpdateScrollbar()
|
||||
{
|
||||
// see how many lines can we fit on screen
|
||||
@ -189,8 +196,8 @@ void wxVScrolledWindow::UpdateScrollbar()
|
||||
if ( hAll < hWindow )
|
||||
{
|
||||
// we don't need scrollbar at all
|
||||
m_lineFirst = 0;
|
||||
SetScrollbar(wxVERTICAL, 0, 0, 0);
|
||||
RemoveScrollbar();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@ -222,8 +229,15 @@ void wxVScrolledWindow::SetLineCount(size_t count)
|
||||
m_heightTotal = EstimateTotalHeight();
|
||||
|
||||
// recalculate the scrollbars parameters
|
||||
m_lineFirst = 1; // make sure it is != 0
|
||||
ScrollToLine(0);
|
||||
if ( count )
|
||||
{
|
||||
m_lineFirst = 1; // make sure it is != 0
|
||||
ScrollToLine(0);
|
||||
}
|
||||
else // no items
|
||||
{
|
||||
RemoveScrollbar();
|
||||
}
|
||||
}
|
||||
|
||||
void wxVScrolledWindow::RefreshLine(size_t line)
|
||||
|
Loading…
Reference in New Issue
Block a user