use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSWindowTabGroup;
unsafe impl ClassType for NSWindowTabGroup {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for NSWindowTabGroup {}
extern_methods!(
unsafe impl NSWindowTabGroup {
#[cfg(feature = "NSWindow")]
#[method_id(@__retain_semantics Other identifier)]
pub unsafe fn identifier(&self) -> Id<NSWindowTabbingIdentifier>;
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method_id(@__retain_semantics Other windows)]
pub fn windows(&self) -> Id<NSArray<NSWindow>>;
#[method(isOverviewVisible)]
pub unsafe fn isOverviewVisible(&self) -> bool;
#[method(setOverviewVisible:)]
pub unsafe fn setOverviewVisible(&self, overview_visible: bool);
#[method(isTabBarVisible)]
pub unsafe fn isTabBarVisible(&self) -> bool;
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method_id(@__retain_semantics Other selectedWindow)]
pub unsafe fn selectedWindow(&self) -> Option<Id<NSWindow>>;
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method(setSelectedWindow:)]
pub fn setSelectedWindow(&self, selected_window: Option<&NSWindow>);
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method(addWindow:)]
pub unsafe fn addWindow(&self, window: &NSWindow);
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method(insertWindow:atIndex:)]
pub unsafe fn insertWindow_atIndex(&self, window: &NSWindow, index: NSInteger);
#[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
#[method(removeWindow:)]
pub unsafe fn removeWindow(&self, window: &NSWindow);
}
);
extern_methods!(
unsafe impl NSWindowTabGroup {
#[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(mtm: MainThreadMarker) -> Id<Self>;
}
);