// package serv_desktop -- графический интерфейс для сервера бото-фермы package serv_desktop import ( "fmt" "log" "fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "wartank/pkg/types" "wartank/server/serv_desktop/win_main" ) // СерверДесктоп -- интерфейс к графике бото-фермы type СерверДесктоп struct { сервер types.ИСервер файн fyne.App окноГлав *win_main.ОкноГлав } // НовСерверДесктоп -- возвращает новый гуй для бото-фермы func НовСерверДесктоп(serv types.ИСервер) (*СерверДесктоп, error) { if serv == nil { return nil, fmt.Errorf("НовСерверДесктоп(): IServer==nil") } sf := &СерверДесктоп{ сервер: serv, файн: app.New(), } return sf, nil } // Run -- запускает графику в работу func (sf *СерверДесктоп) Run() { log.Printf("Gui.Run()\n") var err error sf.окноГлав, err = win_main.NewWinMain(sf.сервер) if err != nil { log.Printf("Gui.Run(): in create winMain, err=\n\t%v\n", err) sf.сервер.CancelApp() return } sf.окноГлав.Show() sf.файн.Run() } // ФайнПрилож -- возвращает Fyne-приложение func (sf *СерверДесктоп) ФайнПрилож() fyne.App { return sf.файн }