#endif
     
     m_popupMenu = new wxMenu;
+    m_popupMenu->Append(OBJECT_MENU_TITLE, "WIDGET TYPE");
+    m_popupMenu->AppendSeparator();
     m_popupMenu->Append(OBJECT_MENU_EDIT, "Edit properties");
     m_popupMenu->Append(OBJECT_MENU_DELETE, "Delete object");
     
     
     switch (event.GetId())
     {
+    case OBJECT_MENU_TITLE:
+        {
+            event.Skip();
+            break;
+        }
     case OBJECT_MENU_EDIT:
         {
             wxResourceManager::GetCurrentResourceManager()->EditWindow(data);
         }
     case OBJECT_MENU_DELETE:
         {
+            // 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)))
             {
-                if (wxMessageBox(wxT("Are you sure?"), wxT("Deleting dialog"), wxYES_NO) == wxNO)
+                wxString str(wxT("Deleting dialog : "));
+                str += data->GetName();
+                if (wxMessageBox(wxT("Are you sure?"), str, wxYES_NO | wxCENTRE) == wxNO)
                     return;
             }
 
 
     virtual wxResourceEditorScrolledWindow *OnCreateEditorPanel(wxFrame *parent);
     virtual wxToolBar *OnCreateToolBar(wxFrame *parent);
     
-    // Create a window information object for the give window
+    // Create a window information object for the given window
     wxWindowPropertyInfo* CreatePropertyInfoForWindow(wxWindow *win);
     // Edit the given window
     void EditWindow(wxWindow *win);
     DECLARE_EVENT_TABLE()
 };
 
-#define OBJECT_MENU_EDIT      1
-#define OBJECT_MENU_DELETE    2
+#define OBJECT_MENU_TITLE     1
+#define OBJECT_MENU_EDIT      2
+#define OBJECT_MENU_DELETE    3
 
 /*
 * Main toolbar