diff options
author | crupest <crupest@outlook.com> | 2022-05-15 14:08:06 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-05-15 14:08:06 +0800 |
commit | 8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6 (patch) | |
tree | 77e41cc14264060517c0f7ed95837012afb8342e /src/osx/gui/MenuPrivate.h | |
parent | 9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752 (diff) | |
download | cru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.tar.gz cru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.tar.bz2 cru-8ad2966933957ac5d6ff8dcd5e732736fd5e4dc6.zip |
...
Diffstat (limited to 'src/osx/gui/MenuPrivate.h')
-rw-r--r-- | src/osx/gui/MenuPrivate.h | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/osx/gui/MenuPrivate.h b/src/osx/gui/MenuPrivate.h deleted file mode 100644 index d5269312..00000000 --- a/src/osx/gui/MenuPrivate.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once -#include "cru/osx/gui/Menu.h" - -#import <AppKit/NSMenu.h> -#import <AppKit/NSMenuItem.h> - -@interface CruOsxMenuItemClickHandler : NSObject -- init:(cru::platform::gui::osx::details::OsxMenuItemPrivate*)p; -- (void)handleClick; -@end - -namespace cru::platform::gui::osx { -namespace details { - -class OsxMenuItemPrivate { - friend OsxMenuItem; - - public: - explicit OsxMenuItemPrivate(OsxMenuItem* d); - - CRU_DELETE_COPY(OsxMenuItemPrivate) - CRU_DELETE_MOVE(OsxMenuItemPrivate) - - ~OsxMenuItemPrivate(); - - public: - NSMenuItem* GetNative() { return menu_item_; } - void SetParentMenu(OsxMenu* menu) { parent_menu_ = menu; } - void AttachToNative(NSMenuItem* native_menu_item, bool check_submenu); - - const std::function<void()> GetOnClickHandler() const { return on_click_handler_; } - - private: - OsxMenuItem* d_; - OsxMenu* parent_menu_ = nullptr; - NSMenuItem* menu_item_ = nullptr; - OsxMenu* sub_menu_ = nullptr; - std::function<void()> on_click_handler_; - CruOsxMenuItemClickHandler* handler_; -}; - -class OsxMenuPrivate { - friend OsxMenu; - - public: - explicit OsxMenuPrivate(OsxMenu* d); - - CRU_DELETE_COPY(OsxMenuPrivate) - CRU_DELETE_MOVE(OsxMenuPrivate) - - ~OsxMenuPrivate(); - - public: - void SetParentItem(OsxMenuItem* item) { parent_item_ = item; } - void AttachToNative(NSMenu* native_menu); - - private: - OsxMenu* d_; - OsxMenuItem* parent_item_ = nullptr; - NSMenu* menu_ = nullptr; - std::vector<OsxMenuItem*> items_; -}; -} // namespace details - -} // namespace cru::platform::gui::osx |