| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // 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)
- }
|