aboutsummaryrefslogtreecommitdiff
path: root/logic/popup.gd
diff options
context:
space:
mode:
Diffstat (limited to 'logic/popup.gd')
-rw-r--r--logic/popup.gd76
1 files changed, 0 insertions, 76 deletions
diff --git a/logic/popup.gd b/logic/popup.gd
deleted file mode 100644
index 95fc2c3..0000000
--- a/logic/popup.gd
+++ /dev/null
@@ -1,76 +0,0 @@
-extends Control
-class_name ModalPopup
-
-signal dismissed # ()
-
-export var clear_signals_on_hide := true
-
-var control : Control
-var control_parent : Node
-
-onready var title := get_node("title") as Label
-onready var background := get_node("background") as Panel
-onready var dismiss_button := get_node("dismiss") as Button
-
-
-func _init():
- self.anchor_right = 1.0
- self.anchor_bottom = 1.0
- self.rect_clip_content = true
- self.connect("hide", self, "_clear_signals")
-
-
-func _ready():
- dismiss_button.connect("pressed", self, "dismiss")
-
-
-func _clear_signals():
- if clear_signals_on_hide == false:
- return
-
- for signal_name in ["dismissed"]:
- for it in get_signal_connection_list(signal_name):
- disconnect(it.signal, it.target, it.method)
-
-
-func dismiss():
- emit_signal("dismissed")
- close_popup()
-
-
-func open_popup(title: String, item: Control):
- if visible == true:
- return
-
- self.title.text = title
-
- control = item
- control.connect("hide", self, "close_popup")
- control_parent = control.get_parent()
- control_parent.remove_child(control)
- self.add_child(control)
-
- control.anchor_left = background.anchor_left
- control.anchor_top = background.anchor_top
- control.anchor_right = background.anchor_right
- control.anchor_bottom = background.anchor_bottom
- control.margin_left = 20
- control.margin_top = 20
- control.margin_right = -20
- control.margin_bottom = -20
-
- self.show()
- control.show()
-
-
-func close_popup():
- if visible == false:
- return
-
- control.disconnect("hide", self, "close_popup")
- control.hide()
- self.hide()
- remove_child(control)
- control_parent.add_child(control)
- control_parent = null
-