use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
pub struct NSPanel;
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl ClassType for NSPanel {
#[inherits(NSResponder, NSObject)]
type Super = NSWindow;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSWindow"
))]
unsafe impl NSAccessibility for NSPanel {}
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSWindow"
))]
unsafe impl NSAccessibilityElementProtocol for NSPanel {}
#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSAnimatablePropertyContainer for NSPanel {}
#[cfg(all(
feature = "NSAppearance",
feature = "NSResponder",
feature = "NSWindow"
))]
unsafe impl NSAppearanceCustomization for NSPanel {}
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSCoding for NSPanel {}
#[cfg(all(feature = "NSMenu", feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSMenuItemValidation for NSPanel {}
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSObjectProtocol for NSPanel {}
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSWindow"
))]
unsafe impl NSUserInterfaceItemIdentification for NSPanel {}
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceValidation",
feature = "NSWindow"
))]
unsafe impl NSUserInterfaceValidations for NSPanel {}
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSPanel {
#[method(isFloatingPanel)]
pub unsafe fn isFloatingPanel(&self) -> bool;
#[method(setFloatingPanel:)]
pub unsafe fn setFloatingPanel(&self, floating_panel: bool);
#[method(becomesKeyOnlyIfNeeded)]
pub unsafe fn becomesKeyOnlyIfNeeded(&self) -> bool;
#[method(setBecomesKeyOnlyIfNeeded:)]
pub unsafe fn setBecomesKeyOnlyIfNeeded(&self, becomes_key_only_if_needed: bool);
#[method(worksWhenModal)]
pub unsafe fn worksWhenModal(&self) -> bool;
#[method(setWorksWhenModal:)]
pub unsafe fn setWorksWhenModal(&self, works_when_modal: bool);
}
);
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSPanel {
#[cfg(feature = "NSGraphics")]
#[method_id(@__retain_semantics Init initWithContentRect:styleMask:backing:defer:)]
pub unsafe fn initWithContentRect_styleMask_backing_defer(
this: Allocated<Self>,
content_rect: NSRect,
style: NSWindowStyleMask,
backing_store_type: NSBackingStoreType,
flag: bool,
) -> Retained<Self>;
#[cfg(all(feature = "NSGraphics", feature = "NSScreen"))]
#[method_id(@__retain_semantics Init initWithContentRect:styleMask:backing:defer:screen:)]
pub unsafe fn initWithContentRect_styleMask_backing_defer_screen(
this: Allocated<Self>,
content_rect: NSRect,
style: NSWindowStyleMask,
backing_store_type: NSBackingStoreType,
flag: bool,
screen: Option<&NSScreen>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Retained<Self>;
#[cfg(feature = "NSViewController")]
#[method_id(@__retain_semantics Other windowWithContentViewController:)]
pub unsafe fn windowWithContentViewController(
content_view_controller: &NSViewController,
) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSPanel {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
unsafe impl NSPanel {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);
extern "C" {
#[deprecated = "Use NSAlert instead"]
pub fn NSReleaseAlertPanel(panel: Option<&AnyObject>);
}
#[deprecated = "Use NSAlertFirstButtonReturn with an NSAlert presentation instead"]
pub const NSAlertDefaultReturn: c_int = 1;
#[deprecated = "Use NSAlertFirstButtonReturn and other NSModalResponses with an NSAlert presentation instead"]
pub const NSAlertAlternateReturn: c_int = 0;
#[deprecated = "Use NSAlertFirstButtonReturn and other NSModalResponses with an NSAlert presentation instead"]
pub const NSAlertOtherReturn: c_int = -1;
#[deprecated = "Use NSAlertFirstButtonReturn and other NSModalResponses with an NSAlert presentation instead"]
pub const NSAlertErrorReturn: c_int = -2;