1 #ifndef _plat_wxwidgets__window_mainwindow__hpp__included__
2 #define _plat_wxwidgets__window_mainwindow__hpp__included__
4 #include "platform/wxwidgets/window_status.hpp"
5 #include "platform/wxwidgets/menu_recent.hpp"
12 class wxwin_mainwindow
: public wxFrame
15 class panel
: public wxPanel
19 void on_paint(wxPaintEvent
& e
);
21 void on_erase(wxEraseEvent
& e
);
22 void on_keyboard_down(wxKeyEvent
& e
);
23 void on_keyboard_up(wxKeyEvent
& e
);
24 void on_mouse(wxMouseEvent
& e
);
28 void notify_update() throw();
29 void notify_update_status() throw();
30 void notify_resized() throw();
31 void notify_exit() throw();
32 void refresh_title() throw();
33 void on_close(wxCloseEvent
& e
);
34 void menu_start(wxString name
);
35 void menu_special(wxString name
, wxMenu
* menu
);
36 void menu_special_sub(wxString name
, wxMenu
* menu
);
37 void menu_entry(int id
, wxString name
);
38 void menu_entry_check(int id
, wxString name
);
39 void menu_start_sub(wxString name
);
41 bool menu_ischecked(int id
);
42 void menu_check(int id
, bool newstate
);
43 void menu_separator();
44 void handle_menu_click(wxCommandEvent
& e
);
45 void update_statusbar(const std::map
<std::string
, std::u32string
>& vars
);
46 recent_menu
* recent_roms
;
47 recent_menu
* recent_movies
;
49 void handle_menu_click_cancelable(wxCommandEvent
& e
);
53 wxStatusBar
* statusbar
;
54 wxwin_status::panel
* spanel
;
56 wxwin_status
* mwindow
;
57 wxFlexGridSizer
* toplevel
;
58 std::map
<int, wxMenuItem
*> checkitems
;
59 std::stack
<wxMenu
*> upper
;