--- nono/wx/wxmainframe.cpp 2026/04/29 17:04:39 1.1.1.5 +++ nono/wx/wxmainframe.cpp 2026/04/29 17:04:42 1.1.1.6 @@ -49,6 +49,7 @@ wxBEGIN_EVENT_TABLE(WXMainFrame, inherit EVT_MENU(ID_FULL_SPEED, WXMainFrame::OnFullSpeed) EVT_UPDATE_UI(ID_FULL_SPEED, WXMainFrame::OnFullSpeedUI) + EVT_MENU(ID_RESET_VM, WXMainFrame::OnResetVM) EVT_MENU_RANGE(ID_SCALE_START + 1, ID_SCALE_END - 1, WXMainFrame::OnMenuScale) EVT_UPDATE_UI_RANGE(ID_SCALE_START + 1, ID_SCALE_END - 1, @@ -71,7 +72,8 @@ wxBEGIN_EVENT_TABLE(WXMainFrame, inherit wxEND_EVENT_TABLE() WXMainFrame::WXMainFrame(wxWindow *parent) - : wxFrame(parent, wxID_ANY, "nono") + : wxFrame(parent, wxID_ANY, "nono", wxDefaultPosition, wxDefaultSize, + wxDEFAULT_FRAME_STYLE & ~wxMAXIMIZE_BOX & ~wxRESIZE_BORDER) { vmtype_t vmtype; @@ -83,6 +85,7 @@ WXMainFrame::WXMainFrame(wxWindow *paren wxMenu *menuFile = new wxMenu(); // XXX とりあえず適当なところにおいとく menuFile->Append(ID_FULL_SPEED, _("Full &Speed Mode"), "", wxITEM_CHECK); + menuFile->Append(ID_RESET_VM, _("&Reset VM"), ""); menuFile->Append(wxID_EXIT, _("E&xit")); menubar->Append(menuFile, _("&File")); @@ -305,6 +308,13 @@ WXMainFrame::OnFullSpeedUI(wxUpdateUIEve event.Check(is_fullspeed); } +// メニューの「Reset VM」イベント +void +WXMainFrame::OnResetVM(wxCommandEvent& event) +{ + gScheduler->RequestResetHard(); +} + // メニューの「終了」イベント void WXMainFrame::OnExit(wxCommandEvent& event)