use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSTextListOptions(pub NSUInteger);
bitflags::bitflags! {
impl NSTextListOptions: NSUInteger {
const NSTextListPrependEnclosingMarker = 1<<0;
}
}
unsafe impl Encode for NSTextListOptions {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSTextListOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type NSTextListMarkerFormat = NSString;
extern "C" {
pub static NSTextListMarkerBox: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerCheck: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerCircle: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerDiamond: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerDisc: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerHyphen: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerSquare: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerLowercaseHexadecimal: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerUppercaseHexadecimal: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerOctal: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerLowercaseAlpha: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerUppercaseAlpha: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerLowercaseLatin: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerUppercaseLatin: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerLowercaseRoman: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerUppercaseRoman: &'static NSTextListMarkerFormat;
}
extern "C" {
pub static NSTextListMarkerDecimal: &'static NSTextListMarkerFormat;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSTextList;
unsafe impl ClassType for NSTextList {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for NSTextList {}
unsafe impl NSCopying for NSTextList {}
unsafe impl NSObjectProtocol for NSTextList {}
unsafe impl NSSecureCoding for NSTextList {}
extern_methods!(
unsafe impl NSTextList {
#[method_id(@__retain_semantics Init initWithMarkerFormat:options:startingItemNumber:)]
pub unsafe fn initWithMarkerFormat_options_startingItemNumber(
this: Allocated<Self>,
marker_format: &NSTextListMarkerFormat,
options: NSTextListOptions,
starting_item_number: NSInteger,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithMarkerFormat:options:)]
pub unsafe fn initWithMarkerFormat_options(
this: Allocated<Self>,
marker_format: &NSTextListMarkerFormat,
options: NSUInteger,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[method_id(@__retain_semantics Other markerFormat)]
pub unsafe fn markerFormat(&self) -> Retained<NSTextListMarkerFormat>;
#[method(listOptions)]
pub unsafe fn listOptions(&self) -> NSTextListOptions;
#[method(startingItemNumber)]
pub unsafe fn startingItemNumber(&self) -> NSInteger;
#[method(setStartingItemNumber:)]
pub unsafe fn setStartingItemNumber(&self, starting_item_number: NSInteger);
#[method(isOrdered)]
pub unsafe fn isOrdered(&self) -> bool;
#[method_id(@__retain_semantics Other markerForItemNumber:)]
pub unsafe fn markerForItemNumber(&self, item_number: NSInteger) -> Retained<NSString>;
}
);
extern_methods!(
unsafe impl NSTextList {
#[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() -> Retained<Self>;
}
);