#[cfg(feature = "block2")]
use block2::*;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
pub type NSStoryboardSegueIdentifier = NSString;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSStoryboardSegue;
unsafe impl ClassType for NSStoryboardSegue {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSStoryboardSegue {}
extern_methods!(
unsafe impl NSStoryboardSegue {
#[cfg(feature = "block2")]
#[method_id(@__retain_semantics Other segueWithIdentifier:source:destination:performHandler:)]
pub unsafe fn segueWithIdentifier_source_destination_performHandler(
identifier: &NSStoryboardSegueIdentifier,
source_controller: &AnyObject,
destination_controller: &AnyObject,
perform_handler: &Block<dyn Fn()>,
) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithIdentifier:source:destination:)]
pub unsafe fn initWithIdentifier_source_destination(
this: Allocated<Self>,
identifier: &NSStoryboardSegueIdentifier,
source_controller: &AnyObject,
destination_controller: &AnyObject,
) -> Id<Self>;
#[method_id(@__retain_semantics Other identifier)]
pub unsafe fn identifier(&self) -> Option<Id<NSStoryboardSegueIdentifier>>;
#[method_id(@__retain_semantics Other sourceController)]
pub unsafe fn sourceController(&self) -> Id<AnyObject>;
#[method_id(@__retain_semantics Other destinationController)]
pub unsafe fn destinationController(&self) -> Id<AnyObject>;
#[method(perform)]
pub unsafe fn perform(&self);
}
);
extern_methods!(
unsafe impl NSStoryboardSegue {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_protocol!(
pub unsafe trait NSSeguePerforming: NSObjectProtocol + IsMainThreadOnly {
#[optional]
#[method(prepareForSegue:sender:)]
unsafe fn prepareForSegue_sender(
&self,
segue: &NSStoryboardSegue,
sender: Option<&AnyObject>,
);
#[optional]
#[method(performSegueWithIdentifier:sender:)]
unsafe fn performSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&AnyObject>,
);
#[optional]
#[method(shouldPerformSegueWithIdentifier:sender:)]
unsafe fn shouldPerformSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&AnyObject>,
) -> bool;
}
unsafe impl ProtocolType for dyn NSSeguePerforming {}
);