|
|
@@ -6,30 +6,38 @@ import (
|
|
|
)
|
|
|
|
|
|
type WinMain struct {
|
|
|
- *tk.Window
|
|
|
+ win *tk.Window
|
|
|
}
|
|
|
|
|
|
// NewWinmain -- возвращает новое главное окно
|
|
|
func NewWinMain() *WinMain {
|
|
|
- sf := &WinMain{
|
|
|
- Window: tk.RootWindow(),
|
|
|
- }
|
|
|
- lbl := tk.NewLabel(sf, "Hello ATK")
|
|
|
- btn := tk.NewButton(sf, "Quit")
|
|
|
- btn.OnCommand(func() {
|
|
|
- tk.Quit()
|
|
|
- })
|
|
|
- tk.NewVPackLayout(sf).AddWidgets(lbl, tk.NewLayoutSpacer(sf, 0, true), btn)
|
|
|
- sf.ResizeN(300, 200)
|
|
|
+ sf := &WinMain{}
|
|
|
+
|
|
|
return sf
|
|
|
}
|
|
|
|
|
|
+func (sf *WinMain) quit() {
|
|
|
+ tk.Quit()
|
|
|
+}
|
|
|
+
|
|
|
+func (sf *WinMain) newWindow() *tk.Window {
|
|
|
+ win := tk.RootWindow()
|
|
|
+ lbl := tk.NewLabel(win, "Hello ATK")
|
|
|
+ btn := tk.NewButton(win, "Выход")
|
|
|
+ btn.OnCommand(sf.quit)
|
|
|
+ tk.NewVPackLayout(win).AddWidgets(lbl, tk.NewLayoutSpacer(win, 0, true), btn)
|
|
|
+ win.ResizeN(300, 200)
|
|
|
+ return win
|
|
|
+}
|
|
|
+
|
|
|
// Запускает графику в работу
|
|
|
func (sf *WinMain) Run() {
|
|
|
fnMake := func() {
|
|
|
- sf.SetTitle("ATK Sample")
|
|
|
- sf.Center(nil)
|
|
|
- sf.ShowNormal()
|
|
|
+ win := sf.newWindow()
|
|
|
+ win.SetTitle("WarTank")
|
|
|
+ win.Center(nil)
|
|
|
+ win.ShowNormal()
|
|
|
+ sf.win = win
|
|
|
}
|
|
|
tk.MainLoop(fnMake)
|
|
|
}
|