use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSTickMarkPosition(pub NSUInteger);
impl NSTickMarkPosition {
#[doc(alias = "NSTickMarkPositionBelow")]
pub const Below: Self = Self(0);
#[doc(alias = "NSTickMarkPositionAbove")]
pub const Above: Self = Self(1);
#[doc(alias = "NSTickMarkPositionLeading")]
pub const Leading: Self = Self(NSTickMarkPosition::Above.0);
#[doc(alias = "NSTickMarkPositionTrailing")]
pub const Trailing: Self = Self(NSTickMarkPosition::Below.0);
}
unsafe impl Encode for NSTickMarkPosition {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSTickMarkPosition {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSSliderType(pub NSUInteger);
impl NSSliderType {
#[doc(alias = "NSSliderTypeLinear")]
pub const Linear: Self = Self(0);
#[doc(alias = "NSSliderTypeCircular")]
pub const Circular: Self = Self(1);
}
unsafe impl Encode for NSSliderType {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSSliderType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
pub struct NSSliderCell;
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl ClassType for NSSliderCell {
#[inherits(NSCell, NSObject)]
type Super = NSActionCell;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSActionCell",
feature = "NSCell"
))]
unsafe impl NSAccessibility for NSSliderCell {}
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSActionCell",
feature = "NSCell"
))]
unsafe impl NSAccessibilityElementProtocol for NSSliderCell {}
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSCoding for NSSliderCell {}
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSCopying for NSSliderCell {}
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSObjectProtocol for NSSliderCell {}
#[cfg(all(
feature = "NSActionCell",
feature = "NSCell",
feature = "NSUserInterfaceItemIdentification"
))]
unsafe impl NSUserInterfaceItemIdentification for NSSliderCell {}
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {
#[method(prefersTrackingUntilMouseUp)]
pub unsafe fn prefersTrackingUntilMouseUp(mtm: MainThreadMarker) -> bool;
#[method(minValue)]
pub unsafe fn minValue(&self) -> c_double;
#[method(setMinValue:)]
pub unsafe fn setMinValue(&self, min_value: c_double);
#[method(maxValue)]
pub unsafe fn maxValue(&self) -> c_double;
#[method(setMaxValue:)]
pub unsafe fn setMaxValue(&self, max_value: c_double);
#[method(altIncrementValue)]
pub unsafe fn altIncrementValue(&self) -> c_double;
#[method(setAltIncrementValue:)]
pub unsafe fn setAltIncrementValue(&self, alt_increment_value: c_double);
#[method(sliderType)]
pub unsafe fn sliderType(&self) -> NSSliderType;
#[method(setSliderType:)]
pub unsafe fn setSliderType(&self, slider_type: NSSliderType);
#[method(setVertical:)]
pub unsafe fn setVertical(&self, vertical: bool);
#[method(trackRect)]
pub unsafe fn trackRect(&self) -> NSRect;
#[method(knobThickness)]
pub unsafe fn knobThickness(&self) -> CGFloat;
#[method(knobRectFlipped:)]
pub unsafe fn knobRectFlipped(&self, flipped: bool) -> NSRect;
#[method(barRectFlipped:)]
pub unsafe fn barRectFlipped(&self, flipped: bool) -> NSRect;
#[method(drawKnob:)]
pub unsafe fn drawKnob_(&self, knob_rect: NSRect);
#[method(drawKnob)]
pub unsafe fn drawKnob(&self);
#[method(drawBarInside:flipped:)]
pub unsafe fn drawBarInside_flipped(&self, rect: NSRect, flipped: bool);
}
);
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics Init initTextCell:)]
pub unsafe fn initTextCell(this: Allocated<Self>, string: &NSString) -> Id<Self>;
#[cfg(feature = "NSImage")]
#[method_id(@__retain_semantics Init initImageCell:)]
pub unsafe fn initImageCell(this: Allocated<Self>, image: Option<&NSImage>) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Id<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {}
);
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {
#[method(numberOfTickMarks)]
pub unsafe fn numberOfTickMarks(&self) -> NSInteger;
#[method(setNumberOfTickMarks:)]
pub unsafe fn setNumberOfTickMarks(&self, number_of_tick_marks: NSInteger);
#[method(tickMarkPosition)]
pub unsafe fn tickMarkPosition(&self) -> NSTickMarkPosition;
#[method(setTickMarkPosition:)]
pub unsafe fn setTickMarkPosition(&self, tick_mark_position: NSTickMarkPosition);
#[method(allowsTickMarkValuesOnly)]
pub unsafe fn allowsTickMarkValuesOnly(&self) -> bool;
#[method(setAllowsTickMarkValuesOnly:)]
pub unsafe fn setAllowsTickMarkValuesOnly(&self, allows_tick_mark_values_only: bool);
#[method(tickMarkValueAtIndex:)]
pub unsafe fn tickMarkValueAtIndex(&self, index: NSInteger) -> c_double;
#[method(rectOfTickMarkAtIndex:)]
pub unsafe fn rectOfTickMarkAtIndex(&self, index: NSInteger) -> NSRect;
#[method(indexOfTickMarkAtPoint:)]
pub unsafe fn indexOfTickMarkAtPoint(&self, point: NSPoint) -> NSInteger;
#[method(closestTickMarkValueToValue:)]
pub unsafe fn closestTickMarkValueToValue(&self, value: c_double) -> c_double;
#[method(drawTickMarks)]
pub unsafe fn drawTickMarks(&self);
}
);
extern_methods!(
#[cfg(all(feature = "NSActionCell", feature = "NSCell"))]
unsafe impl NSSliderCell {
#[deprecated = "-setTitleCell: had no effect since 10.0"]
#[method(setTitleCell:)]
pub unsafe fn setTitleCell(&self, cell: Option<&NSCell>);
#[deprecated = "-titleCell has returned nil since 10.0"]
#[method_id(@__retain_semantics Other titleCell)]
pub unsafe fn titleCell(&self) -> Option<Id<AnyObject>>;
#[cfg(feature = "NSColor")]
#[deprecated = "-setTitleColor: had no effect since 10.0"]
#[method(setTitleColor:)]
pub unsafe fn setTitleColor(&self, new_color: Option<&NSColor>);
#[cfg(feature = "NSColor")]
#[deprecated = "-titleColor has returned nil since 10.0"]
#[method_id(@__retain_semantics Other titleColor)]
pub unsafe fn titleColor(&self) -> Option<Id<NSColor>>;
#[cfg(feature = "NSFont")]
#[deprecated = "-setTitleFont: had no effect since 10.0"]
#[method(setTitleFont:)]
pub unsafe fn setTitleFont(&self, font_obj: Option<&NSFont>);
#[cfg(feature = "NSFont")]
#[deprecated = "-titleFont has returned nil since 10.0"]
#[method_id(@__retain_semantics Other titleFont)]
pub unsafe fn titleFont(&self) -> Option<Id<NSFont>>;
#[deprecated = "-title has returned nil since 10.0"]
#[method_id(@__retain_semantics Other title)]
pub unsafe fn title(&self) -> Option<Id<NSString>>;
#[deprecated = "-setTitle: had no effect since 10.0"]
#[method(setTitle:)]
pub unsafe fn setTitle(&self, string: Option<&NSString>);
#[deprecated = "-knobThickness has returned 0 since 10.0"]
#[method(setKnobThickness:)]
pub unsafe fn setKnobThickness(&self, thickness: CGFloat);
#[cfg(feature = "NSImage")]
#[deprecated = "-setImage: had no effect since 10.0"]
#[method(setImage:)]
pub unsafe fn setImage(&self, background_image: Option<&NSImage>);
#[cfg(feature = "NSImage")]
#[deprecated = "-image has returned nil since 10.0"]
#[method_id(@__retain_semantics Other image)]
pub unsafe fn image(&self) -> Option<Id<NSImage>>;
}
);
pub static NSTickMarkBelow: NSTickMarkPosition = NSTickMarkPosition(NSTickMarkPosition::Below.0);
pub static NSTickMarkAbove: NSTickMarkPosition = NSTickMarkPosition(NSTickMarkPosition::Above.0);
pub static NSTickMarkLeft: NSTickMarkPosition = NSTickMarkPosition(NSTickMarkPosition::Leading.0);
pub static NSTickMarkRight: NSTickMarkPosition = NSTickMarkPosition(NSTickMarkPosition::Trailing.0);
pub static NSLinearSlider: NSSliderType = NSSliderType(NSSliderType::Linear.0);
pub static NSCircularSlider: NSSliderType = NSSliderType(NSSliderType::Circular.0);