01ea3af253
Apply Godot 4.6 automated conversion: renames Spatial.translate->position, margin_*->offset_*, tool->@tool, .empty()->.is_empty(), DynamicFont->FontFile, onready->@onready, export()->@export, and many more. 127 files changed by the tool. Manual fixes still required for: - godot_db_manager plugin (incompatible APIs: WindowDialog, Tabs, etc.) - lod plugin (Spatial -> Node3D renames) - ResourceLoader.load_interactive removed -> load_threaded_request - OS.set_window_fullscreen removed -> DisplayServer - Viewport.set_size_override removed Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
84 lines
2.3 KiB
GDScript
84 lines
2.3 KiB
GDScript
@tool
|
|
"""
|
|
class GDDBNewDBDlg
|
|
"""
|
|
|
|
class_name GDDBNewTableDlg
|
|
|
|
extends Window
|
|
|
|
signal create_new_table
|
|
signal cancel_dialog
|
|
|
|
var m_dlg_type : int = gddb_types.e_new_dlg_type_new
|
|
var m_table_id = gddb_constants.c_invalid_id
|
|
var m_current_table_name = ""
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
$v_layout/buttons/ok_btn.connect("pressed", Callable(self, "on_ok_btn_pressed"))
|
|
$v_layout/buttons/cancel_btn.connect("pressed", Callable(self, "on_cancel_btn_pressed"))
|
|
$v_layout/table_info/table_edt.connect("text_changed", Callable(self, "on_text_changed"))
|
|
$v_layout/table_info/table_edt.connect("text_submitted", Callable(self, "on_text_confirmed"))
|
|
m_current_table_name = ""
|
|
|
|
# sets the type of the dialog
|
|
func set_dld_type(dlg_type : int) -> void :
|
|
m_dlg_type = dlg_type
|
|
|
|
# returns the dialog type
|
|
func get_dlg_type() -> int :
|
|
return m_dlg_type
|
|
|
|
# sets the table id
|
|
func set_table_id(table_id : int) -> void:
|
|
m_table_id = table_id
|
|
|
|
# returns the table id
|
|
func get_table_id() -> int:
|
|
return m_table_id
|
|
|
|
# sets the table name
|
|
func set_init_name(table_name : String) -> void:
|
|
# print("cNewTableDlg::set_init_name(" + name + ")")
|
|
m_current_table_name = table_name
|
|
$v_layout/table_info/table_edt.set_text(m_current_table_name)
|
|
|
|
func on_text_changed(new_text: String) -> void:
|
|
var change_text = true
|
|
if(!gddb_globals.check_db_name(new_text)):
|
|
change_text = false
|
|
else:
|
|
if(new_text.length() > gddb_constants.c_max_db_name_len):
|
|
change_text = false
|
|
else:
|
|
change_text = true
|
|
|
|
if(change_text):
|
|
m_current_table_name = $v_layout/table_info/table_edt.get_text()
|
|
else:
|
|
$v_layout/table_info/table_edt.set_text(m_current_table_name)
|
|
$v_layout/table_info/table_edt.set_caret_column(m_current_table_name.length())
|
|
|
|
# called when the user presses the ENTER key
|
|
func on_text_confirmed(text : String) -> void:
|
|
if(m_current_table_name.is_empty()):
|
|
return
|
|
handle_table_name()
|
|
hide()
|
|
|
|
# called when the OK button is pressed
|
|
func on_ok_btn_pressed() -> void:
|
|
if(!m_current_table_name.is_empty()):
|
|
handle_table_name()
|
|
hide()
|
|
|
|
# called when the Cancel button is pressed
|
|
func on_cancel_btn_pressed() -> void :
|
|
hide()
|
|
emit_signal("cancel_dialog")
|
|
|
|
# handles the text in the EditLine
|
|
func handle_table_name() -> void:
|
|
emit_signal("create_new_table", m_current_table_name)
|