From f8e3f12ab02b528f2a05a4f713d7af7ea8e44b42 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Fri, 11 Dec 2015 20:37:59 -0500 Subject: LET'S GET THIS FINAL REWRITE EVER STARTED --- prev/tab_darwin.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 prev/tab_darwin.go (limited to 'prev/tab_darwin.go') diff --git a/prev/tab_darwin.go b/prev/tab_darwin.go new file mode 100644 index 0000000..7a8aefe --- /dev/null +++ b/prev/tab_darwin.go @@ -0,0 +1,41 @@ +// 25 july 2014 + +package ui + +import ( + "unsafe" +) + +// #include "objc_darwin.h" +import "C" + +type tab struct { + *controlSingleObject + tabs []*container + children []Control +} + +func newTab() Tab { + t := &tab{ + controlSingleObject: newControlSingleObject(C.newTab()), + } + t.fpreferredSize = t.xpreferredSize + return t +} + +func (t *tab) Append(name string, control Control) { + c := newContainer(control.resize) + t.tabs = append(t.tabs, c) + control.setParent(c.parent()) + t.children = append(t.children, control) + cname := C.CString(name) + defer C.free(unsafe.Pointer(cname)) + C.tabAppend(t.id, cname, c.id) +} + +func (t *tab) xpreferredSize(d *sizing) (width, height int) { + s := C.tabPreferredSize(t.id) + return int(s.width), int(s.height) +} + +// no need to handle resize; the children containers handle that for us -- cgit v1.2.3