zhangzengfei
2023-08-15 efb92d737774650854cb79b37677b0ac4924f37d
gui/gui.go
@@ -1,22 +1,18 @@
package gui
import (
   "fmt"
   "strings"
   "kingdee-dbapi/config"
   "kingdee-dbapi/kingdee"
   "kingdee-dbapi/report"
   "kingdee-dbapi/logger"
   "kingdee-dbapi/static"
   "kingdee-dbapi/webserver"
   "fyne.io/fyne/v2"
   "fyne.io/fyne/v2/app"
   "fyne.io/fyne/v2/canvas"
   "fyne.io/fyne/v2/container"
   "fyne.io/fyne/v2/dialog"
   "fyne.io/fyne/v2/layout"
   "fyne.io/fyne/v2/storage"
   "fyne.io/fyne/v2/theme"
   "fyne.io/fyne/v2/widget"
)
@@ -26,8 +22,9 @@
   FullScreen bool
}
func NewDisplay() *Display {
func NewDisplay(dbConnectedChan chan bool) *Display {
   a := app.New()
   // 设置图标
   a.SetIcon(static.IconPng)
@@ -66,6 +63,7 @@
      //   //myWindow.Close()
      //},
   }
   var submitBtn *widget.Button
   submitBtn = widget.NewButtonWithIcon("启动", theme.MailSendIcon(), func() {
      config.Options.WebPort = strings.Trim(serverPort.Text, " ")
@@ -79,18 +77,15 @@
      // 连接数据库
      err := kingdee.Init(config.Options.SqlUsername, config.Options.SqlPassword, config.Options.SqlAddr, config.Options.SqlDBName)
      if err != nil {
         fmt.Println("db init error:", err.Error())
         logger.Error("db init error:%s", err.Error())
         dialog.ShowError(err, w)
         return
      }
      form.Disable()
      submitBtn.Text = "已启动"
      submitBtn.Disable()
      report.StartReport()
      go webserver.Serve(serverPort.Text)
      dbConnectedChan <- true
   })
   content := container.New(layout.NewGridWrapLayout(fyne.NewSize(300, 200)), form)
@@ -114,21 +109,4 @@
   })
   d.Window.ShowAndRun()
}
func (d *Display) DrawImage(imgUri string) {
   uri, err := storage.ParseURI(imgUri)
   if err != nil {
      fmt.Println("parse uri error:", err)
   }
   image := canvas.NewImageFromURI(uri)
   //image := canvas.NewImageFromImage(src)
   // image := canvas.NewImageFromReader(reader, name)
   //image := canvas.NewImageFromFile("./a.png")
   //image.FillMode = canvas.ImageFillContain
   //image.FillMode = canvas.ImageFillOriginal
   image.FillMode = canvas.ImageFillStretch
   d.Window.SetContent(image)
}