#[cfg(feature = "block2")]
use block2::*;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
pub type NSDraggingImageComponentKey = NSString;
extern "C" {
pub static NSDraggingImageComponentIconKey: &'static NSDraggingImageComponentKey;
}
extern "C" {
pub static NSDraggingImageComponentLabelKey: &'static NSDraggingImageComponentKey;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSDraggingImageComponent;
unsafe impl ClassType for NSDraggingImageComponent {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSDraggingImageComponent {}
extern_methods!(
unsafe impl NSDraggingImageComponent {
#[method_id(@__retain_semantics Other draggingImageComponentWithKey:)]
pub unsafe fn draggingImageComponentWithKey(
key: &NSDraggingImageComponentKey,
) -> Id<NSDraggingImageComponent>;
#[method_id(@__retain_semantics Init initWithKey:)]
pub unsafe fn initWithKey(
this: Allocated<Self>,
key: &NSDraggingImageComponentKey,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics Other key)]
pub unsafe fn key(&self) -> Id<NSDraggingImageComponentKey>;
#[method(setKey:)]
pub unsafe fn setKey(&self, key: &NSDraggingImageComponentKey);
#[method_id(@__retain_semantics Other contents)]
pub unsafe fn contents(&self) -> Option<Id<AnyObject>>;
#[method(setContents:)]
pub unsafe fn setContents(&self, contents: Option<&AnyObject>);
#[method(frame)]
pub unsafe fn frame(&self) -> NSRect;
#[method(setFrame:)]
pub unsafe fn setFrame(&self, frame: NSRect);
}
);
extern_methods!(
unsafe impl NSDraggingImageComponent {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSDraggingItem;
unsafe impl ClassType for NSDraggingItem {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSObjectProtocol for NSDraggingItem {}
extern_methods!(
unsafe impl NSDraggingItem {
#[cfg(feature = "NSPasteboard")]
#[method_id(@__retain_semantics Init initWithPasteboardWriter:)]
pub unsafe fn initWithPasteboardWriter(
this: Allocated<Self>,
pasteboard_writer: &ProtocolObject<dyn NSPasteboardWriting>,
) -> Id<Self>;
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics Other item)]
pub unsafe fn item(&self) -> Id<AnyObject>;
#[method(draggingFrame)]
pub unsafe fn draggingFrame(&self) -> NSRect;
#[method(setDraggingFrame:)]
pub unsafe fn setDraggingFrame(&self, dragging_frame: NSRect);
#[cfg(feature = "block2")]
#[method(imageComponentsProvider)]
pub unsafe fn imageComponentsProvider(
&self,
) -> *mut Block<dyn Fn() -> NonNull<NSArray<NSDraggingImageComponent>>>;
#[cfg(feature = "block2")]
#[method(setImageComponentsProvider:)]
pub unsafe fn setImageComponentsProvider(
&self,
image_components_provider: Option<
&Block<dyn Fn() -> NonNull<NSArray<NSDraggingImageComponent>>>,
>,
);
#[method(setDraggingFrame:contents:)]
pub unsafe fn setDraggingFrame_contents(&self, frame: NSRect, contents: Option<&AnyObject>);
#[method_id(@__retain_semantics Other imageComponents)]
pub unsafe fn imageComponents(&self) -> Option<Id<NSArray<NSDraggingImageComponent>>>;
}
);
extern_methods!(
unsafe impl NSDraggingItem {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);