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:
		| @@ -188,6 +188,9 @@ protected: | |||||||
|     // update the thumb size shown by the scrollbar |     // update the thumb size shown by the scrollbar | ||||||
|     void UpdateScrollbar(); |     void UpdateScrollbar(); | ||||||
|  |  | ||||||
|  |     // remove the scrollbar completely because we don't need it | ||||||
|  |     void RemoveScrollbar(); | ||||||
|  |  | ||||||
| private: | private: | ||||||
|     // common part of all ctors |     // common part of all ctors | ||||||
|     void Init(); |     void Init(); | ||||||
|   | |||||||
| @@ -160,6 +160,13 @@ size_t wxVScrolledWindow::FindFirstFromBottom(size_t lineLast, bool full) | |||||||
|     return lineFirst; |     return lineFirst; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | void wxVScrolledWindow::RemoveScrollbar() | ||||||
|  | { | ||||||
|  |     m_lineFirst = 0; | ||||||
|  |     m_nVisible = m_lineMax; | ||||||
|  |     SetScrollbar(wxVERTICAL, 0, 0, 0); | ||||||
|  | } | ||||||
|  |  | ||||||
| void wxVScrolledWindow::UpdateScrollbar() | void wxVScrolledWindow::UpdateScrollbar() | ||||||
| { | { | ||||||
|     // see how many lines can we fit on screen |     // see how many lines can we fit on screen | ||||||
| @@ -189,8 +196,8 @@ void wxVScrolledWindow::UpdateScrollbar() | |||||||
|         if ( hAll < hWindow ) |         if ( hAll < hWindow ) | ||||||
|         { |         { | ||||||
|             // we don't need scrollbar at all |             // we don't need scrollbar at all | ||||||
|             m_lineFirst = 0; |             RemoveScrollbar(); | ||||||
|             SetScrollbar(wxVERTICAL, 0, 0, 0); |             return; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -222,8 +229,15 @@ void wxVScrolledWindow::SetLineCount(size_t count) | |||||||
|     m_heightTotal = EstimateTotalHeight(); |     m_heightTotal = EstimateTotalHeight(); | ||||||
|  |  | ||||||
|     // recalculate the scrollbars parameters |     // recalculate the scrollbars parameters | ||||||
|     m_lineFirst = 1;    // make sure it is != 0 |     if ( count ) | ||||||
|     ScrollToLine(0); |     { | ||||||
|  |         m_lineFirst = 1;    // make sure it is != 0 | ||||||
|  |         ScrollToLine(0); | ||||||
|  |     } | ||||||
|  |     else // no items | ||||||
|  |     { | ||||||
|  |         RemoveScrollbar(); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| void wxVScrolledWindow::RefreshLine(size_t line) | void wxVScrolledWindow::RefreshLine(size_t line) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user