添加修改功能
This commit is contained in:
@@ -19,6 +19,8 @@ func (*erlangCardService) Create(erlangCard *models.ErlangCards) error {
|
|||||||
if len(erlangCard.VarName) == 0 {
|
if len(erlangCard.VarName) == 0 {
|
||||||
erlangCard.ToolType = models.ToolTypeNoVarErlang
|
erlangCard.ToolType = models.ToolTypeNoVarErlang
|
||||||
}
|
}
|
||||||
|
os.RemoveAll(filepath.Join(cfg.T.CardDir, erlangCard.UUID))
|
||||||
|
|
||||||
err := os.Mkdir(filepath.Join(cfg.T.CardDir, erlangCard.UUID), os.ModeDir)
|
err := os.Mkdir(filepath.Join(cfg.T.CardDir, erlangCard.UUID), os.ModeDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import (
|
|||||||
func allCreateCards(_ fyne.Window) fyne.CanvasObject {
|
func allCreateCards(_ fyne.Window) fyne.CanvasObject {
|
||||||
var itemList []fyne.CanvasObject
|
var itemList []fyne.CanvasObject
|
||||||
keys := make([]string, 0, len(cardTypeMap))
|
keys := make([]string, 0, len(cardTypeMap))
|
||||||
for key, _ := range cardTypeMap {
|
for key := range cardTypeMap {
|
||||||
keys = append(keys, key)
|
keys = append(keys, key)
|
||||||
}
|
}
|
||||||
sort.Strings(keys)
|
sort.Strings(keys)
|
||||||
|
|||||||
@@ -1,25 +1,51 @@
|
|||||||
package createView
|
package createView
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
"fyne.io/fyne/v2/container"
|
"fyne.io/fyne/v2/container"
|
||||||
"fyne.io/fyne/v2/data/binding"
|
"fyne.io/fyne/v2/data/binding"
|
||||||
"fyne.io/fyne/v2/dialog"
|
"fyne.io/fyne/v2/dialog"
|
||||||
"fyne.io/fyne/v2/widget"
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
"work_cation/cfg"
|
||||||
"work_cation/global"
|
"work_cation/global"
|
||||||
"work_cation/models"
|
"work_cation/models"
|
||||||
"work_cation/repo"
|
"work_cation/repo"
|
||||||
"work_cation/service"
|
"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 {
|
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)}
|
erlangCard = &models.ErlangCards{BaseCard: models.NewBaseCard(models.ToolTypeErlang, repo.User.GetUserInfo(global.DB).ID)}
|
||||||
|
|
||||||
|
}
|
||||||
|
var (
|
||||||
// 基础表单
|
// 基础表单
|
||||||
formBase = &widget.Form{}
|
formBase = &widget.Form{}
|
||||||
// 变量表单
|
// 变量表单
|
||||||
|
|||||||
+7
-3
@@ -38,6 +38,7 @@ type cardInfo struct {
|
|||||||
createView func(w fyne.Window) fyne.CanvasObject
|
createView func(w fyne.Window) fyne.CanvasObject
|
||||||
createSize fyne.Size
|
createSize fyne.Size
|
||||||
showView func(fyne.Window, *models.BaseCard) (fyne.CanvasObject, error)
|
showView func(fyne.Window, *models.BaseCard) (fyne.CanvasObject, error)
|
||||||
|
updateView func(fyne.Window, *models.BaseCard) fyne.CanvasObject
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -46,16 +47,19 @@ var (
|
|||||||
"Erlang代码脚本",
|
"Erlang代码脚本",
|
||||||
nil,
|
nil,
|
||||||
fyne.NewSize(0, 0),
|
fyne.NewSize(0, 0),
|
||||||
showView.ErlangCardNoVarView},
|
showView.ErlangCardNoVarView,
|
||||||
|
createView.UpdateErlangCard},
|
||||||
models.ToolTypeErlang: {
|
models.ToolTypeErlang: {
|
||||||
"Erlang代码脚本模版",
|
"Erlang代码脚本模版",
|
||||||
createView.CreateErlangCard,
|
createView.CreateErlangCard,
|
||||||
fyne.NewSize(600, 400),
|
fyne.NewSize(600, 400),
|
||||||
showView.ErlangCardView},
|
showView.ErlangCardView,
|
||||||
|
createView.UpdateErlangCard},
|
||||||
models.ToolTypeExecFiles: {
|
models.ToolTypeExecFiles: {
|
||||||
"自定义可执行工具",
|
"自定义可执行工具",
|
||||||
createView.CreateExecFile,
|
createView.CreateExecFile,
|
||||||
fyne.NewSize(600, 520),
|
fyne.NewSize(600, 520),
|
||||||
showView.ExecFileCardView},
|
showView.ExecFileCardView,
|
||||||
|
nil},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ func TenChinaGameView() {
|
|||||||
game.StartShow()
|
game.StartShow()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 格子棋 Checkered-Chess
|
||||||
type TenGame struct {
|
type TenGame struct {
|
||||||
lock sync.Mutex // 玩家操作锁
|
lock sync.Mutex // 玩家操作锁
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -51,7 +51,17 @@ func baseCardView(
|
|||||||
}
|
}
|
||||||
gridWrap.Remove(baseCardV)
|
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() {
|
widget.NewToolbarAction(theme.ViewRefreshIcon(), func() {
|
||||||
|
|
||||||
}),
|
}),
|
||||||
|
|||||||
Reference in New Issue
Block a user