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.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/scene/gui/popup.h b/scene/gui/popup.h
index 0e32d55cb6..3e5b89ccf3 100644
--- a/scene/gui/popup.h
+++ b/scene/gui/popup.h
@@ -33,17 +33,24 @@
#include "scene/main/window.h"
+#include "core/local_vector.h"
+
class Popup : public Window {
GDCLASS(Popup, Window);
- Window *parent_visible;
+ LocalVector<Window *> visible_parents;
+ bool popped_up = false;
void _input_from_window(const Ref<InputEvent> &p_event);
+
+ void _initialize_visible_parents();
+ void _deinitialize_visible_parents();
+
void _parent_focused();
protected:
void _close_pressed();
- virtual Rect2i _popup_adjust_rect() const;
+ virtual Rect2i _popup_adjust_rect() const override;
void _notification(int p_what);
static void _bind_methods();
@@ -63,7 +70,7 @@ protected:
void _update_child_rects();
void _notification(int p_what);
- virtual Size2 _get_contents_minimum_size() const;
+ virtual Size2 _get_contents_minimum_size() const override;
public:
void set_child_rect(Control *p_child);