summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/plugin.go
blob: 5165178b6b0a20a516557efd1ac08419837c18e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package main

import (
	"git.wit.org/wit/gui/toolkit"
)

// This is a map between the widgets in wit/gui and the internal structures of gocui

var mapWidgets map[*andlabsT]*toolkit.Widget
var mapToolkits map[*toolkit.Widget]*andlabsT

// This lists out the know mappings
func listMap() {
	log(debugToolkit, "listMap() HERE")
	log(debugToolkit, "listMap() HERE")
	log(debugToolkit, "listMap() HERE mapWidgets()")
	for t, w := range mapWidgets {
		log(debugToolkit, "andlabs =", t.Name, "widget =", w.Name)
	}
	log(debugToolkit, "listMap() HERE mapToolkits()")
	for w, t := range mapToolkits {
		log(debugToolkit, "andlabs =", t, "widget =", w.Name)
		forceDump(t)
	}
}

func mapWidgetsToolkits(w *toolkit.Widget, t *andlabsT) {
	if (mapToolkits[w] == nil) {
		mapToolkits[w] = t
	} else {
		log(debugToolkit, "WTF: mapToolkits was sent nil. this should not happen w =", w)
		log(debugToolkit, "WTF: mapToolkits was sent nil. this should not happen t =", t.Width)
		log(debugToolkit, "WTF: mapToolkits map already set to ", mapToolkits[w])
		panic("WTF mapWidgetsToolkits() w == nil")
	}

	if (mapWidgets[t] == nil) {
		mapWidgets[t] = w
	} else {
		log(debugToolkit, "WTF: mapWidgets already installed. w =", w)
		log(debugToolkit, "WTF: mapWidgets already installed. t =", t.Width, t)
		log(SPEW, &t)
		log(SPEW, t)
		log(SPEW, *t)
		log(debugToolkit, "WTF: mapWidgets already mapped to", mapWidgets[t])
		log(SPEW, mapWidgets[t])
		panic("WTF. mapWidget andlabs toolkit already mapped to gui toolkit")
	}
}