From 4a06b34847e04ddaf6c25f9c63f4f072ed427636 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 14 Sep 2003 16:00:29 +0000 Subject: [PATCH] use newly added GetViewRect() instead of trying to guess the list ctrl size ourselves git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/listbkg.cpp | 45 ++++++----------------------------------- 1 file changed, 6 insertions(+), 39 deletions(-) diff --git a/src/generic/listbkg.cpp b/src/generic/listbkg.cpp index c4c83d0b91..6b5f08b442 100644 --- a/src/generic/listbkg.cpp +++ b/src/generic/listbkg.cpp @@ -103,7 +103,8 @@ wxListbook::Create(wxWindow *parent, wxID_LISTBOOKLISTVIEW, wxDefaultPosition, wxDefaultSize, - wxLC_ICON | wxLC_SINGLE_SEL + wxBORDER_NONE | wxLC_ICON | wxLC_SINGLE_SEL | + (IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) ); m_line = new wxStaticLine @@ -124,53 +125,19 @@ wxListbook::Create(wxWindow *parent, wxSize wxListbook::GetListSize() const { - const wxSize sizeClient = GetClientSize(); - - // we need to find the longest/tallest label - wxCoord widthMax = 0, - heightMax = 0; - const int count = m_list->GetItemCount(); - if ( count ) - { - for ( int i = 0; i < count; i++ ) - { - wxRect r; - m_list->GetItemRect(i, r); - - wxCoord w = r.width, - h = r.height; - - if ( w > widthMax ) - widthMax = w; - if ( h > heightMax ) - heightMax = h; - } - } + const wxSize sizeClient = GetClientSize(), + sizeList = m_list->GetViewRect().GetSize(); wxSize size; if ( IsVertical() ) { size.x = sizeClient.x; - size.y = heightMax; - - if ( widthMax >= sizeClient.x ) - { - // account for the scrollbar - size.y += wxSystemSettings::GetMetric(wxSYS_HSCROLL_Y); - } + size.y = sizeList.y; } else // left/right aligned { - // +20 is due to an apparent bug in wxListCtrl::GetItemRect() but I - // can't fix it there right now so just add a fudge here... - size.x = widthMax + 20; + size.x = sizeList.x; size.y = sizeClient.y; - - if ( heightMax >= sizeClient.y ) - { - // account for the scrollbar - size.x += wxSystemSettings::GetMetric(wxSYS_VSCROLL_X); - } } return size; -- 2.45.2