MenuLine.gd 635 B

12345678910111213141516171819202122232425262728293031323334353637
  1. extends CheckBox
  2. class_name MenuLine
  3. # Signal
  4. signal line_checked
  5. signal line_selected
  6. # Variables
  7. var id : int = DB.UnknownHash
  8. # Accessors
  9. func Trigger():
  10. set_pressed(!is_pressed())
  11. line_checked.emit(id)
  12. func Select():
  13. line_selected.emit(id)
  14. func Enable(enable : bool):
  15. disabled = not enable
  16. # Override
  17. func _init(_id : int, labelName : String):
  18. button_mask = 0
  19. toggle_mode = true
  20. id = _id
  21. set_text(labelName)
  22. set_name(labelName)
  23. func _gui_input(event):
  24. if event is InputEventMouseButton:
  25. if event.button_index == MOUSE_BUTTON_LEFT:
  26. if event.double_click:
  27. Trigger()
  28. elif event.pressed:
  29. Select()