add Caller in keyboard ,add OnKdbReturnBackCb on Page interface

This commit is contained in:
cuu 2018-12-09 18:08:18 +08:00
parent efd46d3a35
commit 4ac7debfb4
5 changed files with 31 additions and 6 deletions

View File

@ -23,6 +23,7 @@ type WifiPlugin struct {
func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
self.PasswordPage = UI.NewKeyboard()
self.PasswordPage.Name = "Enter wifi password"
self.PasswordPage.Screen= main_screen
@ -35,6 +36,8 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
self.ScanPage.Screen = main_screen
self.PasswordPage.Caller = self.ScanPage
self.ScanPage.Init()
go func() {

View File

@ -42,13 +42,15 @@ func NewWifiDisconnectConfirmPage() *WifiDisconnectConfirmPage {
func (self *WifiDisconnectConfirmPage) KeyDown(ev *event.Event ) {
if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
}
if ev.Data["key"] == UI.CurKeys["B"] {
if ev.Data["Key"] == UI.CurKeys["B"] {
fmt.Println("Disconnecting..")
self.SnapMsg("Disconnecting...")
self.Screen.Draw()
self.Screen.SwapAndShow()
@ -248,6 +250,7 @@ func (self *WifiInfoPage) TryDisconnect() {
self.Screen.Draw()
self.Screen.SwapAndShow()
}else {
fmt.Println("WifiInfoPage TryDisconnect cur_network_id != self.NetworkId ")
return
}
}
@ -605,7 +608,14 @@ func (self *WifiList) UpdateNetList(state int,info []string ,force_check bool,fi
if len(info) > 3 {
_id,_ := strconv.Atoi(info[3])
if _id < len(self.MyList) {
self.MyList[_id].UpdateStrenLabel(info[2])
var strength_str string
strength,err := strconv.Atoi(info[2])
if err == nil {
self.Daemon.Get(self.Daemon.Method("FormatSignalForPrinting",strength),&strength_str)
self.MyList[_id].UpdateStrenLabel(strength_str)
}else {
fmt.Println(err)
}
}
}
}
@ -900,13 +910,17 @@ func (self *WifiList) AbortedAndReturnToUpLevel() {
self.Screen.SwapAndShow()
}
func (self *WifiList) OnReturnBackCb() {
func (self *WifiList) OnKbdReturnBackCb() {
password_inputed := strings.Join(APIOBJ.PasswordPage.Textarea.MyWords,"")
if self.Screen.DBusManager.IsWifiConnectedNow() == false {
self.ConfigWireless(password_inputed)
}
}
func (self *WifiList) OnReturnBackCb() {
}
func (self *WifiList) KeyDown( ev *event.Event ) {
if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] {
if self.Wireless != nil {

View File

@ -1,7 +1,7 @@
package UI
import (
//"fmt"
"github.com/veandco/go-sdl2/ttf"
// "github.com/cuu/gogame/surface"
@ -144,7 +144,7 @@ func (self *ConfirmPage) Init() {
func (self *ConfirmPage) KeyDown( ev *event.Event ) {
if ev.Data["Key"] == CurKeys["A"] || ev.Data["Key"] == CurKeys["Menu"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()

View File

@ -89,7 +89,7 @@ type Keyboard struct {
Textarea *Textarea
Selector *KeyboardSelector
Caller PageInterface
}
func NewKeyboard() *Keyboard {
@ -466,6 +466,9 @@ func (self *Keyboard) KeyDown( ev *event.Event) {
fmt.Println(strings.Join(self.Textarea.MyWords,""))
self.ReturnToUpLevelPage()
self.Screen.SwapAndShow()
if self.Caller != nil {
self.Caller.OnKbdReturnBackCb()
}
//Uplevel/Parent page invoke OnReturnBackCb,eg: ConfigWireless
}

View File

@ -207,6 +207,7 @@ type PageInterface interface {
OnLoadCb()
OnReturnBackCb()
OnKbdReturnBackCb()
OnExitCb()
// IconClick()
@ -921,6 +922,10 @@ func (self *Page) OnLoadCb() {
}
func (self *Page) OnKbdReturnBackCb() {
}
func (self *Page) OnReturnBackCb() {
}