naive/tabview_darwin.go

25 lines
551 B
Go
Raw Normal View History

2025-01-20 07:34:39 +01:00
package naive
import "github.com/progrium/darwinkit/macos/appkit"
func (tv TabView) toNative() appkit.IView {
tabView := appkit.NewTabView()
tabView.SetTranslatesAutoresizingMaskIntoConstraints(true)
for _, tiv := range tv.Children {
tabView.AddTabViewItem(tiv.toNative())
}
return tabView
}
func (tvi TabViewItem) toNative() appkit.TabViewItem {
ti := appkit.NewTabViewItem()
ti.SetLabel(tvi.Title.Value())
if eff, ok := tvi.Title.(*Effect[string]); ok {
eff.OnChange(ti.SetLabel)
}
ti.SetView(tvi.Content.toNative())
return ti
}