Moved the popup menu event handlers to dialog event handler

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2002-01-18 11:50:14 +00:00
parent dfb06c62ff
commit 59ae507561
5 changed files with 41 additions and 54 deletions

View File

@@ -42,6 +42,8 @@ BEGIN_EVENT_TABLE(wxResourceEditorDialogHandler, wxEvtHandler)
EVT_PAINT(wxResourceEditorDialogHandler::OnPaint)
EVT_MOUSE_EVENTS(wxResourceEditorDialogHandler::OnMouseEvent)
EVT_SIZE(wxResourceEditorDialogHandler::OnSize)
EVT_MENU(OBJECT_MENU_EDIT, wxResourceEditorDialogHandler::OnObjectEdit)
EVT_MENU(OBJECT_MENU_DELETE, wxResourceEditorDialogHandler::OnObjectDelete)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxResourceEditorControlHandler, wxEvtHandler)
@@ -867,6 +869,43 @@ void wxResourceEditorDialogHandler::OnDragEnd(int x, int y, int WXUNUSED(keys),
} // wxResourceEditorDialogHandler::OnDragEnd()
void wxResourceEditorDialogHandler::OnObjectEdit(wxCommandEvent& event)
{
wxMenu* menu = (wxMenu*) event.GetEventObject();
wxWindow *data = (wxWindow *)menu->GetClientData();
if (!data)
return;
wxResourceManager::GetCurrentResourceManager()->EditWindow(data);
}
void wxResourceEditorDialogHandler::OnObjectDelete(wxCommandEvent& event)
{
wxMenu* menu = (wxMenu*) event.GetEventObject();
wxWindow *data = (wxWindow *)menu->GetClientData();
if (!data)
return;
// Before deleting a dialog, give the user a last chance
// change their mind, in case they accidentally right
// clicked the dialog rather than the widget they were
// aiming for.
if (data->IsKindOf(CLASSINFO(wxPanel)))
{
wxString str(wxT("Deleting dialog : "));
str += data->GetName();
if (wxMessageBox(wxT("Are you sure?"), str, wxYES_NO | wxCENTRE) == wxNO)
return;
}
wxResourceManager::GetCurrentResourceManager()->DeselectItemIfNecessary(data);
wxResourceManager::GetCurrentResourceManager()->SaveInfoAndDeleteHandler(data);
wxResourceManager::GetCurrentResourceManager()->DeleteResource(data);
wxResourceManager::GetCurrentResourceManager()->DeleteWindow(data);
}