summaryrefslogtreecommitdiff
path: root/dropdown.go
blob: 214cc5ae0550de6071082e0e39f580a4e9119c60 (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
package gui

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

// add a new entry to the dropdown name
func (n *Node) AddDropdownName(name string) {
	for _, aplug := range allPlugins {
		log(debugPlugin, "AddDropdownName() aplug =", aplug.name, "name =", name)
		if (aplug.AddDropdownName == nil) {
			log(debugPlugin, "\taplug.AddDropdownName() = nil")
			continue
		}
		aplug.AddDropdownName(&n.widget, name)
	}
}

// Set the dropdown menu to 'name'
func (n *Node) SetDropdownName(name string) {
	log(debugGui, "SetDropdownName() work. name =", name)
	for _, aplug := range allPlugins {
		log(debugPlugin, "SetDropdownName() aplug =", aplug.name, "name =", name)
		if (aplug.SetDropdownName == nil) {
			log(true, "\taplug.SetDropdownName() aplug = nil")
			continue
		}
		aplug.SetDropdownName(&n.widget, name)
	}
}

func (n *Node) NewDropdown(name string) *Node {
	newNode := n.New(name, toolkit.Dropdown, nil) 

	for _, aplug := range allPlugins {
		log(debugGui, "gui.NewDropdown() aplug =", aplug.name, "name =", newNode.widget.Name)
		if (aplug.NewDropdown == nil) {
			log(debugGui, "\tgui.NewDropdown() aplug.NewDropdown = nil", aplug.name)
			continue
		}
		aplug.NewDropdown(&n.widget, &newNode.widget)
	}

	// TODO, this doesn't work for some reason (over-written by plugin?)
	return newNode
}