// package win_main -- главное окно приложения package win_main import ( "github.com/visualfc/atk/tk" ) type WinMain struct { win *tk.Window } // NewWinmain -- возвращает новое главное окно func NewWinMain() *WinMain { 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() { win := sf.newWindow() win.SetTitle("WarTank") win.Center(nil) win.ShowNormal() sf.win = win } tk.MainLoop(fnMake) }