Don't crash if recentfiles line fails to deserialize
[lsnes.git] / include / platform / wxwidgets / window_messages.hpp
blob84590df9b727b0b0980cb4155f2060d77bc333f1
1 #ifndef _plat_wxwidgets__window_messages__hpp__included__
2 #define _plat_wxwidgets__window_messages__hpp__included__
4 #include <wx/string.h>
5 #include <wx/wx.h>
6 #include "platform/wxwidgets/textrender.hpp"
8 class wxwin_messages : public wxFrame
10 public:
11 class panel : public text_framebuffer_panel
13 public:
14 panel(wxwin_messages* _parent, unsigned lines);
15 void on_resize(wxSizeEvent& e);
16 void on_mouse(wxMouseEvent& e);
17 void on_menu(wxCommandEvent& e);
18 virtual wxSize DoGetBestSize() const;
19 protected:
20 void prepare_paint();
21 private:
22 wxwin_messages* parent;
23 size_t ilines;
24 uint64_t line_clicked;
25 uint64_t line_declicked;
26 uint64_t line_current;
27 size_t line_separation;
28 bool mouse_held;
29 int scroll_acc;
31 wxwin_messages();
32 ~wxwin_messages();
33 void notify_update() throw();
34 bool ShouldPreventAppExit() const;
35 void notify_message();
36 void on_scroll_home(wxCommandEvent& e);
37 void on_scroll_pageup(wxCommandEvent& e);
38 void on_scroll_lineup(wxCommandEvent& e);
39 void on_scroll_linedown(wxCommandEvent& e);
40 void on_scroll_pagedown(wxCommandEvent& e);
41 void on_scroll_end(wxCommandEvent& e);
42 void on_execute(wxCommandEvent& e);
43 void on_close(wxCloseEvent& e);
44 void reshow();
45 private:
46 wxComboBox* command;
47 panel* mpanel;
50 #endif