Tag selection buttons now populate the form entry menu with available tags.

This commit is contained in:
Jamie Greunbaum
2024-05-23 17:00:41 -04:00
parent 64f6193701
commit ab74bda6f0
4 changed files with 50 additions and 48 deletions
+18 -24
View File
@@ -15,6 +15,8 @@ var __severity_items : Array
var __stored_mouse_mode : int
const __button_disabled_message : StringName = &"Not available"
func _enter_tree():
__stored_mouse_mode = Input.mouse_mode
@@ -23,28 +25,20 @@ func _enter_tree():
func _exit_tree():
Input.mouse_mode = __stored_mouse_mode
func fill_tags(tag_list:Array):
var version_menu : PopupMenu = __version_button.get_popup()
var version_list : Array = tag_list[0]
for i in version_list.size():
version_menu.add_item(version_list[i]["name"], i)
var hardware_menu : PopupMenu = __hardware_button.get_popup()
var hardware_list : Array = tag_list[1]
for i in hardware_list.size():
hardware_menu.add_item(hardware_list[i]["name"], i)
var os_menu : PopupMenu = __os_button.get_popup()
var os_list : Array = tag_list[2]
for i in os_list.size():
os_menu.add_item(os_list[i]["name"], i)
var component_menu : PopupMenu = __component_button.get_popup()
var component_list : Array = tag_list[3]
for i in component_list.size():
component_menu.add_item(component_list[i]["name"], i)
var severity_menu : PopupMenu = __severity_button.get_popup()
var severity_list : Array = tag_list[4]
for i in severity_list.size():
severity_menu.add_item(severity_list[i]["name"], i)
__fill_item_list(__version_button, __version_items, tag_list[BugbotServerAPI.BugbotTagArray.VERSION])
__fill_item_list(__hardware_button, __hardware_items, tag_list[BugbotServerAPI.BugbotTagArray.HARDWARE])
__fill_item_list(__os_button, __os_items, tag_list[BugbotServerAPI.BugbotTagArray.OS])
__fill_item_list(__component_button, __component_items, tag_list[BugbotServerAPI.BugbotTagArray.COMPONENT])
__fill_item_list(__severity_button, __severity_items, tag_list[BugbotServerAPI.BugbotTagArray.SEVERITY])
func __fill_item_list(menu_button:MenuButton, menu_options:Array, tag_list:Array):
menu_options = tag_list
if menu_options.is_empty():
menu_button.text = __button_disabled_message
menu_button.disabled = true
else:
var menu : PopupMenu = menu_button.get_popup()
for i in menu_options.size():
menu.add_item(menu_options[i]["name"], i)
menu.id_pressed.connect(func(id:int): menu_button.text = menu_options[id]["name"])