14 std::vector<std::unique_ptr<interfaces::IMenuItem>> items;
19 Menu(
const std::wstring& name, HWND parent);
27 Menu& operator = (
Menu&& other)
noexcept;
31 Menu& addMenuItem(std::unique_ptr<interfaces::IMenuItem>&& item);
33 void removeMenuItem(uint32_t index);
35 void handleMessage(uint32_t index);
37 void updateMenu()
const;
39 const std::wstring& getName()
const;
41 const std::vector<std::unique_ptr<interfaces::IMenuItem>>& getItems()
const;
43 HMENU getHandle()
const;
45 json::JSONBuilder getStructure()
const override;