generated from mstar/godot-template
33 lines
750 B
GDScript
33 lines
750 B
GDScript
@tool
|
|
extends Container
|
|
# Custom style normal, focus
|
|
|
|
var selected: = false:
|
|
set = set_selected
|
|
|
|
|
|
func _init():
|
|
|
|
focus_mode = FOCUS_NONE # Let FlowChart has the focus to handle gui_input
|
|
mouse_filter = MOUSE_FILTER_PASS
|
|
|
|
func _draw():
|
|
if selected:
|
|
draw_style_box(get_theme_stylebox("focus", "FlowChartNode"), Rect2(Vector2.ZERO, size))
|
|
else:
|
|
draw_style_box(get_theme_stylebox("normal", "FlowChartNode"), Rect2(Vector2.ZERO, size))
|
|
|
|
func _notification(what):
|
|
match what:
|
|
NOTIFICATION_SORT_CHILDREN:
|
|
for child in get_children():
|
|
if child is Control:
|
|
fit_child_in_rect(child, Rect2(Vector2.ZERO, size))
|
|
|
|
func _get_minimum_size():
|
|
return Vector2(50, 50)
|
|
|
|
func set_selected(v):
|
|
if selected != v:
|
|
selected = v
|
|
queue_redraw()
|