22 public interfaces::IIterable<BaseComponent, iterators::composite_forward_iterator, iterators::composite_const_forward_iterator>
35 std::vector<std::unique_ptr<BaseComponent>>
children;
43 virtual LRESULT compositeWindowMessagesHandle(HWND handle, UINT message, WPARAM wparam, LPARAM lparam,
bool& isUsed);
45 LRESULT windowMessagesHandle(HWND handle, UINT message, WPARAM wparam, LPARAM lparam,
bool& isUsed)
override;
47 virtual LRESULT preWindowMessagesHandle(HWND handle, UINT message, WPARAM wparam, LPARAM lparam,
bool& isUsed)
override;
50 std::vector<std::pair<std::string, json::utility::jsonObject>> getChildrenStructure()
const;
54 void setExitCode(
int exitCode);
65 void removeComponents(
const std::wstring& componentName);
71 std::vector<BaseComponent*> findChildren(
const std::wstring& windowName)
const;
75 virtual std::unique_ptr<Menu>& createMainMenu(
const std::wstring& menuName);
79 virtual Menu& addPopupMenu(
const std::wstring& menuName);
83 virtual void removePopupMenus(
const std::wstring& menuName);
94 void setOnDestroy(
const std::string& onDestroyFunctionName,
const std::string& onDestroyFunctionModuleName);
98 int getExitCode()
const;
100 const std::vector<std::unique_ptr<BaseComponent>>& getChildren()
const;
102 const std::unique_ptr<Menu>& getMainMenu()
const;
104 std::unique_ptr<Menu>& getMainMenu();
106 std::vector<const Menu*> getPopupMenus()
const;
108 const std::function<void()>& getOnDestroy()
const;
116 virtual iterators::composite_const_forward_iterator cbegin() const noexcept override;
118 virtual iterators::composite_forward_iterator end() noexcept override;
120 virtual iterators::composite_const_forward_iterator cend() const noexcept override;
122 virtual
void setBackgroundColor(uint8_t red, uint8_t green, uint8_t blue) override;
124 virtual json::JSONBuilder getStructure() const override;
127#pragma region FriendClasses