wxMSW wxNotebook implementation used to handle EVT_NOTEBOOK_PAGE_CHANGED event
to update the currently shown page which meant that page changing was broken
if the user code handled and didn't skip this event.
As the other ports don't require the user code to skip this event, don't do
this in wxMSW neither and always update the selected page unconditionally.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66060
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// callbacks
// ---------
void OnSize(wxSizeEvent& event);
// callbacks
// ---------
void OnSize(wxSizeEvent& event);
- void OnSelChange(wxBookCtrlEvent& event);
void OnNavigationKey(wxNavigationKeyEvent& event);
// base class virtuals
void OnNavigationKey(wxNavigationKeyEvent& event);
// base class virtuals
WX_DEFINE_LIST( wxNotebookPageInfoList )
BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase)
WX_DEFINE_LIST( wxNotebookPageInfoList )
BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase)
- EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, wxNotebook::OnSelChange)
EVT_SIZE(wxNotebook::OnSize)
EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
EVT_SIZE(wxNotebook::OnSize)
EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
// program allows the page change
SendPageChangedEvent(m_selection, nPage);
// program allows the page change
SendPageChangedEvent(m_selection, nPage);
+ UpdateSelection(nPage);
+
TabCtrl_SetCurSel(GetHwnd(), nPage);
}
}
TabCtrl_SetCurSel(GetHwnd(), nPage);
}
}
-void wxNotebook::OnSelChange(wxBookCtrlEvent& event)
-{
- // is it our tab control?
- if ( event.GetEventObject() == this )
- {
- UpdateSelection(event.GetSelection());
- }
-
- // we want to give others a chance to process this message as well
- event.Skip();
-}
-
void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
{
if ( event.IsWindowChange() ) {
void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
{
if ( event.IsWindowChange() ) {
event.SetInt(idCtrl);
bool processed = HandleWindowEvent(event);
event.SetInt(idCtrl);
bool processed = HandleWindowEvent(event);
+ if ( hdr->code == TCN_SELCHANGE )
+ UpdateSelection(event.GetSelection());
+
*result = !event.IsAllowed();
return processed;
}
*result = !event.IsAllowed();
return processed;
}