X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..f9a3f576cccfd2c2296a24d74b05b9543c47fac7:/utils/dialoged/src/reseditr.cpp diff --git a/utils/dialoged/src/reseditr.cpp b/utils/dialoged/src/reseditr.cpp index 5f1b105bbb..6e5c704e05 100644 --- a/utils/dialoged/src/reseditr.cpp +++ b/utils/dialoged/src/reseditr.cpp @@ -150,7 +150,7 @@ bool wxResourceManager::Initialize() windowsDir += "\\dialoged.ini" ; m_optionsResourceFilename = windowsDir; -#elif defined(__WXGTK__) || defined(__WXMOTIF__) +#elif defined(__WXGTK__) || defined(__WXMOTIF__) || (defined(__WXMAC__) && defined(__DARWIN__)) wxGetHomeDir( &m_optionsResourceFilename ); m_optionsResourceFilename += "/.dialogedrc"; #else @@ -165,6 +165,8 @@ bool wxResourceManager::Initialize() #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"); @@ -2402,8 +2404,13 @@ void ObjectMenuProc(wxMenu *menu, wxCommandEvent& event) if (!data) return; - switch (event.GetInt()) + switch (event.GetId()) { + case OBJECT_MENU_TITLE: + { + event.Skip(); + break; + } case OBJECT_MENU_EDIT: { wxResourceManager::GetCurrentResourceManager()->EditWindow(data); @@ -2411,8 +2418,20 @@ void ObjectMenuProc(wxMenu *menu, wxCommandEvent& event) } 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))) + { + 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);