Files
goodlink/ui2/portEntry.go

38 lines
690 B
Go

//go:build windows
package ui2
import (
"errors"
"strconv"
"fyne.io/fyne/driver/mobile"
"fyne.io/fyne/v2/widget"
)
type portEntry struct {
widget.Entry
}
func (n *portEntry) Keyboard() mobile.KeyboardType {
return mobile.NumberKeyboard
}
func (n *portEntry) ResetPlaceHolder() {
n.SetPlaceHolder("范围: 1-65535")
}
func NewPortEntry(port string) *portEntry {
e := &portEntry{}
e.ExtendBaseWidget(e)
e.Validator = func(port string) error {
if n, err := strconv.Atoi(port); err == nil && n >= 1 && n <= 65535 {
return nil
}
return errors.New("请输入正确的端口号")
}
e.ResetPlaceHolder()
e.SetText(port)
return e
}