|
@@ -0,0 +1,35 @@
|
|
|
|
|
+// package win_main -- главное окно приложения
|
|
|
|
|
+package win_main
|
|
|
|
|
+
|
|
|
|
|
+import (
|
|
|
|
|
+ "github.com/visualfc/atk/tk"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+type WinMain struct {
|
|
|
|
|
+ *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)
|
|
|
|
|
+ return sf
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// Запускает графику в работу
|
|
|
|
|
+func (sf *WinMain) Run() {
|
|
|
|
|
+ fnMake := func() {
|
|
|
|
|
+ sf.SetTitle("ATK Sample")
|
|
|
|
|
+ sf.Center(nil)
|
|
|
|
|
+ sf.ShowNormal()
|
|
|
|
|
+ }
|
|
|
|
|
+ tk.MainLoop(fnMake)
|
|
|
|
|
+}
|