use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
pub struct UICollectionViewController;
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl ClassType for UICollectionViewController {
#[inherits(UIResponder, NSObject)]
type Super = UIViewController;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSCoding for UICollectionViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl NSObjectProtocol for UICollectionViewController {}
#[cfg(all(
feature = "UIAppearance",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIAppearanceContainer for UICollectionViewController {}
#[cfg(all(
feature = "UICollectionView",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UICollectionViewDataSource for UICollectionViewController {}
#[cfg(all(
feature = "UICollectionView",
feature = "UIResponder",
feature = "UIScrollView",
feature = "UIViewController"
))]
unsafe impl UICollectionViewDelegate for UICollectionViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIContentContainer for UICollectionViewController {}
#[cfg(all(
feature = "UIFocus",
feature = "UIResponder",
feature = "UIViewController"
))]
unsafe impl UIFocusEnvironment for UICollectionViewController {}
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UIResponderStandardEditActions for UICollectionViewController {}
#[cfg(all(
feature = "UIResponder",
feature = "UIScrollView",
feature = "UIViewController"
))]
unsafe impl UIScrollViewDelegate for UICollectionViewController {}
#[cfg(all(
feature = "UIResponder",
feature = "UITraitCollection",
feature = "UIViewController"
))]
unsafe impl UITraitEnvironment for UICollectionViewController {}
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UICollectionViewController {
#[cfg(feature = "UICollectionViewLayout")]
#[method_id(@__retain_semantics Init initWithCollectionViewLayout:)]
pub unsafe fn initWithCollectionViewLayout(
this: Allocated<Self>,
layout: &UICollectionViewLayout,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name_or_nil: Option<&NSString>,
nib_bundle_or_nil: Option<&NSBundle>,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[cfg(all(
feature = "UICollectionView",
feature = "UIScrollView",
feature = "UIView"
))]
#[method_id(@__retain_semantics Other collectionView)]
pub unsafe fn collectionView(&self) -> Option<Retained<UICollectionView>>;
#[cfg(all(
feature = "UICollectionView",
feature = "UIScrollView",
feature = "UIView"
))]
#[method(setCollectionView:)]
pub unsafe fn setCollectionView(&self, collection_view: Option<&UICollectionView>);
#[method(clearsSelectionOnViewWillAppear)]
pub unsafe fn clearsSelectionOnViewWillAppear(&self) -> bool;
#[method(setClearsSelectionOnViewWillAppear:)]
pub unsafe fn setClearsSelectionOnViewWillAppear(
&self,
clears_selection_on_view_will_appear: bool,
);
#[method(useLayoutToLayoutNavigationTransitions)]
pub unsafe fn useLayoutToLayoutNavigationTransitions(&self) -> bool;
#[method(setUseLayoutToLayoutNavigationTransitions:)]
pub unsafe fn setUseLayoutToLayoutNavigationTransitions(
&self,
use_layout_to_layout_navigation_transitions: bool,
);
#[cfg(feature = "UICollectionViewLayout")]
#[method_id(@__retain_semantics Other collectionViewLayout)]
pub unsafe fn collectionViewLayout(&self) -> Retained<UICollectionViewLayout>;
#[method(installsStandardGestureForInteractiveMovement)]
pub unsafe fn installsStandardGestureForInteractiveMovement(&self) -> bool;
#[method(setInstallsStandardGestureForInteractiveMovement:)]
pub unsafe fn setInstallsStandardGestureForInteractiveMovement(
&self,
installs_standard_gesture_for_interactive_movement: bool,
);
}
);
extern_methods!(
#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
unsafe impl UICollectionViewController {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);