cuu 5 лет назад
Родитель
Сommit
bac1ee6d40

+ 15 - 11
Menu/GameShell/10_Settings/About/about.go

@@ -1,6 +1,9 @@
 package main
 
 import (
+	"fmt"
+	"strconv"
+	
 	"strings"
 	"os/exec"
 	
@@ -88,7 +91,7 @@ type AboutPage struct {
 	Scroller *UI.ListScroller
 
 	MyList []*InfoPageListItem
-	Icons map[string]IconItemInterface
+	Icons map[string]UI.IconItemInterface
 }
 
 func NewAboutPage() *AboutPage {
@@ -108,7 +111,7 @@ func NewAboutPage() *AboutPage {
 
 	p.Index = 0
 	
-  p.Icons = make(map[string]IconItemInterface)
+  p.Icons = make(map[string]UI.IconItemInterface)
 	return p
 	
 }
@@ -138,11 +141,11 @@ func (self *AboutPage) Uname() {
 
 func (self *AboutPage) CpuMhz() {
   
-  lines, err := readLines("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq")
+  lines, err := UI.ReadLines("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq")
   UI.ShowErr(err)
-  
-  mhz ,_ := strconv.ParseInt(lines[0], 10, 0))
-  
+
+  mhz ,err := strconv.ParseInt(lines[0], 10, 64)
+	UI.ShowErr(err)
   mhz_float := float64(mhz)/1000.0
   
   out := make(map[string]string)
@@ -159,7 +162,7 @@ func (self *AboutPage) CpuInfo() {
 }
 
 func (self *AboutPage) MemInfo() {
-  lines, err := readLines("/proc/meminfo")
+  lines, err := UI.ReadLines("/proc/meminfo")
   UI.ShowErr(err)	
   
   for _,line := range lines {
@@ -188,7 +191,7 @@ func (self *AboutPage) GenList() {
   start_y  := 10
   last_height := 0 
   
-  for i,u := range ( []string{"processor","armcores","cpuscalemhz","features","memory","uname"} ) {
+  for _,u := range ( []string{"processor","armcores","cpuscalemhz","features","memory","uname"} ) {
     if val, ok := self.AList[u]; ok {
       
 			li := NewInfoPageListItem()
@@ -207,7 +210,8 @@ func (self *AboutPage) GenList() {
       
 			li.Flag = val["key"]
       li.SetSmallText(val["value"])
-      
+      last_height += li.Height
+			
       self.MyList = append(self.MyList,li)
 
     }
@@ -228,7 +232,7 @@ func (self *AboutPage) Init() {
 		self.Width = self.Screen.Width
 		self.Height = self.Screen.Height
 
-    bgpng := NewIconItem()
+    bgpng := UI.NewIconItem()
     bgpng.ImgSurf = UI.MyIconPool.GetImgSurf("about_bg")
     bgpng.MyType = UI.ICON_TYPES["STAT"]
     bgpng.Parent = self
@@ -240,7 +244,7 @@ func (self *AboutPage) Init() {
 		self.CpuInfo()
     self.MemInfo()
     self.CpuMhz()
-    self.Uname()
+		self.Uname()
     
 		self.GenList()
 

BIN
Menu/GameShell/10_Settings/About/about.so


+ 12 - 1
Menu/GameShell/10_Settings/Settings.go

@@ -85,7 +85,7 @@ func (self *SettingsPage) Init() {
 		self.CanvasHWND = self.Screen.CanvasHWND
 
 
-		ps := &SettingsPageSelector{}
+		ps := NewSettingsPageSelector()
 		ps.Parent = self
 		self.Ps = ps
 		self.PsIndex = 0
@@ -142,7 +142,18 @@ func (self *SettingsPage) ScrollDown() {
 }
 
 func (self *SettingsPage) Click() {
+	if len(self.MyList) == 0 {
+		return
+	}
 	
+	cur_li := self.MyList[self.PsIndex]
+
+	lk_obj := cur_li.GetLinkObj()
+
+	if lk_obj != nil {
+		lk_obj.Run(self.Screen)
+	}
+
 }
 
 func (self *SettingsPage) KeyDown( ev *event.Event) {

BIN
Menu/GameShell/10_Settings/Settings.so


BIN
Menu/GameShell/HelloWorld/HelloWorld.so


+ 5 - 0
build.sh

@@ -12,3 +12,8 @@ cd Menu/GameShell/10_Settings
 go build -o  Settings.so -buildmode=plugin
 cd -
 
+cd Menu/GameShell/10_Settings/About
+go build -o  about.so -buildmode=plugin
+cd -
+
+

+ 1 - 5
sysgo/UI/icon_item.go

@@ -80,11 +80,7 @@ func NewIconItem() *IconItem {
 	i.MyType = ICON_TYPES["EXE"]
 
 	i.Align = ALIGN["VCenter"]
-	
-	l := NewLabel()
-	
-	i.Label = l
-	
+		
 	return i
 }
 

+ 2 - 2
sysgo/UI/keys_def.go

@@ -12,7 +12,7 @@ var PC        map[string]string
 
 
 func DefinePC() {
-	PC["UP"] = "Up"
+	PC["Up"] = "Up"
 	PC["Down"] = "Down"
 	PC["Left"] = "Left"
 	PC["Right"] = "Right"
@@ -30,7 +30,7 @@ func DefinePC() {
 }
 
 func DefineGameShell() {
-	GameShell["UP"] = "Up"
+	GameShell["Up"] = "Up"
 	GameShell["Down"] = "Down"
 	GameShell["Left"] = "Left"
 	GameShell["Right"] = "Right"

+ 8 - 1
sysgo/UI/list_item.go

@@ -11,11 +11,15 @@ import (
 type ListItemInterface interface {
 
 	Init(text string)
+	
 	Size() (int,int)
 	NewSize(w,h int)
 	Coord() (int,int)
 	NewCoord(x,y int)
+
+	GetLinkObj() PluginInterface
 	Draw()
+	
 }
 
 type ListItem struct {
@@ -61,10 +65,13 @@ func (self *ListItem) Size() (int,int) {
 }
 
 
+func (self *ListItem) GetLinkObj() PluginInterface {
+	return self.LinkObj
+}
 
 func (self *ListItem) Draw() {
 	x_,_ := self.Labels["Text"].Coord()
-	h_,_ := self.Labels["Text"].Size()
+	_,h_ := self.Labels["Text"].Size()
 	
 	self.Labels["Text"].NewCoord(x_, self.PosY+(self.Height - h_)/2)
 	self.Labels["Text"].Draw()

+ 1 - 1
sysgo/UI/page.go

@@ -751,7 +751,7 @@ func (self *Page) ResetPageSelector() {
 
 func (self *Page) DrawPageSelector() {
 	if self.Ps.GetOnShow() == true {
-		fmt.Println("DrawPageSelector")
+//		fmt.Println("DrawPageSelector")
 		self.Ps.Draw()
 	}
 }

+ 30 - 28
sysgo/UI/util_funcs.go

@@ -8,7 +8,8 @@ import (
 	"fmt"
 	"bufio"
   "bytes"
-  
+  "io"
+	
 	"github.com/cuu/gogame/display"
 
 	"github.com/cuu/LauncherGo/sysgo"
@@ -122,33 +123,34 @@ func SwapAndShow() {
 }
 
 func ReadLines(path string)(lines [] string,err error){
-   var (
-       file *os.File
-       part [] byte
-       prefix bool
-   )
-   
-   if file, err = os.Open(path); err != nil {
-       return
-   }
-   
-   reader := bufio.NewReader(file)
-   buffer := bytes.NewBuffer(make([]byte,1024))
-   
-   for {
-      if part, prefix, err = reader.ReadLine();err != nil {
-          break
-      }
-      buffer.Write(part)
-      if !prefix {
-         lines = append(lines,buffer.String())
-         buffer.Reset()
-      }
-   }
-   if err == io.EOF {
-      err = nil
-   }
-   return
+	var (
+		file *os.File
+		part [] byte
+		prefix bool
+	)
+	
+	if file, err = os.Open(path); err != nil {
+		return
+	}
+	
+	reader := bufio.NewReader(file)
+	buffer := bytes.NewBuffer(make([]byte,0))
+	
+	for {
+		if part, prefix, err = reader.ReadLine();err != nil {
+			break
+		}
+		buffer.Write(part)
+		if !prefix {
+			lines = append(lines,buffer.String())
+			buffer.Reset()
+		}
+	}
+	
+	if err == io.EOF {
+		err = nil
+	}
+	return
 }
 
 func WriteLines(lines [] string,path string)(err error){