icrate 0.0.1

Bindings to Apple's frameworks
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;

extern_static!(NSAppKitVersionNumberWithDockTilePlugInSupport: NSAppKitVersion = 1001.0);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct NSDockTile;

    unsafe impl ClassType for NSDockTile {
        type Super = NSObject;
    }
);

extern_methods!(
    unsafe impl NSDockTile {
        #[method(size)]
        pub unsafe fn size(&self) -> NSSize;

        #[method_id(@__retain_semantics Other contentView)]
        pub unsafe fn contentView(&self) -> Option<Id<NSView, Shared>>;

        #[method(setContentView:)]
        pub unsafe fn setContentView(&self, contentView: Option<&NSView>);

        #[method(display)]
        pub unsafe fn display(&self);

        #[method(showsApplicationBadge)]
        pub unsafe fn showsApplicationBadge(&self) -> bool;

        #[method(setShowsApplicationBadge:)]
        pub unsafe fn setShowsApplicationBadge(&self, showsApplicationBadge: bool);

        #[method_id(@__retain_semantics Other badgeLabel)]
        pub unsafe fn badgeLabel(&self) -> Option<Id<NSString, Shared>>;

        #[method(setBadgeLabel:)]
        pub unsafe fn setBadgeLabel(&self, badgeLabel: Option<&NSString>);

        #[method_id(@__retain_semantics Other owner)]
        pub unsafe fn owner(&self) -> Option<Id<Object, Shared>>;
    }
);

extern_protocol!(
    pub struct NSDockTilePlugIn;

    unsafe impl ProtocolType for NSDockTilePlugIn {
        #[method(setDockTile:)]
        pub unsafe fn setDockTile(&self, dockTile: Option<&NSDockTile>);

        #[optional]
        #[method_id(@__retain_semantics Other dockMenu)]
        pub unsafe fn dockMenu(&self) -> Option<Id<NSMenu, Shared>>;
    }
);