diff options
Diffstat (limited to 'objc_darwin.go')
| -rw-r--r-- | objc_darwin.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/objc_darwin.go b/objc_darwin.go index 855dc58..b8d5f8f 100644 --- a/objc_darwin.go +++ b/objc_darwin.go @@ -54,6 +54,32 @@ func fromNSString(str C.id) string { return C.GoString((*C.char)(unsafe.Pointer(cstr))) } +// These consolidate the NSScrollView code (used by listbox_darwin.go and area_darwin.go) into a single place. + +var ( + _NSScrollView = objc_getClass("NSScrollView") + + _setHasHorizontalScroller = sel_getUid("setHasHorizontalScroller:") + _setHasVerticalScroller = sel_getUid("setHasVerticalScroller:") + _setAutohidesScrollers = sel_getUid("setAutohidesScrollers:") + _setDocumentView = sel_getUid("setDocumentView:") + _documentView = sel_getUid("documentView") +) + +func newScrollView(content C.id) C.id { + scrollview := C.objc_msgSend_noargs(_NSScrollView, _alloc) + scrollview = initWithDummyFrame(scrollview) + C.objc_msgSend_bool(scrollview, _setHasHorizontalScroller, C.BOOL(C.YES)) + C.objc_msgSend_bool(scrollview, _setHasVerticalScroller, C.BOOL(C.YES)) + C.objc_msgSend_bool(scrollview, _setAutohidesScrollers, C.BOOL(C.YES)) + C.objc_msgSend_id(scrollview, _setDocumentView, content) + return scrollview +} + +func getScrollViewContent(scrollview C.id) C.id { + return C.objc_msgSend_noargs(scrollview, _documentView) +} + // These create new classes. // selector contains the information for a new selector. |
