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}, "followUsers": {"关注", "", followUsers, true}, } // TutorialIndex 定义我们的教程应该如何在索引树中布局 TutorialIndex = map[string][]string{ "": {"welcome", "canvas", "followUsers", "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) updateView func(fyne.Window, *models.BaseCard) fyne.CanvasObject } var ( cardTypeMap = map[string]cardInfo{ models.ToolTypeNoVarErlang: { "Erlang代码脚本", nil, fyne.NewSize(0, 0), showView.ErlangCardNoVarView, createView.UpdateErlangCard}, models.ToolTypeErlang: { "Erlang代码脚本模版", createView.CreateErlangCard, fyne.NewSize(600, 400), showView.ErlangCardView, createView.UpdateErlangCard}, models.ToolTypeExecFiles: { "自定义可执行工具", createView.CreateExecFile, fyne.NewSize(600, 520), showView.ExecFileCardView, nil}, } )