本文整理汇总了C++中wxBookCtrlEvent::GetEventType方法的典型用法代码示例。如果您正苦于以下问题:C++ wxBookCtrlEvent::GetEventType方法的具体用法?C++ wxBookCtrlEvent::GetEventType怎么用?C++ wxBookCtrlEvent::GetEventType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxBookCtrlEvent
的用法示例。
在下文中一共展示了wxBookCtrlEvent::GetEventType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnEventProxy
void clMultiBook::OnEventProxy(wxBookCtrlEvent& event)
{
if(event.GetEventObject() == this) {
// Avoid loops
event.Skip();
return;
}
int selection = event.GetSelection();
int oldSelection = event.GetOldSelection();
Notebook* book = dynamic_cast<Notebook*>(event.GetEventObject());
if(!book) {
clWARNING() << "clMultiBook::OnEventProxy no notebook event object!";
return;
}
// Convert the event
wxBookCtrlEvent proxyEvent(event.GetEventType());
proxyEvent.SetEventObject(this);
proxyEvent.SetSelection(wxNOT_FOUND);
proxyEvent.SetOldSelection(wxNOT_FOUND);
if(selection != wxNOT_FOUND) { proxyEvent.SetSelection(BookIndexToGlobalIndex(book, selection)); }
if(oldSelection != wxNOT_FOUND) { proxyEvent.SetOldSelection(BookIndexToGlobalIndex(book, oldSelection)); }
// Process the event
if((event.GetEventType() == wxEVT_BOOK_TAB_CONTEXT_MENU) || (event.GetEventType() == wxEVT_BOOK_PAGE_CHANGED)) {
// Use ProcessEvent
GetEventHandler()->ProcessEvent(proxyEvent);
} else if((event.GetEventType() == wxEVT_BOOK_PAGE_CLOSING) || (event.GetEventType() == wxEVT_BOOK_PAGE_CHANGING)) {
// Handle with ProcessEvent with Veto option
GetEventHandler()->ProcessEvent(proxyEvent);
if(!proxyEvent.IsAllowed()) { event.Veto(); }
} else {
// Handle with AddPendingEvent
GetEventHandler()->AddPendingEvent(proxyEvent);
if(event.GetEventType() == wxEVT_BOOK_PAGE_CLOSED) {
// A page was closed
CallAfter(&clMultiBook::UpdateView);
}
}
}