use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
pub struct NSStepper;
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl ClassType for NSStepper {
#[inherits(NSView, NSResponder, NSObject)]
type Super = NSControl;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSControl",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAccessibility for NSStepper {}
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSControl",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAccessibilityElementProtocol for NSStepper {}
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSControl",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAccessibilityStepper for NSStepper {}
#[cfg(all(
feature = "NSAnimation",
feature = "NSControl",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAnimatablePropertyContainer for NSStepper {}
#[cfg(all(
feature = "NSAppearance",
feature = "NSControl",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAppearanceCustomization for NSStepper {}
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSCoding for NSStepper {}
#[cfg(all(
feature = "NSControl",
feature = "NSDragging",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSDraggingDestination for NSStepper {}
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSObjectProtocol for NSStepper {}
#[cfg(all(
feature = "NSControl",
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSView"
))]
unsafe impl NSUserInterfaceItemIdentification for NSStepper {}
extern_methods!(
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSStepper {
#[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(increment)]
pub unsafe fn increment(&self) -> c_double;
#[method(setIncrement:)]
pub unsafe fn setIncrement(&self, increment: c_double);
#[method(valueWraps)]
pub unsafe fn valueWraps(&self) -> bool;
#[method(setValueWraps:)]
pub unsafe fn setValueWraps(&self, value_wraps: bool);
#[method(autorepeat)]
pub unsafe fn autorepeat(&self) -> bool;
#[method(setAutorepeat:)]
pub unsafe fn setAutorepeat(&self, autorepeat: bool);
}
);
extern_methods!(
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSStepper {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Option<Id<Self>>;
}
);
extern_methods!(
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSStepper {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSStepper {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);