use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(UIMenuSystem, NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "UIMenuSystem")]
pub struct UIMainMenuSystem;
);
#[cfg(feature = "UIMenuSystem")]
extern_conformance!(
unsafe impl NSObjectProtocol for UIMainMenuSystem {}
);
#[cfg(feature = "UIMenuSystem")]
impl UIMainMenuSystem {
extern_methods!(
#[unsafe(method(sharedSystem))]
#[unsafe(method_family = none)]
pub fn sharedSystem(mtm: MainThreadMarker) -> Retained<UIMainMenuSystem>;
#[cfg(all(feature = "UIMenuBuilder", feature = "block2"))]
#[unsafe(method(setBuildConfiguration:buildHandler:))]
#[unsafe(method_family = none)]
pub fn setBuildConfiguration_buildHandler(
&self,
configuration: &UIMainMenuSystemConfiguration,
build_handler: Option<
&block2::DynBlock<dyn Fn(NonNull<ProtocolObject<dyn UIMenuBuilder>>)>,
>,
);
#[unsafe(method(mainSystem))]
#[unsafe(method_family = none)]
pub unsafe fn mainSystem(mtm: MainThreadMarker) -> Retained<UIMenuSystem>;
#[unsafe(method(contextSystem))]
#[unsafe(method_family = none)]
pub unsafe fn contextSystem(mtm: MainThreadMarker) -> Retained<UIMenuSystem>;
);
}
#[cfg(feature = "UIMenuSystem")]
impl UIMainMenuSystem {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UIMainMenuSystemConfiguration;
);
extern_conformance!(
unsafe impl NSCopying for UIMainMenuSystemConfiguration {}
);
unsafe impl CopyingHelper for UIMainMenuSystemConfiguration {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIMainMenuSystemConfiguration {}
);
impl UIMainMenuSystemConfiguration {
extern_methods!(
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(newScenePreference))]
#[unsafe(method_family = none)]
pub fn newScenePreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setNewScenePreference:))]
#[unsafe(method_family = none)]
pub fn setNewScenePreference(
&self,
new_scene_preference: UIMenuSystemElementGroupPreference,
);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(documentPreference))]
#[unsafe(method_family = none)]
pub fn documentPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setDocumentPreference:))]
#[unsafe(method_family = none)]
pub fn setDocumentPreference(
&self,
document_preference: UIMenuSystemElementGroupPreference,
);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(printingPreference))]
#[unsafe(method_family = none)]
pub fn printingPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setPrintingPreference:))]
#[unsafe(method_family = none)]
pub fn setPrintingPreference(
&self,
printing_preference: UIMenuSystemElementGroupPreference,
);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(findingPreference))]
#[unsafe(method_family = none)]
pub fn findingPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setFindingPreference:))]
#[unsafe(method_family = none)]
pub fn setFindingPreference(&self, finding_preference: UIMenuSystemElementGroupPreference);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(findingConfiguration))]
#[unsafe(method_family = none)]
pub fn findingConfiguration(&self) -> Retained<UIMenuSystemFindElementGroupConfiguration>;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(toolbarPreference))]
#[unsafe(method_family = none)]
pub fn toolbarPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setToolbarPreference:))]
#[unsafe(method_family = none)]
pub fn setToolbarPreference(&self, toolbar_preference: UIMenuSystemElementGroupPreference);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(sidebarPreference))]
#[unsafe(method_family = none)]
pub fn sidebarPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setSidebarPreference:))]
#[unsafe(method_family = none)]
pub fn setSidebarPreference(&self, sidebar_preference: UIMenuSystemElementGroupPreference);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(inspectorPreference))]
#[unsafe(method_family = none)]
pub fn inspectorPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setInspectorPreference:))]
#[unsafe(method_family = none)]
pub fn setInspectorPreference(
&self,
inspector_preference: UIMenuSystemElementGroupPreference,
);
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(textFormattingPreference))]
#[unsafe(method_family = none)]
pub fn textFormattingPreference(&self) -> UIMenuSystemElementGroupPreference;
#[cfg(feature = "UIMenuSystem")]
#[unsafe(method(setTextFormattingPreference:))]
#[unsafe(method_family = none)]
pub fn setTextFormattingPreference(
&self,
text_formatting_preference: UIMenuSystemElementGroupPreference,
);
);
}
impl UIMainMenuSystemConfiguration {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}