]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/dialoged/src/dlghndlr.cpp
Moved the popup menu event handlers to dialog event handler
[wxWidgets.git] / utils / dialoged / src / dlghndlr.cpp
index 2be4b234f2b6894b683acbca2a2d82b737d16a22..f6d33587123ff1a50541b401db742538fcbc84e6 100644 (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);
+}