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()
|