use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
pub type NSStoryboardSegueIdentifier = NSString;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSStoryboardSegue;
unsafe impl ClassType for NSStoryboardSegue {
type Super = NSObject;
}
);
extern_methods!(
unsafe impl NSStoryboardSegue {
#[method_id(@__retain_semantics Other segueWithIdentifier:source:destination:performHandler:)]
pub unsafe fn segueWithIdentifier_source_destination_performHandler(
identifier: &NSStoryboardSegueIdentifier,
sourceController: &Object,
destinationController: &Object,
performHandler: &Block<(), ()>,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithIdentifier:source:destination:)]
pub unsafe fn initWithIdentifier_source_destination(
this: Option<Allocated<Self>>,
identifier: &NSStoryboardSegueIdentifier,
sourceController: &Object,
destinationController: &Object,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other identifier)]
pub unsafe fn identifier(&self) -> Option<Id<NSStoryboardSegueIdentifier, Shared>>;
#[method_id(@__retain_semantics Other sourceController)]
pub unsafe fn sourceController(&self) -> Id<Object, Shared>;
#[method_id(@__retain_semantics Other destinationController)]
pub unsafe fn destinationController(&self) -> Id<Object, Shared>;
#[method(perform)]
pub unsafe fn perform(&self);
}
);
extern_protocol!(
pub struct NSSeguePerforming;
unsafe impl ProtocolType for NSSeguePerforming {
#[optional]
#[method(prepareForSegue:sender:)]
pub unsafe fn prepareForSegue_sender(
&self,
segue: &NSStoryboardSegue,
sender: Option<&Object>,
);
#[optional]
#[method(performSegueWithIdentifier:sender:)]
pub unsafe fn performSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&Object>,
);
#[optional]
#[method(shouldPerformSegueWithIdentifier:sender:)]
pub unsafe fn shouldPerformSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&Object>,
) -> bool;
}
);