32 lines
760 B
Go
32 lines
760 B
Go
package views
|
|
|
|
import (
|
|
"fyne.io/fyne/v2"
|
|
"fyne.io/fyne/v2/container"
|
|
"fyne.io/fyne/v2/widget"
|
|
"sort"
|
|
)
|
|
|
|
// allCreateCards 创建卡片列表
|
|
func allCreateCards(_ fyne.Window) fyne.CanvasObject {
|
|
var itemList []fyne.CanvasObject
|
|
keys := make([]string, 0, len(cardTypeMap))
|
|
for key := range cardTypeMap {
|
|
keys = append(keys, key)
|
|
}
|
|
sort.Strings(keys)
|
|
for _, key := range keys {
|
|
info := cardTypeMap[key]
|
|
if info.createView != nil {
|
|
itemList = append(itemList, widget.NewButton(info.Name, func() {
|
|
cWin := fyne.CurrentApp().NewWindow(info.Name)
|
|
cWin.SetContent(info.createView(cWin))
|
|
cWin.Resize(info.createSize)
|
|
cWin.CenterOnScreen()
|
|
cWin.Show()
|
|
}))
|
|
}
|
|
}
|
|
return container.NewCenter(container.NewVBox(itemList...))
|
|
}
|