2014-08-15 23:37:38 -05:00
|
|
|
// 16 august 2014
|
|
|
|
|
|
|
|
package ui
|
|
|
|
|
|
|
|
import (
|
|
|
|
"unsafe"
|
|
|
|
)
|
|
|
|
|
|
|
|
// #include "objc_darwin.h"
|
|
|
|
import "C"
|
|
|
|
|
|
|
|
type group struct {
|
2014-10-18 16:03:07 -05:00
|
|
|
*controlSingleObject
|
2014-08-15 23:37:38 -05:00
|
|
|
|
2014-10-18 16:03:07 -05:00
|
|
|
child Control
|
|
|
|
container *container
|
2014-08-15 23:37:38 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
func newGroup(text string, control Control) Group {
|
|
|
|
g := new(group)
|
2014-10-18 16:03:07 -05:00
|
|
|
g.child = control
|
2014-10-27 23:13:18 -05:00
|
|
|
g.container = newContainer(g.child.resize)
|
2014-10-18 16:03:07 -05:00
|
|
|
g.child.setParent(g.container.parent())
|
2014-10-27 23:13:18 -05:00
|
|
|
g.controlSingleObject = newControlSingleObject(C.newGroup(g.container.id))
|
2014-08-15 23:37:38 -05:00
|
|
|
g.SetText(text)
|
|
|
|
return g
|
|
|
|
}
|
|
|
|
|
|
|
|
func (g *group) Text() string {
|
2014-10-18 16:03:07 -05:00
|
|
|
return C.GoString(C.groupText(g.id))
|
2014-08-15 23:37:38 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
func (g *group) SetText(text string) {
|
|
|
|
ctext := C.CString(text)
|
|
|
|
defer C.free(unsafe.Pointer(ctext))
|
2014-10-18 16:03:07 -05:00
|
|
|
C.groupSetText(g.id, ctext)
|
2014-08-15 23:37:38 -05:00
|
|
|
}
|
|
|
|
|
2014-10-18 16:03:07 -05:00
|
|
|
func (g *group) Margined() bool {
|
2014-10-27 22:57:54 -05:00
|
|
|
return g.container.margined
|
2014-08-15 23:37:38 -05:00
|
|
|
}
|
|
|
|
|
2014-10-18 16:03:07 -05:00
|
|
|
func (g *group) SetMargined(margined bool) {
|
2014-10-27 22:57:54 -05:00
|
|
|
g.container.margined = margined
|
2014-08-15 23:37:38 -05:00
|
|
|
}
|
|
|
|
|
2014-10-27 22:57:54 -05:00
|
|
|
// no need to override resize; the child container handles that for us
|