diff options
| -rw-r--r-- | logic/database.gd | 24 | ||||
| -rw-r--r-- | menu/menu.gd | 15 | ||||
| -rw-r--r-- | readme.md | 6 |
3 files changed, 20 insertions, 25 deletions
diff --git a/logic/database.gd b/logic/database.gd index c492321..438a2dd 100644 --- a/logic/database.gd +++ b/logic/database.gd @@ -93,8 +93,6 @@ func item_selected(index: int): func clear_selection(): - if selected_idx >= 0: - set_item_text(selected_idx, get_entry_view(db[selected_idx])) selected_idx = -1 unselect_all() @@ -141,18 +139,23 @@ func save(database_entry: Dictionary): add_item(get_entry_view(database_entry)) call_deferred("scroll_down") next_selected_idx = db.size() - 1 - - store_database() + select(next_selected_idx) - item_selected(next_selected_idx) # Calling "select" does not trigger the "item_selected" signal. - v_scroll_bar.value = float(next_selected_idx)/float(db.size()) * v_scroll_bar.max_value - (v_scroll_bar.page * 0.5) + emit_signal("item_selected", next_selected_idx) # Calling "select" does not trigger the "item_selected" signal. + set_item_text(selected_idx, get_entry_view(db[selected_idx])) + v_scroll_bar.value = float(selected_idx)/float(db.size()) * v_scroll_bar.max_value - (v_scroll_bar.page * 0.5) + + store_database() + staged_idx = -1 self.visible = true + grab_focus() func discard(): staged_idx = -1 self.visible = true + grab_focus() func load_database(file_path: String = DATABASE_FILE_PATH): @@ -179,8 +182,6 @@ func load_database(file_path: String = DATABASE_FILE_PATH): _: entry[field_name] = field_value db.append(entry) - - fake_database() func store_database(file_path: String = DATABASE_FILE_PATH): @@ -234,16 +235,19 @@ static func set_entry_date(entry: Dictionary, date: String): func fake_database(): + self.clear() db.resize(0) for idx in range(500): var date_year = 1 + int(float(idx) / 365.0) var date_month = idx % 12 var date_day = idx % 365 - db.append(instance_entry({ + var fake_entry = instance_entry({ "process_id": "%06d" % idx, "surgery_id": "s%05d" % idx, "date": "%04d-%02d-%02d" % [date_year, date_month, date_day] - })) + }) + db.append(fake_entry) + self.add_item(get_entry_view(fake_entry)) func pointer_input_handler(pointer: PointerInputSensor.PointerInputData): diff --git a/menu/menu.gd b/menu/menu.gd index 55c74fa..36beee8 100644 --- a/menu/menu.gd +++ b/menu/menu.gd @@ -5,6 +5,7 @@ const menu_items: Array = [ { label = "EXPORT FILTERS", action = "_menu_export_filters_action" }, { label = "CLEAR FILTERS", action = "_menu_clear_filters_action" }, { label = "ABOUT", action = "_menu_about_action" }, + { label = "FAKE_DB", action = "_menu_fake_db_action" }, ] const license_font_b612: String = "res://licenses/font_b612.txt" const license_godot: String = "res://licenses/godot.txt" @@ -96,17 +97,7 @@ func _menu_about_action(): (get_node("/root/main/about") as AcceptDialog).show_modal() -#func load_file(file: String): -# var f = File.new() -# f.open(file, File.READ) -# var index = 1 -# while not f.eof_reached(): # iterate through all lines until the end of file is reached -# var line = f.get_line() -# line += " " -# print(line + str(index)) -# -# index += 1 -# f.close() -# return +func _menu_fake_db_action(): + get_node("/root/main/database").fake_database() @@ -11,9 +11,9 @@ Surgery Log - [x] Remove db_entry; - [x] Rename db script/node to database; - [x] scrolling down on the database screen jumps to the end of the list immediatelly; -- [ ] edited entry does not show updated once saved; -- [ ] edited entry shows updated when selected then press back button; -- [ ] load/store database CSV file; +- [x] edited entry does not show updated once saved; +- [x] edited entry shows updated when selected then press back button; +- [x] load/store database CSV file; - [ ] export database to CSV file; - [ ] load/store filters CSV file; - [ ] import/export filters to CSV file; |
