Add <functional> to files that use std::function
[lsnes.git] / include / platform / wxwidgets / menu_tracelog.hpp
blobc8df2020c0b01d548eb45ead63020092389e83ce
1 #ifndef _plat_wxwidgets__menu_tracelog__hpp__included__
2 #define _plat_wxwidgets__menu_tracelog__hpp__included__
4 #include "core/dispatch.hpp"
5 #include <functional>
6 #include <wx/string.h>
7 #include <wx/wx.h>
8 #include <map>
9 #include <set>
10 #include <vector>
12 class emulator_instance;
14 class tracelog_menu : public wxMenu
16 public:
17 tracelog_menu(wxWindow* win, emulator_instance& _inst, int wxid_low, int wxid_high);
18 ~tracelog_menu();
19 void on_select(wxCommandEvent& e);
20 void update();
21 bool any_enabled();
22 void set_disabler(std::function<void(bool enabled)> fn) { disabler_fn = fn; }
23 private:
24 struct dispatch::target<> corechange;
25 emulator_instance& inst;
26 wxWindow* pwin;
27 int wxid_range_low;
28 int wxid_range_high;
29 std::vector<wxMenuItem*> items;
30 std::map<int, std::string> cpunames;
31 std::function<void(bool enabled)> disabler_fn;
34 #endif