42 CMenuItem(XPLMMenuID parent,
int item,
bool checkable, std::function<
void(
bool)> callback);
44 void setIndex(
int index) { m_data->index = index; }
48 Data(XPLMMenuID parent_,
int index_,
bool checkable_, std::function<
void(
bool)> callback_)
49 : parent(parent_), index(index_), checkable(checkable_), callback(callback_)
54 std::function<void(
bool)> callback;
56 std::shared_ptr<Data> m_data;
88 using ItemList = std::list<CMenuItem>;
91 CMenu(XPLMMenuID
id,
bool isMainMenu, std::unique_ptr<ItemList> items);
93 static void handler(
void *menuRef,
void *itemRef);
97 Data(XPLMMenuID id_,
bool isMainMenu_, std::unique_ptr<ItemList> items_)
98 : id(id_), isMainMenu(isMainMenu_), items(std::move(items_))
102 std::unique_ptr<ItemList> items;
104 Data(
const Data &) =
delete;
105 Data &operator=(
const Data &) =
delete;
107 std::shared_ptr<Data> m_data;