summaryrefslogtreecommitdiff
path: root/scene/gui/popup.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/popup.h')
-rw-r--r--scene/gui/popup.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/scene/gui/popup.h b/scene/gui/popup.h
index 97c08095d3..48e7ea9452 100644
--- a/scene/gui/popup.h
+++ b/scene/gui/popup.h
@@ -33,12 +33,20 @@
#include "scene/main/window.h"
+#include "core/templates/local_vector.h"
+
class Popup : public Window {
GDCLASS(Popup, Window);
- Window *parent_visible;
+ LocalVector<Window *> visible_parents;
+ bool popped_up = false;
+ bool close_on_parent_focus = true;
void _input_from_window(const Ref<InputEvent> &p_event);
+
+ void _initialize_visible_parents();
+ void _deinitialize_visible_parents();
+
void _parent_focused();
protected:
@@ -50,6 +58,10 @@ protected:
public:
void set_as_minsize();
+
+ void set_close_on_parent_focus(bool p_close);
+ bool get_close_on_parent_focus();
+
Popup();
~Popup();
};