mirror of
https://github.com/bluszcz/cutego.git
synced 2024-09-28 21:25:16 +03:00
67 lines
1.2 KiB
Go
Executable file
67 lines
1.2 KiB
Go
Executable file
package qt
|
|
|
|
import (
|
|
"log"
|
|
"runtime"
|
|
"strconv"
|
|
"strings"
|
|
|
|
_ "github.com/therecipe/qt/internal/android/cgo"
|
|
)
|
|
|
|
var (
|
|
signals = make(map[string]interface{})
|
|
ids int
|
|
)
|
|
|
|
func init() { runtime.LockOSThread() }
|
|
|
|
func ConnectSignal(name string, signal string, function interface{}) {
|
|
signals[name+":"+signal] = function
|
|
}
|
|
|
|
func GetSignal(name string, signal string) interface{} {
|
|
if signal == "destroyed" {
|
|
defer DisconnectAllSignals(name)
|
|
}
|
|
return signals[name+":"+signal]
|
|
}
|
|
|
|
func DisconnectSignal(name string, signal string) {
|
|
delete(signals, name+":"+signal)
|
|
}
|
|
|
|
func DisconnectAllSignals(name string) {
|
|
for entry := range signals {
|
|
if strings.Contains(entry, name) {
|
|
delete(signals, entry)
|
|
}
|
|
}
|
|
}
|
|
|
|
func Identifier() string {
|
|
ids++
|
|
return strconv.Itoa(ids)
|
|
}
|
|
|
|
func DumpSignals() {
|
|
log.Println("##############################\tDUMP_SIGNALTABLE_START\t##############################")
|
|
for entry := range signals {
|
|
log.Println(entry)
|
|
}
|
|
log.Println("##############################\tDUMP_SIGNALTABLE_END\t##############################")
|
|
}
|
|
|
|
func GoBoolToInt(b bool) int {
|
|
if b {
|
|
return 1
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func Recovering(fn string) {
|
|
if recover() != nil {
|
|
log.Println("recovered in:", fn)
|
|
}
|
|
}
|