添加修改功能
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
@@ -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},
|
||||
}
|
||||
)
|
||||
|
||||
@@ -35,6 +35,7 @@ func TenChinaGameView() {
|
||||
game.StartShow()
|
||||
}
|
||||
|
||||
// 格子棋 Checkered-Chess
|
||||
type TenGame struct {
|
||||
lock sync.Mutex // 玩家操作锁
|
||||
|
||||
|
||||
+11
-1
@@ -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() {
|
||||
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user