//! Implements an NSToolbar wrapper, which is one of those macOS niceties //! that makes it feel... "proper". //! //! UNFORTUNATELY, this is a very old and janky API. So... yeah. use objc_id::Id; use objc::runtime::Object; use objc::{class, msg_send, sel, sel_impl}; use crate::foundation::{id, CGSize, NSString}; use crate::button::Button; /// A wrapper for `NSWindow`. Holds (retains) pointers for the Objective-C runtime /// where our `NSWindow` and associated delegate live. pub struct ToolbarItem { pub identifier: String, pub inner: Id, pub button: Option