添加修改功能

This commit is contained in:
2024-10-17 13:55:12 +08:00
parent 2fb887a936
commit 263a57f636
6 changed files with 49 additions and 6 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ import (
func allCreateCards(_ fyne.Window) fyne.CanvasObject {
var itemList []fyne.CanvasObject
keys := make([]string, 0, len(cardTypeMap))
for key, _ := range cardTypeMap {
for key := range cardTypeMap {
keys = append(keys, key)
}
sort.Strings(keys)
+27 -1
View File
@@ -1,25 +1,51 @@
package createView
import (
"encoding/json"
"fmt"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/data/binding"
"fyne.io/fyne/v2/dialog"
"fyne.io/fyne/v2/widget"
"os"
"path/filepath"
"regexp"
"strings"
"time"
"work_cation/cfg"
"work_cation/global"
"work_cation/models"
"work_cation/repo"
"work_cation/service"
)
func UpdateErlangCard(w fyne.Window, baseInfo *models.BaseCard) fyne.CanvasObject {
// 读取类型文件数据
infoPath := filepath.Join(cfg.T.CardDir, baseInfo.UUID, cfg.T.CardInfo)
bytes, err := os.ReadFile(infoPath)
if err != nil {
return widget.NewLabel(err.Error())
}
var data models.ErlangCards
err = json.Unmarshal(bytes, &data)
if err != nil {
return widget.NewLabel(err.Error())
}
return createUpdateErlangCard(w, &data)
}
func CreateErlangCard(w fyne.Window) fyne.CanvasObject {
var (
return createUpdateErlangCard(w, nil)
}
func createUpdateErlangCard(w fyne.Window, erlangCard *models.ErlangCards) fyne.CanvasObject {
if erlangCard == nil {
// 创建数据
erlangCard = &models.ErlangCards{BaseCard: models.NewBaseCard(models.ToolTypeErlang, repo.User.GetUserInfo(global.DB).ID)}
}
var (
// 基础表单
formBase = &widget.Form{}
// 变量表单
+7 -3
View File
@@ -38,6 +38,7 @@ type cardInfo struct {
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 (
@@ -46,16 +47,19 @@ var (
"Erlang代码脚本",
nil,
fyne.NewSize(0, 0),
showView.ErlangCardNoVarView},
showView.ErlangCardNoVarView,
createView.UpdateErlangCard},
models.ToolTypeErlang: {
"Erlang代码脚本模版",
createView.CreateErlangCard,
fyne.NewSize(600, 400),
showView.ErlangCardView},
showView.ErlangCardView,
createView.UpdateErlangCard},
models.ToolTypeExecFiles: {
"自定义可执行工具",
createView.CreateExecFile,
fyne.NewSize(600, 520),
showView.ExecFileCardView},
showView.ExecFileCardView,
nil},
}
)
+1
View File
@@ -35,6 +35,7 @@ func TenChinaGameView() {
game.StartShow()
}
// 格子棋 Checkered-Chess
type TenGame struct {
lock sync.Mutex // 玩家操作锁
+11 -1
View File
@@ -51,7 +51,17 @@ func baseCardView(
}
gridWrap.Remove(baseCardV)
}),
widget.NewToolbarAction(theme.SettingsIcon(), func() {}),
widget.NewToolbarAction(theme.SettingsIcon(), func() {
info := cardTypeMap[baseCardCopy.ToolType]
if info.updateView == nil {
return
}
cWin := fyne.CurrentApp().NewWindow(baseCardV.Title + " 设置")
cWin.SetContent(info.updateView(cWin, &baseCardCopy))
cWin.Resize(info.createSize)
cWin.CenterOnScreen()
cWin.Show()
}),
widget.NewToolbarAction(theme.ViewRefreshIcon(), func() {
}),