go_dreamfactory/cmd/v2/ui/perf_welcome.go
2022-12-07 19:12:48 +08:00

65 lines
1.4 KiB
Go

package ui
import (
"go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/service"
"go_dreamfactory/cmd/v2/service/observer"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/theme"
"fyne.io/fyne/v2/widget"
)
type perfWelcome struct {
appAdapter
obs observer.Observer
}
func (app *perfWelcome) LazyInit(service service.PttService, obs observer.Observer) error {
app.obs = obs
app.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_PERF_TIP, theme.ContentCopyIcon(), nil)
content := container.NewMax()
content.Objects = []fyne.CanvasObject{}
wel := widget.NewRichTextFromMarkdown("# 自动化性能测试工具使用说明" +
`
* 基于Luban工具生成协议文件(json格式)
`)
for i := range wel.Segments {
if seg, ok := wel.Segments[i].(*widget.TextSegment); ok {
seg.Style.Alignment = fyne.TextAlignLeading
}
}
goBtn := widget.NewButton("开始测试 >>", nil)
goBtn.OnTapped = func() {
defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_TIP)
openApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF)
}
app.tabItem.Content = container.NewCenter(
container.NewVBox(
wel,
goBtn,
))
return nil
}
func (a *perfWelcome) OpenDefault() string {
return common.TOOLBAR_PERF_TIP
}
func (a *perfWelcome) GetAppName() string {
return common.TOOLBAR_PERF_TIP
}
func (a *perfWelcome) OnClose() bool {
return false
}
func (a *perfWelcome) OnDestroy() bool {
return true
}