aboutsummaryrefslogtreecommitdiff
path: root/logic/stage.gd
blob: 19018faaf4f7cdfe64d65411fb95dda5f0063c78 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
extends Control
class_name Stage

signal save		# (database_entry: Dictionary)
signal discard	# ()

onready var process_id: LineEdit = get_node("controls/process_id")
onready var surgery_id: LineEdit = get_node("controls/surgery_id")
onready var date: DatePicker = get_node("controls/date_picker")
onready var place: LineEdit = get_node("controls/place")
onready var anesthetic: LineEdit = get_node("controls/anesthetic")
onready var first_assistant: LineEdit = get_node("controls/first_assistant")
onready var type: LineEdit = get_node("controls/type")
onready var sub_type: LineEdit = get_node("controls/sub_type")
onready var sub_sub_type: LineEdit = get_node("controls/sub_sub_type")
onready var pathology: LineEdit = get_node("controls/pathology")
onready var intervention: LineEdit = get_node("controls/intervention")
onready var is_urgency: Button = get_node("controls/is_urgency")
onready var notes: LineEdit = get_node("controls/notes")
onready var save_button: Button = get_node("controls/save")
onready var discard_button: Button = get_node("controls/discard")


func _ready():
	save_button.connect("pressed", self, "save_action")
	discard_button.connect("pressed", self, "discard_action")


func save_action():
	self.visible = false
	emit_signal("save", get_stage())


func discard_action():
	self.visible = false
	emit_signal("discard")


func set_stage(entry: Dictionary):
	process_id.text = entry.process_id
	surgery_id.text = entry.surgery_id
	date.set_date(entry.date_year, entry.date_month, entry.date_day)
	place.text = entry.place
	anesthetic.text = entry.anesthetic
	first_assistant.text = entry.first_assistant
	type.text = entry.type
	sub_type.text = entry.sub_type
	sub_sub_type.text = entry.sub_sub_type
	pathology.text = entry.pathology
	intervention.text = entry.intervention
	is_urgency.pressed = entry.is_urgency
	notes.text = entry.notes
	self.scroll_vertical = 0 # @DAM TODO


func get_stage() -> Dictionary:
	
#	var entry: Dictionary = Database.instance_entry({
#		"process_id":		process_id.text,
#		"surgery_id":		surgery_id.text,
#		"date_year":		date.get_year(),
#		"date_month":		date.get_month(),
#		"date_day":			date.get_day(),
#		"place":			place.text,
#		"anesthetic":		anesthetic.text,
#		"first_assistant":	first_assistant.text,
#		"type":				type.text,
#	})
	var entry: Dictionary = {
		"process_id":		process_id.text,
		"surgery_id":		surgery_id.text,
		"date_year":		date.get_year(),
		"date_month":		date.get_month(),
		"date_day":			date.get_day(),
		"place":			place.text,
		"anesthetic":		anesthetic.text,
		"first_assistant":	first_assistant.text,
		"type":				type.text,
		"sub_type":			sub_type.text,
		"sub_sub_type":		sub_sub_type.text,
		"pathology":		pathology.text,
		"intervention":		intervention.text,
		"is_urgency":		is_urgency.pressed,
		"notes":			notes.text,
	}
	return entry


func _notification(what: int):
	if what == MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST: 
		discard_action()


func _unhandled_input(event):
	get_node("/root/main/debug").text += "%s\n" % event.to_string()


func _unhandled_key_input(event):
	get_node("/root/main/debug").text += "%s\n" % event.to_string()