本文整理汇总了C++中wxBookCtrlEvent::Veto方法的典型用法代码示例。如果您正苦于以下问题:C++ wxBookCtrlEvent::Veto方法的具体用法?C++ wxBookCtrlEvent::Veto怎么用?C++ wxBookCtrlEvent::Veto使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxBookCtrlEvent
的用法示例。
在下文中一共展示了wxBookCtrlEvent::Veto方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnPageClosing
void FindResultsTab::OnPageClosing(wxBookCtrlEvent& e)
{
e.Skip();
if(m_searchInProgress) {
::wxMessageBox(_("Can not close the search tab while a search is in progress"),
"CodeLite",
wxICON_WARNING | wxOK | wxCENTER);
e.Veto();
return;
}
}
示例2: OnPageClosing
void MainBook::OnPageClosing(wxBookCtrlEvent& e)
{
e.Skip();
LEditor* editor = dynamic_cast<LEditor*>(m_book->GetPage(e.GetSelection()));
if(editor) {
if(AskUserToSave(editor)) {
SendCmdEvent(wxEVT_EDITOR_CLOSING, (IEditor*)editor);
} else {
e.Veto();
}
} else {
// Unknown type, ask the plugins - maybe they know about this type
wxNotifyEvent closeEvent(wxEVT_NOTIFY_PAGE_CLOSING);
closeEvent.SetClientData(m_book->GetPage(e.GetSelection()));
EventNotifier::Get()->ProcessEvent(closeEvent);
if(!closeEvent.IsAllowed()) {
e.Veto();
}
}
}
示例3: 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);
}
}
}
示例4: OnPageClosing
void ErdPanel::OnPageClosing(wxBookCtrlEvent& event)
{
wxMessageBox(wxT("Event Veto"));
event.Veto();
}