X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0e66542550fceda3cce827763f8c33ac9dd33b5..2e25e7b7629b9c362d1fc689b536032a35441b8c:/utils/dialoged/src/dlghndlr.cpp?ds=sidebyside diff --git a/utils/dialoged/src/dlghndlr.cpp b/utils/dialoged/src/dlghndlr.cpp index 7e494242e0..f6d3358712 100644 --- a/utils/dialoged/src/dlghndlr.cpp +++ b/utils/dialoged/src/dlghndlr.cpp @@ -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) @@ -432,7 +434,7 @@ void wxResourceEditorDialogHandler::OnMouseEvent(wxMouseEvent& event) firstDragY = y; dragType = wxDRAG_TYPE_BOUNDING_BOX; wxClientDC dc(handlerDialog); - OnDragBegin(x, y, keys, dc, NULL); + OnDragBegin(x, y, keys, dc, 0); dragMode = wxDRAG_MODE_CONTINUE_LEFT; oldDragX = x; oldDragY = y; } @@ -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); +}