X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9806a47c30050b2beeb772f69d4cef4a20dc8745..61ecf6d34ffb087e4a02d1c4e29e1f155875eba0:/src/generic/notebook.cpp diff --git a/src/generic/notebook.cpp b/src/generic/notebook.cpp index 94170c605e..118b9dd1f7 100644 --- a/src/generic/notebook.cpp +++ b/src/generic/notebook.cpp @@ -112,7 +112,7 @@ bool wxNotebook::Create(wxWindow *parent, if (!wxWindow::Create(parent, id, pos, size, style|wxNO_BORDER, name)) return FALSE; - SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE)); + SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE)); SetTabView(new wxNotebookTabView(this)); @@ -679,4 +679,36 @@ void wxNotebookTabView::OnTabActivate(int activateId, int deactivateId) m_notebook->GetEventHandler()->ProcessEvent(event); } +// Allows Vetoing +bool wxNotebookTabView::OnTabPreActivate(int activateId, int deactivateId) +{ + bool retval = TRUE; + + if (m_notebook) + { + wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_notebook->GetId()); + +#if defined (__WIN16__) + int activatePos = activateId; + int deactivatePos = deactivateId; +#else + // Translate from wxTabView's ids (which aren't position-dependent) + // to wxNotebook's (which are). + wxNotebookPage* pActive = (wxNotebookPage*) activateId; + wxNotebookPage* pDeactive = (wxNotebookPage*) deactivateId; + + int activatePos = m_notebook->FindPagePosition(pActive); + int deactivatePos = m_notebook->FindPagePosition(pDeactive); + +#endif + event.SetEventObject(m_notebook); + event.SetSelection(activatePos); + event.SetOldSelection(deactivatePos); + if (m_notebook->GetEventHandler()->ProcessEvent(event)) + { + retval = event.IsAllowed(); + } + } + return retval; +}