No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SetTheme.gd 1.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. tool
  2. extends Control
  3. var editor_reference
  4. var editorPopup
  5. # This is the information of this event and it will get parsed and saved to the JSON file.
  6. var event_data = {
  7. 'set_theme': ''
  8. }
  9. func _ready():
  10. $PanelContainer/VBoxContainer/Header/MenuButton.get_popup().connect(
  11. "index_pressed", self, '_on_theme_selected')
  12. func load_data(data):
  13. event_data = data
  14. if event_data['set_theme'] != '':
  15. for theme in DialogicUtil.get_theme_list():
  16. if theme['file'] == event_data['set_theme']:
  17. $PanelContainer/VBoxContainer/Header/MenuButton.text = theme['name']
  18. func _on_MenuButton_about_to_show():
  19. var Dropdown = $PanelContainer/VBoxContainer/Header/MenuButton
  20. var theme_list = DialogicUtil.get_sorted_theme_list()
  21. var index = 0
  22. Dropdown.get_popup().clear()
  23. for theme in theme_list:
  24. Dropdown.get_popup().add_item(theme['name'])
  25. Dropdown.get_popup().set_item_metadata(index, {'file': theme['file']})
  26. index += 1
  27. func _on_theme_selected(index):
  28. var text = $PanelContainer/VBoxContainer/Header/MenuButton.get_popup().get_item_text(index)
  29. var metadata = $PanelContainer/VBoxContainer/Header/MenuButton.get_popup().get_item_metadata(index)
  30. $PanelContainer/VBoxContainer/Header/MenuButton.text = text
  31. event_data['set_theme'] = metadata['file']