IMPLEMENT_APP(MyApp)
BEGIN_EVENT_TABLE(MyApp, wxApp)
-EVT_MENU(OBJECT_MENU_EDIT, MyApp::OnObjectPopupMenu)
-EVT_MENU(OBJECT_MENU_DELETE, MyApp::OnObjectPopupMenu)
END_EVENT_TABLE()
MyApp::MyApp(void)
#include "wx/proplist.h"
#include "reseditr.h"
-extern void ObjectMenuProc(wxMenu *menu, wxCommandEvent& event);
-
class MyChild;
// Define a new application
bool OnInit(void);
int OnExit(void);
- void OnObjectPopupMenu(wxCommandEvent& event)
- {
- ObjectMenuProc((wxMenu *)event.GetEventObject(), event);
- }
-
private:
DECLARE_EVENT_TABLE()
};
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)
} // 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);
+}
void OnPaint(wxPaintEvent& event);
void OnMouseEvent(wxMouseEvent& event);
void OnSize(wxSizeEvent& event);
+ void OnObjectEdit(wxCommandEvent& event);
+ void OnObjectDelete(wxCommandEvent& event);
virtual void OnItemEvent(wxControl *win, wxMouseEvent& event);
virtual void OnLeftClick(int x, int y, int keys);
}
}
-// Popup menu callback
-void ObjectMenuProc(wxMenu *menu, wxCommandEvent& event)
-{
- wxWindow *data = (wxWindow *)menu->GetClientData();
- if (!data)
- return;
-
- switch (event.GetId())
- {
- case OBJECT_MENU_TITLE:
- {
- event.Skip();
- break;
- }
- case OBJECT_MENU_EDIT:
- {
- wxResourceManager::GetCurrentResourceManager()->EditWindow(data);
- break;
- }
- 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);
- break;
- }
- default:
- break;
- }
-}
-
/*
* Main toolbar
*