package main

import (
	"go.wit.com/dev/andlabs/ui"
	_ "go.wit.com/dev/andlabs/ui/winmanifest"

	"go.wit.com/lib/widget"
	"go.wit.com/log"
	"go.wit.com/toolkits/tree"
)

func (t *guiWidget) MessageWindow(msg1 string, msg2 string) {
	ui.MsgBox(t.uiWindow, msg1, msg2)
}

func (t *guiWidget) ErrorWindow(msg1 string, msg2 string) {
	ui.MsgBoxError(t.uiWindow, msg1, msg2)
}

func newWindow(p, n *tree.Node) {
	var newt *guiWidget
	newt = new(guiWidget)

	// menubar bool is if the OS defined border on the window should be used
	win := ui.NewWindow(n.GetProgName(), 640, 480, menubar)
	win.SetBorderless(canvas)
	win.SetMargined(margin)
	win.OnClosing(func(*ui.Window) bool {
		// show(n, false)
		me.myTree.DoWindowCloseEvent(n)
		return false
	})
	newt.uiWindow = win
	newt.uiControl = win

	n.TK = newt
	place(p, n)
	win.Show()
	return
}

func (n *node) SetWindowTitle(title string) {
	log.Log(CHANGE, "toolkit NewWindow", widget.GetString(n.value), "title", title)
	win := n.tk.uiWindow
	if win == nil {
		log.Log(ERROR, "Error: no window", n.WidgetId)
	} else {
		win.SetTitle(title)
		log.Log(CHANGE, "Setting the window title", title)
	}
}
