#if wxUSE_LISTBOOK
+#include "wx/listbook.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/settings.h"
+#endif
+
#include "wx/listctrl.h"
#include "wx/statline.h"
-#include "wx/listbook.h"
#include "wx/imaglist.h"
-#include "wx/settings.h"
// ----------------------------------------------------------------------------
// various wxWidgets macros
wxBookCtrlBase::OnSize(event);
}
+int wxListbook::HitTest(const wxPoint& pt, long * WXUNUSED(flags)) const
+{
+ int pagePos = wxNOT_FOUND;
+
+ const wxPoint clientPt = ClientToScreen(GetListView()->ScreenToClient(pt));
+
+ if ( wxRect(GetListView()->GetSize()).Inside(clientPt) )
+ {
+ int flagsList;
+ pagePos = GetListView()->HitTest(clientPt, flagsList);
+
+ if ( !(flagsList & wxLIST_HITTEST_ONITEM) )
+ {
+ pagePos = wxNOT_FOUND;
+ }
+ }
+
+ return pagePos;
+}
+
wxSize wxListbook::CalcSizeFromPage(const wxSize& sizePage) const
{
// we need to add the size of the list control and the border between
InvalidateBestSize();
// GetListView()->InvalidateBestSize();
GetListView()->Arrange();
-
+
if (GetPageCount() == 1)
{
wxSizeEvent sz(GetSize(), GetId());
GetListView()->DeleteAllItems();
if (!wxBookCtrlBase::DeleteAllPages())
return false;
-
+
m_selection = -1;
wxSizeEvent sz(GetSize(), GetId());
ProcessEvent(sz);
-
+
return true;
}