andlabs-ui/group_darwin.go

48 lines
883 B
Go

// 16 august 2014
package ui
import (
"unsafe"
)
// #include "objc_darwin.h"
import "C"
type group struct {
*controlSingleObject
child Control
container *container
}
func newGroup(text string, control Control) Group {
g := new(group)
g.child = control
g.container = newContainer(g.child.resize)
g.child.setParent(g.container.parent())
g.controlSingleObject = newControlSingleObject(C.newGroup(g.container.id))
g.SetText(text)
return g
}
func (g *group) Text() string {
return C.GoString(C.groupText(g.id))
}
func (g *group) SetText(text string) {
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
C.groupSetText(g.id, ctext)
}
func (g *group) Margined() bool {
return g.container.margined
}
func (g *group) SetMargined(margined bool) {
g.container.margined = margined
}
// no need to override resize; the child container handles that for us