My object tree is:
Parent
OptionButton1
OptionButton2
On OptionButton1 I have a signal that connects the item_selcted(int) signal to the func in OptionButton1:
func _on_OptionButton1_item_selected(index):
if index == OB1_ID1:
get_parent().get_node(
"OptionButton2").clear()
get_parent().get_node(
"OptionButton2").add_item(...)
get_parent().get_node(
"OptionButton2").add_item(...)
elif index == OB1_ID2:
get_parent().get_node(
"OptionButton2").clear()
get_parent().get_node(
"OptionButton2").add_item(...)
get_parent().get_node(
"OptionButton2").add_item(...)
My intention is that I select an item from OptionButton1
and different options appear in OptionButton2
after the call to clear()
depending on if OB1_ID1
or OB1_ID2
is selected.
When run OptionButton2
appears empty as expected. In OptionButton1
the item at OB1_ID1
is selected. But when I select the item at OB1_ID2
the items in OptionButton2 become those I expected when OB1_ID1
in OptionButton1
is selected. And when I continue changing the selection in OptionButton1
the items in OptionButton2
stay what I expect when OB1_ID1
is selected, they do not change. In the meantime in other parts of the code using get_selected_id()
on OB1_ID1
and OB1_ID2
from OptionButton1
and the respective id's from OptionButton2
works as if there was no problem.
Any insight is welcome.