2014-02-11 15:14:15 -06:00
// 11 february 2014
package main
import (
"runtime"
)
// The sysData type contains all system data. It provides the system-specific underlying implementation. It is guaranteed to have the following by embedding:
type cSysData struct {
2014-02-12 19:57:30 -06:00
ctype int
event chan struct { }
2014-02-13 04:28:26 -06:00
resize func ( x int , y int , width int , height int ) error
2014-02-14 11:16:27 -06:00
editable bool // for Combobox
2014-02-11 15:14:15 -06:00
}
2014-02-12 19:55:05 -06:00
func ( c * cSysData ) make ( initText string , initWidth int , initHeight int , window * sysData ) error {
2014-02-11 15:14:15 -06:00
panic ( runtime . GOOS + " sysData does not define make()" )
}
func ( c * cSysData ) show ( ) error {
panic ( runtime . GOOS + " sysData does not define show()" )
}
2014-02-11 17:57:03 -06:00
func ( c * cSysData ) hide ( ) error {
2014-02-11 15:14:15 -06:00
panic ( runtime . GOOS + " sysData does not define hide()" )
}
2014-02-12 17:14:37 -06:00
func ( c * cSysData ) setText ( text string ) error {
panic ( runtime . GOOS + " sysData does not define setText()" )
}
2014-02-13 04:28:26 -06:00
func ( c * cSysData ) setRect ( x int , y int , width int , height int ) error {
panic ( runtime . GOOS + " sysData does not define setRect()" )
}
2014-02-13 14:14:10 -06:00
func ( c * cSysData ) isChecked ( ) ( bool , error ) {
panic ( runtime . GOOS + " sysData does not define isChecked()" )
}
2014-02-14 11:16:27 -06:00
func ( c * cSysData ) text ( ) ( string , error ) {
panic ( runtime . GOOS + " sysData does not define text()" )
}
func ( c * cSysData ) append ( string ) error {
panic ( runtime . GOOS + " sysData does not define append()" )
}
// TODO insertAfter
2014-02-11 15:14:15 -06:00
const (
c_window = iota
c_button
2014-02-13 11:26:43 -06:00
c_checkbox
2014-02-14 11:16:27 -06:00
c_combobox
2014-02-14 14:00:59 -06:00
c_lineedit
2014-02-11 18:09:10 -06:00
nctypes
2014-02-11 15:14:15 -06:00
)
2014-02-14 10:02:59 -06:00
func mksysdata ( ctype int ) * sysData {
return & sysData {
cSysData : cSysData {
ctype : ctype ,
} ,
}
}