summaryrefslogtreecommitdiff
path: root/client/menu/settings_row.gd
blob: ee4b8cb98a2692b527ecf28b2bf0135692b4af6f (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
class_name SettingsRow
extends PanelContainer

@onready var value_parent = $HBoxContainer/BoxContainer
@onready var label = $HBoxContainer/Label

var value_node
var description = tr("no value was given to the row")

func setup(description_: String, value):
	description = description_
	if value is bool:
		value_node = CheckButton.new()
		value_node.button_pressed = value
	elif value is String:
		value_node = LineEdit.new()
		value_node.text = value

func _ready():
	if value_node != null:
		var c: Control = value_node
		c.size_flags_vertical = Control.SIZE_EXPAND_FILL
		c.size_flags_horizontal = Control.SIZE_EXPAND_FILL
		label.text = description
		value_parent.add_child(c)

func get_value():
	if value_node != null:
		if value_node is CheckButton:
			return value_node.button_pressed
		elif value_node is LineEdit:
			return value_node.text
		else:
			return null
	else:
		return null