Add support for repeat buttons

This commit is contained in:
david-swift 2025-02-10 15:27:20 +01:00
parent a20e0f26a4
commit 8102ccd51a
4 changed files with 137 additions and 0 deletions

View File

@ -129,6 +129,14 @@ private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRangeBaseVa
.init(Data1: 0xB0181692, Data2: 0x9578, Data3: 0x51C7, Data4: ( 0x9D,0x1C,0xAD,0xFC,0xF8,0x94,0x5A,0xA9 ))// B0181692-9578-51C7-9D1C-ADFCF8945AA9
}
private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton: WindowsFoundation.IID {
.init(Data1: 0x97F4C728, Data2: 0x4A94, Data3: 0x56B5, Data4: ( 0x91,0xE4,0xE7,0xC6,0xF6,0xA1,0x25,0x1A ))// 97F4C728-4A94-56B5-91E4-E7C6F6A1251A
}
private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics: WindowsFoundation.IID {
.init(Data1: 0xB57320F6, Data2: 0xA58A, Data3: 0x589C, Data4: ( 0x9F,0x41,0xAA,0xB0,0x2F,0x51,0xE8,0x29 ))// B57320F6-A58A-589C-9F41-AAB02F51E829
}
private var IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIScrollController: WindowsFoundation.IID {
.init(Data1: 0x54396786, Data2: 0x1726, Data3: 0x53D6, Data4: ( 0x97,0xA3,0x40,0xAF,0x08,0x38,0x31,0x4C ))// 54396786-1726-53D6-97A3-40AF0838314C
}
@ -1892,6 +1900,62 @@ public enum __ABI_Microsoft_UI_Xaml_Controls_Primitives {
}
public class IRepeatButton: WindowsFoundation.IInspectable {
override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton }
internal func get_DelayImpl() throws -> Int32 {
var value: INT32 = 0
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.get_Delay(pThis, &value))
}
return value
}
internal func put_DelayImpl(_ value: Int32) throws {
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.put_Delay(pThis, value))
}
}
internal func get_IntervalImpl() throws -> Int32 {
var value: INT32 = 0
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.get_Interval(pThis, &value))
}
return value
}
internal func put_IntervalImpl(_ value: Int32) throws {
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.put_Interval(pThis, value))
}
}
}
public class IRepeatButtonStatics: WindowsFoundation.IInspectable {
override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics }
internal func get_DelayPropertyImpl() throws -> WinUI.DependencyProperty? {
let (value) = try ComPtrs.initialize { valueAbi in
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.get_DelayProperty(pThis, &valueAbi))
}
}
return .from(abi: value)
}
internal func get_IntervalPropertyImpl() throws -> WinUI.DependencyProperty? {
let (value) = try ComPtrs.initialize { valueAbi in
_ = try perform(as: __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButtonStatics.self) { pThis in
try CHECKED(pThis.pointee.lpVtbl.pointee.get_IntervalProperty(pThis, &valueAbi))
}
}
return .from(abi: value)
}
}
public class IScrollController: WindowsFoundation.IInspectable {
override public class var IID: WindowsFoundation.IID { IID___x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIScrollController }

View File

@ -1416,6 +1416,73 @@ public final class RangeBaseValueChangedEventArgs : WinUI.RoutedEventArgs {
}
}
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton)
public final class RepeatButton : WinUI.ButtonBase {
private typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButton
private typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton
private lazy var _default: SwiftABI! = getInterfaceForCaching()
@_spi(WinRTInternal)
override public func _getABI<T>() -> UnsafeMutablePointer<T>? {
if T.self == CABI.self {
return RawPointer(_default)
}
return super._getABI()
}
@_spi(WinRTInternal)
public static func from(abi: ComPtr<__x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton>?) -> RepeatButton? {
guard let abi = abi else { return nil }
return .init(fromAbi: WindowsFoundation.IInspectable(abi))
}
@_spi(WinRTInternal)
override public init(fromAbi: WindowsFoundation.IInspectable) {
super.init(fromAbi: fromAbi)
}
override public init() {
super.init(fromAbi: try! RoActivateInstance(HString("Microsoft.UI.Xaml.Controls.Primitives.RepeatButton")))
}
private static let _IRepeatButtonStatics: __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButtonStatics = try! RoGetActivationFactory(HString("Microsoft.UI.Xaml.Controls.Primitives.RepeatButton"))
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.delayproperty)
public static var delayProperty : WinUI.DependencyProperty! {
get { try! _IRepeatButtonStatics.get_DelayPropertyImpl() }
}
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.intervalproperty)
public static var intervalProperty : WinUI.DependencyProperty! {
get { try! _IRepeatButtonStatics.get_IntervalPropertyImpl() }
}
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.delay)
public var delay : Int32 {
get { try! _default.get_DelayImpl() }
set { try! _default.put_DelayImpl(newValue) }
}
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.repeatbutton.interval)
public var interval : Int32 {
get { try! _default.get_IntervalImpl() }
set { try! _default.put_IntervalImpl(newValue) }
}
internal enum IContentControlOverrides : ComposableImpl {
internal typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CIContentControlOverrides
internal typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls.IContentControlOverrides
internal typealias Class = RepeatButton
internal typealias SwiftProjection = WinRTClassWeakReference<Class>
internal enum Default : AbiInterface {
internal typealias CABI = __x_ABI_CMicrosoft_CUI_CXaml_CControls_CPrimitives_CIRepeatButton
internal typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IRepeatButton
}
}
internal typealias Composable = IContentControlOverrides
deinit {
_default = nil
}
}
/// [Open Microsoft documentation](https://learn.microsoft.com/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.primitives.scrollcontrolleraddscrollvelocityrequestedeventargs)
public final class ScrollControllerAddScrollVelocityRequestedEventArgs : WinRTClass {
private typealias SwiftABI = __ABI_Microsoft_UI_Xaml_Controls_Primitives.IScrollControllerAddScrollVelocityRequestedEventArgs

View File

@ -1141,6 +1141,10 @@ fileprivate func makeRangeBaseValueChangedEventArgsFrom(abi: WindowsFoundation.I
return RangeBaseValueChangedEventArgs(fromAbi: abi)
}
fileprivate func makeRepeatButtonFrom(abi: WindowsFoundation.IInspectable) -> Any {
return RepeatButton(fromAbi: abi)
}
fileprivate func makeScrollControllerAddScrollVelocityRequestedEventArgsFrom(abi: WindowsFoundation.IInspectable) -> Any {
return ScrollControllerAddScrollVelocityRequestedEventArgs(fromAbi: abi)
}
@ -2275,6 +2279,7 @@ public class __MakeFromAbi: MakeFromAbi {
case "Popup": return makePopupFrom(abi: abi)
case "RangeBase": return makeRangeBaseFrom(abi: abi)
case "RangeBaseValueChangedEventArgs": return makeRangeBaseValueChangedEventArgsFrom(abi: abi)
case "RepeatButton": return makeRepeatButtonFrom(abi: abi)
case "ScrollControllerAddScrollVelocityRequestedEventArgs": return makeScrollControllerAddScrollVelocityRequestedEventArgsFrom(abi: abi)
case "ScrollControllerPanRequestedEventArgs": return makeScrollControllerPanRequestedEventArgsFrom(abi: abi)
case "ScrollControllerScrollByRequestedEventArgs": return makeScrollControllerScrollByRequestedEventArgsFrom(abi: abi)

View File

@ -54,6 +54,7 @@
"Microsoft.UI.Xaml.Controls.Page",
"Microsoft.UI.Xaml.Controls.PasswordBox",
"Microsoft.UI.Xaml.Controls.PipsPager",
"Microsoft.UI.Xaml.Controls.Primitives.RepeatButton",
"Microsoft.UI.Xaml.Controls.ProgressBar",
"Microsoft.UI.Xaml.Controls.ProgressRing",
"Microsoft.UI.Xaml.Controls.RadioButton",