Allow button display symbols to be Unicode characters
[lsnes.git] / include / platform / wxwidgets / window_mainwindow.hpp
blob2b299341c3652d229540be3d40dfd65b573ab11f
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"
7 #include <stack>
9 #include <wx/string.h>
10 #include <wx/wx.h>
12 class wxwin_mainwindow : public wxFrame
14 public:
15 class panel : public wxPanel
17 public:
18 panel(wxWindow* win);
19 void on_paint(wxPaintEvent& e);
20 void request_paint();
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);
26 wxwin_mainwindow();
27 void request_paint();
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);
40 void menu_end_sub();
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;
48 private:
49 void handle_menu_click_cancelable(wxCommandEvent& e);
50 panel* gpanel;
51 wxMenu* current_menu;
52 wxMenuBar* menubar;
53 wxStatusBar* statusbar;
54 wxwin_status::panel* spanel;
55 bool spanel_shown;
56 wxwin_status* mwindow;
57 wxFlexGridSizer* toplevel;
58 std::map<int, wxMenuItem*> checkitems;
59 std::stack<wxMenu*> upper;
60 void* ahmenu;
61 void* sounddev1;
62 void* sounddev2;
63 void* dmenu;
66 #endif