summaryrefslogtreecommitdiff
path: root/scene/gui/tabs.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/tabs.h')
-rw-r--r--scene/gui/tabs.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/scene/gui/tabs.h b/scene/gui/tabs.h
index 8d4d0123f8..1a8352bc93 100644
--- a/scene/gui/tabs.h
+++ b/scene/gui/tabs.h
@@ -42,6 +42,14 @@ public:
ALIGN_CENTER,
ALIGN_RIGHT
};
+
+ enum CloseButtonDisplayPolicy {
+
+ SHOW_ALWAYS,
+ SHOW_ACTIVE_ONLY,
+ SHOW_HOVER,
+ SHOW_NEVER
+ };
private:
@@ -51,6 +59,10 @@ private:
Ref<Texture> icon;
int ofs_cache;
int size_cache;
+ Ref<Texture> right_button;
+ Rect2 rb_rect;
+ Ref<Texture> close_button;
+ Rect2 cb_rect;
};
Vector<Tab> tabs;
@@ -58,6 +70,14 @@ private:
Control *_get_tab(int idx) const;
int _get_top_margin() const;
TabAlign tab_align;
+ int rb_hover;
+ bool rb_pressing;
+
+ int cb_hover;
+ bool cb_pressing;
+ CloseButtonDisplayPolicy cb_displaypolicy;
+
+ int hover; // hovered tab
protected:
@@ -75,6 +95,13 @@ public:
void set_tab_icon(int p_tab,const Ref<Texture>& p_icon);
Ref<Texture> get_tab_icon(int p_tab) const;
+ void set_tab_right_button(int p_tab,const Ref<Texture>& p_right_button);
+ Ref<Texture> get_tab_right_button(int p_tab) const;
+
+ void set_tab_close_button(int p_tab, const Ref<Texture>& p_close_button);
+ Ref<Texture> get_tab_close_button(int p_tab) const;
+ void set_tab_close_display_policy(CloseButtonDisplayPolicy p_cb_displaypolicy);
+
void set_tab_align(TabAlign p_align);
TabAlign get_tab_align() const;