11extends VBoxContainer
22
33const NumberEdit = preload ("res://src/ui_widgets/number_edit.gd" )
4- const TabPanel = preload ("res://src/ui_parts/tab_panel .tscn" )
4+ const TabsPanel = preload ("res://src/ui_parts/tabs_panel .tscn" )
55
66@onready var viewport : SubViewport = % Viewport
77@onready var reference_texture : TextureRect = % Viewport/ReferenceTexture
@@ -15,14 +15,16 @@ const TabPanel = preload("res://src/ui_parts/tab_panel.tscn")
1515@onready var input_debug_label : Label = % DebugContainer/InputDebugLabel
1616@onready var toolbar : PanelContainer = $ ViewportPanel/VBoxContainer/Toolbar
1717
18- var tab_panel : PanelContainer
18+ var tabs_panel : PanelContainer
19+ var should_refresh_tabs := false
1920
2021var reference_overlay := false
2122
2223func _ready () -> void :
2324 Configs .language_changed .connect (update_translations )
2425 Configs .snap_changed .connect (update_snap_config )
2526 Configs .theme_changed .connect (update_theme )
27+ Configs .tabs_changed .connect (set .bind ("should_refresh_tabs" ,true ))
2628 Configs .active_tab_changed .connect (sync_reference_image )
2729 Configs .active_tab_reference_changed .connect (sync_reference_image )
2830 sync_reference_image ()
@@ -37,13 +39,13 @@ func _ready() -> void:
3739 update_snap_config ()
3840 get_window ().window_input .connect (_update_input_debug )
3941
40- tab_panel = TabPanel .instantiate ()
42+ tabs_panel = TabsPanel .instantiate ()
4143 var overlay_ref := ColorRect .new ()
4244 overlay_ref .color = Color (0 , 0 , 0 , 0.4 )
4345 overlay_ref .set_anchors_and_offsets_preset (Control .PRESET_FULL_RECT )
4446 overlay_ref .hide ()
4547 get_tree ().root .add_child .call_deferred (overlay_ref )
46- overlay_ref .add_child (tab_panel )
48+ overlay_ref .add_child (tabs_panel )
4749
4850func update_translations () -> void :
4951 % LeftMenu/Visuals .tooltip_text = Translator .translate ("Visuals" )
@@ -171,6 +173,9 @@ func _update_input_debug(event: InputEvent) -> void:
171173 input_debug_label .text = new_text
172174
173175
174- func _on_tab_switcher_pressed () -> void :
175- tab_panel .get_parent ().show ()
176- tab_panel .animate_in ()
176+ func show_tabs_panel () -> void :
177+ if should_refresh_tabs :
178+ tabs_panel .refresh_tabs ()
179+ should_refresh_tabs = false
180+ tabs_panel .get_parent ().show ()
181+ tabs_panel .animate_in ()
0 commit comments