cocoa.touchbar: use arrays of strings instead of enums.
parent
6ddeeac3dc
commit
07f4d19947
|
@ -1,22 +1,14 @@
|
|||
! Copyright (C) 2017 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors alien.c-types alien.enums alien.syntax cocoa
|
||||
cocoa.classes cocoa.messages cocoa.runtime combinators
|
||||
core-foundation.strings kernel locals namespaces sequences words ;
|
||||
USING: alien.c-types cocoa cocoa.classes cocoa.messages
|
||||
cocoa.runtime combinators core-foundation.strings kernel locals
|
||||
;
|
||||
IN: cocoa.touchbar
|
||||
|
||||
! ui.backend.cocoa.views creates buttons for each of these actions
|
||||
ENUM: default-touchbar refresh-all-action auto-use-action ;
|
||||
|
||||
: enum>CFStringArray ( seq -- alien )
|
||||
enum>keys
|
||||
NSArray -> alloc
|
||||
swap <CFStringArray> -> initWithArray: ;
|
||||
|
||||
: make-touchbar ( enum self -- touchbar )
|
||||
: make-touchbar ( seq self -- touchbar )
|
||||
[ NSTouchBar -> alloc -> init dup ] dip -> setDelegate: {
|
||||
[ swap enum>CFStringArray { void { id SEL id } } ?-> setDefaultItemIdentifiers: ]
|
||||
[ swap enum>CFStringArray { void { id SEL id } } ?-> setCustomizationAllowedItemIdentifiers: ]
|
||||
[ swap <CFStringArray> { void { id SEL id } } ?-> setDefaultItemIdentifiers: ]
|
||||
[ swap <CFStringArray> { void { id SEL id } } ?-> setCustomizationAllowedItemIdentifiers: ]
|
||||
[ nip ]
|
||||
} 2cleave ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue