aboutsummaryrefslogtreecommitdiff
path: root/logic/stage.gd
diff options
context:
space:
mode:
Diffstat (limited to 'logic/stage.gd')
-rw-r--r--logic/stage.gd88
1 files changed, 88 insertions, 0 deletions
diff --git a/logic/stage.gd b/logic/stage.gd
new file mode 100644
index 0000000..a9f4fee
--- /dev/null
+++ b/logic/stage.gd
@@ -0,0 +1,88 @@
+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
+ entry.process_id = process_id.text
+ entry.surgery_id = surgery_id.text
+ entry.date_year = date.get_year()
+ entry.date_month = date.get_month()
+ entry.date_day = date.get_day()
+ entry.place = place.text
+ entry.anesthetic = anesthetic.text
+ entry.first_assistant = first_assistant.text
+ entry.type = type.text
+ entry.sub_type = sub_type.text
+ entry.sub_sub_type = sub_sub_type.text
+ entry.pathology = pathology.text
+ entry.intervention = intervention.text
+ entry.is_urgency = is_urgency.pressed
+ entry.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()
+
+