diff options
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/control.cpp | 2 | ||||
-rw-r--r-- | scene/gui/dialogs.cpp | 4 | ||||
-rw-r--r-- | scene/gui/item_list.cpp | 18 | ||||
-rw-r--r-- | scene/gui/item_list.h | 1 | ||||
-rw-r--r-- | scene/gui/label.cpp | 2 | ||||
-rw-r--r-- | scene/gui/text_edit.cpp | 2 | ||||
-rw-r--r-- | scene/gui/tree.cpp | 2 |
7 files changed, 24 insertions, 7 deletions
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index e52afdffdf..cffe2ce218 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -30,7 +30,7 @@ #include "servers/visual_server.h" #include "scene/main/viewport.h" #include "scene/main/canvas_layer.h" -#include "globals.h" +#include "global_config.h" #include "print_string.h" #include "os/keyboard.h" diff --git a/scene/gui/dialogs.cpp b/scene/gui/dialogs.cpp index 2f97ce2d51..72d3f0e8f8 100644 --- a/scene/gui/dialogs.cpp +++ b/scene/gui/dialogs.cpp @@ -272,7 +272,7 @@ void AcceptDialog::_update_child_rects() { if (!c) continue; - if (c==hbc || c==label || c==get_close_button()) + if (c==hbc || c==label || c==get_close_button() || c->is_set_as_toplevel()) continue; c->set_pos(cpos); @@ -299,7 +299,7 @@ Size2 AcceptDialog::get_minimum_size() const { if (!c) continue; - if (c==hbc || c==label || c==const_cast<AcceptDialog*>(this)->get_close_button()) + if (c==hbc || c==label || c==const_cast<AcceptDialog*>(this)->get_close_button() || c->is_set_as_toplevel()) continue; Size2 cminsize = c->get_combined_minimum_size(); diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp index 4e10f1d622..a35df53e52 100644 --- a/scene/gui/item_list.cpp +++ b/scene/gui/item_list.cpp @@ -28,7 +28,7 @@ /*************************************************************************/ #include "item_list.h" #include "os/os.h" -#include "globals.h" +#include "global_config.h" void ItemList::add_item(const String& p_item,const Ref<Texture>& p_texture,bool p_selectable) { @@ -1204,6 +1204,22 @@ int ItemList::get_item_at_pos(const Point2& p_pos, bool p_exact) const { return closest; } +bool ItemList::is_pos_at_end_of_items(const Point2& p_pos) const { + + if (items.empty()) + return true; + + Vector2 pos=p_pos; + Ref<StyleBox> bg = get_stylebox("bg"); + pos-=bg->get_offset(); + pos.y+=scroll_bar->get_value(); + + Rect2 endrect = items[items.size()-1].rect_cache; + return (pos.y > endrect.pos.y + endrect.size.y); + +} + + String ItemList::get_tooltip(const Point2& p_pos) const { int closest = get_item_at_pos(p_pos); diff --git a/scene/gui/item_list.h b/scene/gui/item_list.h index f4a864c782..35ffb1be9c 100644 --- a/scene/gui/item_list.h +++ b/scene/gui/item_list.h @@ -191,6 +191,7 @@ public: virtual String get_tooltip(const Point2& p_pos) const; int get_item_at_pos(const Point2& p_pos,bool p_exact=false) const; + bool is_pos_at_end_of_items(const Point2& p_pos) const; void set_icon_scale(real_t p_scale); real_t get_icon_scale() const; diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index dfcea30056..915eaa2f45 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -28,7 +28,7 @@ /*************************************************************************/ #include "label.h" #include "print_string.h" -#include "globals.h" +#include "global_config.h" #include "translation.h" diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index cacb79268c..3f2eab8bef 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -32,7 +32,7 @@ #include "os/input.h" #include "os/os.h" -#include "globals.h" +#include "global_config.h" #include "message_queue.h" #include "scene/main/viewport.h" diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 524ef2aae4..7bfc24079b 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -30,7 +30,7 @@ #include "print_string.h" #include "os/os.h" #include "os/keyboard.h" -#include "globals.h" +#include "global_config.h" #include "os/input.h" #include "scene/main/viewport.h" |