Leave only one track type, WIP: track deletion.
This commit is contained in:
@@ -1,7 +1,45 @@
|
||||
class_name Track
|
||||
extends Control
|
||||
extends Button
|
||||
|
||||
signal on_deleted
|
||||
signal on_renamed
|
||||
signal on_duplicated
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
var menu: PopupMenu = $PopupMenu
|
||||
menu.add_item("Rename", 0)
|
||||
menu.add_item("Delete", 1)
|
||||
menu.add_item("Duplicate", 2)
|
||||
menu.id_pressed.connect(_on_menu_option)
|
||||
|
||||
func _on_menu_option(id: int):
|
||||
match id:
|
||||
0:
|
||||
rename()
|
||||
1:
|
||||
delete()
|
||||
2:
|
||||
duplicate_track()
|
||||
pass
|
||||
|
||||
func delete():
|
||||
queue_free()
|
||||
var idx = get_index()
|
||||
print(idx)
|
||||
on_deleted.emit(idx)
|
||||
pass
|
||||
|
||||
func rename():
|
||||
%TrackName.grab_focus()
|
||||
pass
|
||||
|
||||
func duplicate_track():
|
||||
pass
|
||||
|
||||
func _gui_input(event):
|
||||
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_RIGHT and event.pressed:
|
||||
var popup = %PopupMenu
|
||||
#%PopupMenu.popup(get_global_mouse_position())
|
||||
var pos = get_global_mouse_position()
|
||||
var rect = Rect2i(pos, popup.get_contents_minimum_size())
|
||||
popup.popup(rect)
|
||||
|
||||
Reference in New Issue
Block a user