diff options
Diffstat (limited to 'logic/stage.gd')
| -rw-r--r-- | logic/stage.gd | 72 |
1 files changed, 55 insertions, 17 deletions
diff --git a/logic/stage.gd b/logic/stage.gd index 73d905e..dd345e8 100644 --- a/logic/stage.gd +++ b/logic/stage.gd @@ -4,27 +4,29 @@ class_name Stage signal save # (database_entry: Dictionary) signal discard # () +const FILTERS_FILE_PATH: String = "user://filters.csv" const POINTER_VELOCITY_DECAYING_FACTOR: float = 2.5 var is_pointer_dragging := false var pointer_drag_velocity := 0.0 - -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 anesthesia: LineEdit = get_node("controls/anesthesia") -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") -onready var v_scroll_bar: VScrollBar = get_v_scrollbar() +var filters := {} + +onready var process_id := get_node("controls/process_id") as LineEdit +onready var surgery_id := get_node("controls/surgery_id") as LineEdit +onready var date := get_node("controls/date_picker") as DatePicker +onready var place := get_node("controls/place") as LineEdit +onready var anesthesia := get_node("controls/anesthesia") as LineEdit +onready var first_assistant := get_node("controls/first_assistant") as LineEdit +onready var type := get_node("controls/type") as LineEdit +onready var sub_type := get_node("controls/sub_type") as LineEdit +onready var sub_sub_type := get_node("controls/sub_sub_type") as LineEdit +onready var pathology := get_node("controls/pathology") as LineEdit +onready var intervention := get_node("controls/intervention") as LineEdit +onready var is_urgency := get_node("controls/is_urgency") as Button +onready var notes := get_node("controls/notes") as LineEdit +onready var save_button := get_node("controls/save") as Button +onready var discard_button := get_node("controls/discard") as Button +onready var v_scroll_bar := get_v_scrollbar() as VScrollBar func _ready(): @@ -159,3 +161,39 @@ func pointer_input_handler(pointer: PointerInputSensor.PointerInputData): target._gui_input(event_touch) +func load_filters(file_path: String = FILTERS_FILE_PATH): + var file := File.new() + file.open(file_path, File.READ_WRITE) + var headers: PoolStringArray + var is_first_line := true +# while file.eof_reached() == false: # @DAM Why this? + while file.get_position() < file.get_len(): + var csv_entry := file.get_csv_line() + if is_first_line: + is_first_line = false + headers = csv_entry + continue + var entry = Database.ENTRY_PROTOTYPE.duplicate(true) +# for idx in headers.size(): +# var field_name := headers[idx] +# var field_value := csv_entry[idx] +# match field_name: +# "date_year", "date_month", "date_day": +# entry[field_name] = int(field_value) +# "is_urgency": +# entry[field_name] = true if field_value.strip_edges().to_lower() == "true" else false +# _: +# entry[field_name] = field_value +# filters.append(entry) + + +func store_filters(file_path: String = FILTERS_FILE_PATH): + pass # @DAM TODO + + +func clear_filters(save_changes: bool = false): + pass # @DAM TODO + if save_changes: + store_filters() + + |
