Files
work_cation/views/data.go
T
2024-10-12 00:38:18 +08:00

61 lines
1.6 KiB
Go

package views
import (
"fyne.io/fyne/v2"
"work_cation/models"
"work_cation/views/createView"
"work_cation/views/showView"
)
// Tutorial 定义教程的数据结构
type Tutorial struct {
Title, Intro string
View func(w fyne.Window) fyne.CanvasObject
SupportWeb bool
}
var (
// Tutorials 定义每个教程的元数据
Tutorials = map[string]Tutorial{
"welcome": {"主页", "", mainUserViews, true},
"canvas": {"我的", "", allCardsViews, true},
"create": {"新建", "", allCreateCards, true},
"otherUsers": {"同事", "", otherUser, true},
}
// TutorialIndex 定义我们的教程应该如何在索引树中布局
TutorialIndex = map[string][]string{
"": {"welcome", "canvas", "otherUsers", "create"},
//"collections": {"list", "table", "tree"},
//"containers": {"apptabs", "border", "box", "center", "doctabs", "grid", "scroll", "split"},
//"widgets": {"accordion", "button", "card", "entry", "form", "input", "progress", "text", "toolbar"}, 58 * 3 + 106 = 280
}
)
type cardInfo struct {
Name string
createView func(w fyne.Window) fyne.CanvasObject
createSize fyne.Size
showView func(fyne.Window, *models.BaseCard) (fyne.CanvasObject, error)
}
var (
cardTypeMap = map[string]cardInfo{
models.ToolTypeNoVarErlang: {
"Erlang代码脚本",
nil,
fyne.NewSize(0, 0),
showView.ErlangCardNoVarView},
models.ToolTypeErlang: {
"Erlang代码脚本模版",
createView.CreateErlangCard,
fyne.NewSize(600, 400),
showView.ErlangCardView},
models.ToolTypeExecFiles: {
"自定义可执行工具",
createView.CreateExecFile,
fyne.NewSize(600, 520),
showView.ExecFileCardView},
}
)