#ifndef _plat_wxwidgets__menu_tracelog__hpp__included__ #define _plat_wxwidgets__menu_tracelog__hpp__included__ #include "core/dispatch.hpp" #include #include #include #include #include class tracelog_menu : public wxMenu { public: tracelog_menu(wxWindow* win, int wxid_low, int wxid_high); ~tracelog_menu(); void on_select(wxCommandEvent& e); void update(); bool any_enabled(); void set_disabler(std::function fn) { disabler_fn = fn; } private: struct dispatch::target<> corechange; wxWindow* pwin; int wxid_range_low; int wxid_range_high; std::vector items; std::map cpunames; std::function disabler_fn; }; #endif