Merge pull request #7517 from RayKoopa/gui_disabled_tabs
Add feature to disable tabs in TabContainer and Tabs control.
This commit is contained in:
commit
4c98d1791f
6 changed files with 86 additions and 12 deletions
|
@ -39,8 +39,9 @@ int TabContainer::_get_top_margin() const {
|
||||||
// Respect the minimum tab height.
|
// Respect the minimum tab height.
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
|
|
||||||
int tab_height = MAX(tab_bg->get_minimum_size().height, tab_fg->get_minimum_size().height);
|
int tab_height = MAX(MAX(tab_bg->get_minimum_size().height, tab_fg->get_minimum_size().height), tab_disabled->get_minimum_size().height);
|
||||||
|
|
||||||
// Font height or higher icon wins.
|
// Font height or higher icon wins.
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
|
@ -117,7 +118,9 @@ void TabContainer::_gui_input(const InputEvent& p_event) {
|
||||||
for (int i = first_tab_cache; i <= last_tab_cache; i++) {
|
for (int i = first_tab_cache; i <= last_tab_cache; i++) {
|
||||||
int tab_width = _get_tab_width(i);
|
int tab_width = _get_tab_width(i);
|
||||||
if (pos.x < tab_width) {
|
if (pos.x < tab_width) {
|
||||||
|
if (!get_tab_disabled(i)) {
|
||||||
set_current_tab(i);
|
set_current_tab(i);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pos.x -= tab_width;
|
pos.x -= tab_width;
|
||||||
|
@ -144,6 +147,7 @@ void TabContainer::_notification(int p_what) {
|
||||||
Vector<Control*> tabs = _get_tabs();
|
Vector<Control*> tabs = _get_tabs();
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
Ref<Texture> increment = get_icon("increment");
|
Ref<Texture> increment = get_icon("increment");
|
||||||
Ref<Texture> decrement = get_icon("decrement");
|
Ref<Texture> decrement = get_icon("decrement");
|
||||||
Ref<Texture> menu = get_icon("menu");
|
Ref<Texture> menu = get_icon("menu");
|
||||||
|
@ -151,6 +155,7 @@ void TabContainer::_notification(int p_what) {
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
Color font_color_fg = get_color("font_color_fg");
|
Color font_color_fg = get_color("font_color_fg");
|
||||||
Color font_color_bg = get_color("font_color_bg");
|
Color font_color_bg = get_color("font_color_bg");
|
||||||
|
Color font_color_disabled = get_color("font_color_disabled");
|
||||||
int side_margin = get_constant("side_margin");
|
int side_margin = get_constant("side_margin");
|
||||||
int icon_text_distance = get_constant("hseparation");
|
int icon_text_distance = get_constant("hseparation");
|
||||||
|
|
||||||
|
@ -210,7 +215,10 @@ void TabContainer::_notification(int p_what) {
|
||||||
for (int i = 0; i < tab_widths.size(); i++) {
|
for (int i = 0; i < tab_widths.size(); i++) {
|
||||||
Ref<StyleBox> tab_style;
|
Ref<StyleBox> tab_style;
|
||||||
Color font_color;
|
Color font_color;
|
||||||
if (i + first_tab_cache == current) {
|
if (get_tab_disabled(i + first_tab_cache)) {
|
||||||
|
tab_style = tab_disabled;
|
||||||
|
font_color = font_color_disabled;
|
||||||
|
} else if (i + first_tab_cache == current) {
|
||||||
tab_style = tab_fg;
|
tab_style = tab_fg;
|
||||||
font_color = font_color_fg;
|
font_color = font_color_fg;
|
||||||
} else {
|
} else {
|
||||||
|
@ -313,7 +321,10 @@ int TabContainer::_get_tab_width(int p_index) const {
|
||||||
// Respect a minimum size.
|
// Respect a minimum size.
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
if (p_index == current) {
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
|
if (get_tab_disabled(p_index)) {
|
||||||
|
width += tab_disabled->get_minimum_size().width;
|
||||||
|
} else if (p_index == current) {
|
||||||
width += tab_fg->get_minimum_size().width;
|
width += tab_fg->get_minimum_size().width;
|
||||||
} else {
|
} else {
|
||||||
width += tab_bg->get_minimum_size().width;
|
width += tab_bg->get_minimum_size().width;
|
||||||
|
@ -533,6 +544,23 @@ Ref<Texture> TabContainer::get_tab_icon(int p_tab) const {
|
||||||
return Ref<Texture>();
|
return Ref<Texture>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabContainer::set_tab_disabled(int p_tab, bool p_enabled) {
|
||||||
|
|
||||||
|
Control *child = _get_tab(p_tab);
|
||||||
|
ERR_FAIL_COND(!child);
|
||||||
|
child->set_meta("_tab_disabled", p_enabled);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
bool TabContainer::get_tab_disabled(int p_tab) const {
|
||||||
|
|
||||||
|
Control *child = _get_tab(p_tab);
|
||||||
|
ERR_FAIL_COND_V(!child, false);
|
||||||
|
if (child->has_meta("_tab_disabled"))
|
||||||
|
return child->get_meta("_tab_disabled");
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void TabContainer::get_translatable_strings(List<String> *p_strings) const {
|
void TabContainer::get_translatable_strings(List<String> *p_strings) const {
|
||||||
|
|
||||||
Vector<Control*> tabs = _get_tabs();
|
Vector<Control*> tabs = _get_tabs();
|
||||||
|
@ -570,9 +598,10 @@ Size2 TabContainer::get_minimum_size() const {
|
||||||
|
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
|
|
||||||
ms.y += MAX(tab_bg->get_minimum_size().y, tab_fg->get_minimum_size().y);
|
ms.y += MAX(MAX(tab_bg->get_minimum_size().y, tab_fg->get_minimum_size().y), tab_disabled->get_minimum_size().y);
|
||||||
ms.y += font->get_height();
|
ms.y += font->get_height();
|
||||||
|
|
||||||
Ref<StyleBox> sb = get_stylebox("panel");
|
Ref<StyleBox> sb = get_stylebox("panel");
|
||||||
|
@ -608,6 +637,8 @@ void TabContainer::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("get_tab_title", "tab_idx"), &TabContainer::get_tab_title);
|
ClassDB::bind_method(D_METHOD("get_tab_title", "tab_idx"), &TabContainer::get_tab_title);
|
||||||
ClassDB::bind_method(D_METHOD("set_tab_icon", "tab_idx", "icon:Texture"), &TabContainer::set_tab_icon);
|
ClassDB::bind_method(D_METHOD("set_tab_icon", "tab_idx", "icon:Texture"), &TabContainer::set_tab_icon);
|
||||||
ClassDB::bind_method(D_METHOD("get_tab_icon:Texture", "tab_idx"), &TabContainer::get_tab_icon);
|
ClassDB::bind_method(D_METHOD("get_tab_icon:Texture", "tab_idx"), &TabContainer::get_tab_icon);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_tab_disabled", "tab_idx", "disabled"), &TabContainer::set_tab_disabled);
|
||||||
|
ClassDB::bind_method(D_METHOD("get_tab_disabled", "tab_idx"), &TabContainer::get_tab_disabled);
|
||||||
ClassDB::bind_method(D_METHOD("set_popup", "popup:Popup"), &TabContainer::set_popup);
|
ClassDB::bind_method(D_METHOD("set_popup", "popup:Popup"), &TabContainer::set_popup);
|
||||||
ClassDB::bind_method(D_METHOD("get_popup:Popup"), &TabContainer::get_popup);
|
ClassDB::bind_method(D_METHOD("get_popup:Popup"), &TabContainer::get_popup);
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,9 @@ public:
|
||||||
void set_tab_icon(int p_tab,const Ref<Texture>& p_icon);
|
void set_tab_icon(int p_tab,const Ref<Texture>& p_icon);
|
||||||
Ref<Texture> get_tab_icon(int p_tab) const;
|
Ref<Texture> get_tab_icon(int p_tab) const;
|
||||||
|
|
||||||
|
void set_tab_disabled(int p_tab, bool p_disabled);
|
||||||
|
bool get_tab_disabled(int p_tab) const;
|
||||||
|
|
||||||
int get_tab_count() const;
|
int get_tab_count() const;
|
||||||
void set_current_tab(int p_current);
|
void set_current_tab(int p_current);
|
||||||
int get_current_tab() const;
|
int get_current_tab() const;
|
||||||
|
|
|
@ -34,9 +34,10 @@ Size2 Tabs::get_minimum_size() const {
|
||||||
|
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
|
|
||||||
Size2 ms(0, MAX(tab_bg->get_minimum_size().height, tab_fg->get_minimum_size().height)+font->get_height());
|
Size2 ms(0, MAX(MAX(tab_bg->get_minimum_size().height, tab_fg->get_minimum_size().height), tab_disabled->get_minimum_size().height)+font->get_height());
|
||||||
|
|
||||||
for(int i=0;i<tabs.size();i++) {
|
for(int i=0;i<tabs.size();i++) {
|
||||||
|
|
||||||
|
@ -49,7 +50,9 @@ Size2 Tabs::get_minimum_size() const {
|
||||||
|
|
||||||
ms.width+=font->get_string_size(tabs[i].text).width;
|
ms.width+=font->get_string_size(tabs[i].text).width;
|
||||||
|
|
||||||
if (current==i)
|
if (tabs[i].disabled)
|
||||||
|
ms.width += tab_disabled->get_minimum_size().width;
|
||||||
|
else if (current==i)
|
||||||
ms.width+=tab_fg->get_minimum_size().width;
|
ms.width+=tab_fg->get_minimum_size().width;
|
||||||
else
|
else
|
||||||
ms.width+=tab_bg->get_minimum_size().width;
|
ms.width+=tab_bg->get_minimum_size().width;
|
||||||
|
@ -111,7 +114,7 @@ void Tabs::_gui_input(const InputEvent& p_event) {
|
||||||
hover_buttons = i;
|
hover_buttons = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (tabs[i].cb_rect.has_point(pos)) {
|
else if (!tabs[i].disabled && tabs[i].cb_rect.has_point(pos)) {
|
||||||
cb_hover=i;
|
cb_hover=i;
|
||||||
rb_hover=-1;
|
rb_hover=-1;
|
||||||
hover_buttons = i;
|
hover_buttons = i;
|
||||||
|
@ -206,7 +209,9 @@ void Tabs::_gui_input(const InputEvent& p_event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pos.x >=tabs[i].ofs_cache && pos.x<tabs[i].ofs_cache+tabs[i].size_cache) {
|
if (pos.x >=tabs[i].ofs_cache && pos.x<tabs[i].ofs_cache+tabs[i].size_cache) {
|
||||||
found=i;
|
if (!tabs[i].disabled) {
|
||||||
|
found = i;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -242,9 +247,11 @@ void Tabs::_notification(int p_what) {
|
||||||
|
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
Color color_fg = get_color("font_color_fg");
|
Color color_fg = get_color("font_color_fg");
|
||||||
Color color_bg = get_color("font_color_bg");
|
Color color_bg = get_color("font_color_bg");
|
||||||
|
Color color_disabled = get_color("font_color_disabled");
|
||||||
Ref<Texture> close=get_icon("close");
|
Ref<Texture> close=get_icon("close");
|
||||||
|
|
||||||
int h = get_size().height;
|
int h = get_size().height;
|
||||||
|
@ -301,7 +308,10 @@ void Tabs::_notification(int p_what) {
|
||||||
Ref<StyleBox> sb;
|
Ref<StyleBox> sb;
|
||||||
Color col;
|
Color col;
|
||||||
|
|
||||||
if (i==current) {
|
if (tabs[i].disabled) {
|
||||||
|
sb = tab_disabled;
|
||||||
|
col = color_disabled;
|
||||||
|
} else if (i == current) {
|
||||||
sb=tab_fg;
|
sb=tab_fg;
|
||||||
col=color_fg;
|
col=color_fg;
|
||||||
} else {
|
} else {
|
||||||
|
@ -366,7 +376,7 @@ void Tabs::_notification(int p_what) {
|
||||||
cb_rect.pos.x=w;
|
cb_rect.pos.x=w;
|
||||||
cb_rect.pos.y=sb->get_margin(MARGIN_TOP)+((sb_rect.size.y-sb_ms.y)-(cb_rect.size.y))/2;
|
cb_rect.pos.y=sb->get_margin(MARGIN_TOP)+((sb_rect.size.y-sb_ms.y)-(cb_rect.size.y))/2;
|
||||||
|
|
||||||
if (cb_hover==i) {
|
if (!tabs[i].disabled && cb_hover == i) {
|
||||||
if (cb_pressing)
|
if (cb_pressing)
|
||||||
get_stylebox("button_pressed")->draw(ci,cb_rect);
|
get_stylebox("button_pressed")->draw(ci,cb_rect);
|
||||||
else
|
else
|
||||||
|
@ -463,6 +473,18 @@ Ref<Texture> Tabs::get_tab_icon(int p_tab) const{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Tabs::set_tab_disabled(int p_tab, bool p_disabled) {
|
||||||
|
|
||||||
|
ERR_FAIL_INDEX(p_tab, tabs.size());
|
||||||
|
tabs[p_tab].disabled = p_disabled;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
bool Tabs::get_tab_disabled(int p_tab) const {
|
||||||
|
|
||||||
|
ERR_FAIL_INDEX_V(p_tab, tabs.size(), false);
|
||||||
|
return tabs[p_tab].disabled;
|
||||||
|
}
|
||||||
|
|
||||||
void Tabs::set_tab_right_button(int p_tab,const Ref<Texture>& p_right_button){
|
void Tabs::set_tab_right_button(int p_tab,const Ref<Texture>& p_right_button){
|
||||||
|
|
||||||
ERR_FAIL_INDEX(p_tab,tabs.size());
|
ERR_FAIL_INDEX(p_tab,tabs.size());
|
||||||
|
@ -484,6 +506,7 @@ void Tabs::add_tab(const String& p_str,const Ref<Texture>& p_icon) {
|
||||||
Tab t;
|
Tab t;
|
||||||
t.text=p_str;
|
t.text=p_str;
|
||||||
t.icon=p_icon;
|
t.icon=p_icon;
|
||||||
|
t.disabled = false;
|
||||||
|
|
||||||
tabs.push_back(t);
|
tabs.push_back(t);
|
||||||
|
|
||||||
|
@ -534,6 +557,7 @@ int Tabs::get_tab_width(int p_idx) const {
|
||||||
|
|
||||||
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
Ref<StyleBox> tab_bg = get_stylebox("tab_bg");
|
||||||
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
Ref<StyleBox> tab_fg = get_stylebox("tab_fg");
|
||||||
|
Ref<StyleBox> tab_disabled = get_stylebox("tab_disabled");
|
||||||
Ref<Font> font = get_font("font");
|
Ref<Font> font = get_font("font");
|
||||||
|
|
||||||
|
|
||||||
|
@ -549,7 +573,9 @@ int Tabs::get_tab_width(int p_idx) const {
|
||||||
|
|
||||||
x+=font->get_string_size(tabs[p_idx].text).width;
|
x+=font->get_string_size(tabs[p_idx].text).width;
|
||||||
|
|
||||||
if (current==p_idx)
|
if (tabs[p_idx].disabled)
|
||||||
|
x += tab_disabled->get_minimum_size().width;
|
||||||
|
else if (current==p_idx)
|
||||||
x+=tab_fg->get_minimum_size().width;
|
x+=tab_fg->get_minimum_size().width;
|
||||||
else
|
else
|
||||||
x+=tab_bg->get_minimum_size().width;
|
x+=tab_bg->get_minimum_size().width;
|
||||||
|
@ -657,6 +683,8 @@ void Tabs::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("get_tab_title","tab_idx"),&Tabs::get_tab_title);
|
ClassDB::bind_method(D_METHOD("get_tab_title","tab_idx"),&Tabs::get_tab_title);
|
||||||
ClassDB::bind_method(D_METHOD("set_tab_icon","tab_idx","icon:Texture"),&Tabs::set_tab_icon);
|
ClassDB::bind_method(D_METHOD("set_tab_icon","tab_idx","icon:Texture"),&Tabs::set_tab_icon);
|
||||||
ClassDB::bind_method(D_METHOD("get_tab_icon:Texture","tab_idx"),&Tabs::get_tab_icon);
|
ClassDB::bind_method(D_METHOD("get_tab_icon:Texture","tab_idx"),&Tabs::get_tab_icon);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_tab_disabled", "tab_idx", "disabled"), &Tabs::set_tab_disabled);
|
||||||
|
ClassDB::bind_method(D_METHOD("get_tab_disabled", "tab_idx"), &Tabs::get_tab_disabled);
|
||||||
ClassDB::bind_method(D_METHOD("remove_tab","tab_idx"),&Tabs::remove_tab);
|
ClassDB::bind_method(D_METHOD("remove_tab","tab_idx"),&Tabs::remove_tab);
|
||||||
ClassDB::bind_method(D_METHOD("add_tab","title","icon:Texture"),&Tabs::add_tab);
|
ClassDB::bind_method(D_METHOD("add_tab","title","icon:Texture"),&Tabs::add_tab);
|
||||||
ClassDB::bind_method(D_METHOD("set_tab_align","align"),&Tabs::set_tab_align);
|
ClassDB::bind_method(D_METHOD("set_tab_align","align"),&Tabs::set_tab_align);
|
||||||
|
|
|
@ -57,6 +57,7 @@ private:
|
||||||
String text;
|
String text;
|
||||||
Ref<Texture> icon;
|
Ref<Texture> icon;
|
||||||
int ofs_cache;
|
int ofs_cache;
|
||||||
|
bool disabled;
|
||||||
int size_cache;
|
int size_cache;
|
||||||
int x_cache;
|
int x_cache;
|
||||||
int x_size_cache;
|
int x_size_cache;
|
||||||
|
@ -106,6 +107,9 @@ public:
|
||||||
void set_tab_icon(int p_tab,const Ref<Texture>& p_icon);
|
void set_tab_icon(int p_tab,const Ref<Texture>& p_icon);
|
||||||
Ref<Texture> get_tab_icon(int p_tab) const;
|
Ref<Texture> get_tab_icon(int p_tab) const;
|
||||||
|
|
||||||
|
void set_tab_disabled(int p_tab, bool p_disabled);
|
||||||
|
bool get_tab_disabled(int p_tab) const;
|
||||||
|
|
||||||
void set_tab_right_button(int p_tab,const Ref<Texture>& p_right_button);
|
void set_tab_right_button(int p_tab,const Ref<Texture>& p_right_button);
|
||||||
Ref<Texture> get_tab_right_button(int p_tab) const;
|
Ref<Texture> get_tab_right_button(int p_tab) const;
|
||||||
|
|
||||||
|
|
|
@ -750,6 +750,7 @@ void fill_default_theme(Ref<Theme>& t, const Ref<Font> & default_font, const Ref
|
||||||
|
|
||||||
t->set_stylebox("tab_fg","TabContainer", sb_expand( make_stylebox( tab_current_png,4,4,4,1,16,4,16,4),2,2,2,2) );
|
t->set_stylebox("tab_fg","TabContainer", sb_expand( make_stylebox( tab_current_png,4,4,4,1,16,4,16,4),2,2,2,2) );
|
||||||
t->set_stylebox("tab_bg","TabContainer", sb_expand( make_stylebox( tab_behind_png,5,5,5,1,16,6,16,4),3,0,3,3) );
|
t->set_stylebox("tab_bg","TabContainer", sb_expand( make_stylebox( tab_behind_png,5,5,5,1,16,6,16,4),3,0,3,3) );
|
||||||
|
t->set_stylebox("tab_disabled", "TabContainer", sb_expand(make_stylebox(tab_disabled_png, 5, 5, 5, 1, 16, 6, 16, 4), 3, 0, 3, 3));
|
||||||
t->set_stylebox("panel","TabContainer", tc_sb );
|
t->set_stylebox("panel","TabContainer", tc_sb );
|
||||||
|
|
||||||
t->set_icon("increment","TabContainer",make_icon( scroll_button_right_png));
|
t->set_icon("increment","TabContainer",make_icon( scroll_button_right_png));
|
||||||
|
@ -763,6 +764,7 @@ void fill_default_theme(Ref<Theme>& t, const Ref<Font> & default_font, const Ref
|
||||||
|
|
||||||
t->set_color("font_color_fg","TabContainer", control_font_color_hover );
|
t->set_color("font_color_fg","TabContainer", control_font_color_hover );
|
||||||
t->set_color("font_color_bg","TabContainer", control_font_color_low );
|
t->set_color("font_color_bg","TabContainer", control_font_color_low );
|
||||||
|
t->set_color("font_color_disabled", "TabContainer", control_font_color_disabled);
|
||||||
|
|
||||||
t->set_constant("side_margin","TabContainer", 8 *scale);
|
t->set_constant("side_margin","TabContainer", 8 *scale);
|
||||||
t->set_constant("top_margin","TabContainer", 24 *scale);
|
t->set_constant("top_margin","TabContainer", 24 *scale);
|
||||||
|
@ -776,6 +778,7 @@ void fill_default_theme(Ref<Theme>& t, const Ref<Font> & default_font, const Ref
|
||||||
|
|
||||||
t->set_stylebox("tab_fg","Tabs", sb_expand( make_stylebox( tab_current_png,4,3,4,1,16,3,16,2),2,2,2,2) );
|
t->set_stylebox("tab_fg","Tabs", sb_expand( make_stylebox( tab_current_png,4,3,4,1,16,3,16,2),2,2,2,2) );
|
||||||
t->set_stylebox("tab_bg","Tabs", sb_expand( make_stylebox( tab_behind_png,5,4,5,1,16,5,16,2),3,3,3,3) );
|
t->set_stylebox("tab_bg","Tabs", sb_expand( make_stylebox( tab_behind_png,5,4,5,1,16,5,16,2),3,3,3,3) );
|
||||||
|
t->set_stylebox("tab_disabled", "Tabs", sb_expand(make_stylebox(tab_disabled_png, 5, 4, 5, 1, 16, 5, 16, 2), 3, 3, 3, 3));
|
||||||
t->set_stylebox("panel","Tabs",tc_sb );
|
t->set_stylebox("panel","Tabs",tc_sb );
|
||||||
t->set_stylebox("button_pressed","Tabs", make_stylebox( button_pressed_png,4,4,4,4) );
|
t->set_stylebox("button_pressed","Tabs", make_stylebox( button_pressed_png,4,4,4,4) );
|
||||||
t->set_stylebox("button","Tabs", make_stylebox( button_normal_png,4,4,4,4) );
|
t->set_stylebox("button","Tabs", make_stylebox( button_normal_png,4,4,4,4) );
|
||||||
|
@ -790,6 +793,7 @@ void fill_default_theme(Ref<Theme>& t, const Ref<Font> & default_font, const Ref
|
||||||
|
|
||||||
t->set_color("font_color_fg","Tabs", control_font_color_hover );
|
t->set_color("font_color_fg","Tabs", control_font_color_hover );
|
||||||
t->set_color("font_color_bg","Tabs", control_font_color_low );
|
t->set_color("font_color_bg","Tabs", control_font_color_low );
|
||||||
|
t->set_color("font_color_disabled", "Tabs", control_font_color_disabled);
|
||||||
|
|
||||||
t->set_constant("top_margin","Tabs", 24 *scale);
|
t->set_constant("top_margin","Tabs", 24 *scale);
|
||||||
t->set_constant("label_valign_fg","Tabs", 0 *scale);
|
t->set_constant("label_valign_fg","Tabs", 0 *scale);
|
||||||
|
|
|
@ -458,6 +458,10 @@ static const unsigned char tab_current_png[]={
|
||||||
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x3,0x0,0x0,0x0,0x28,0x2d,0xf,0x53,0x0,0x0,0x0,0x4,0x67,0x41,0x4d,0x41,0x0,0x0,0xb1,0x8f,0xb,0xfc,0x61,0x5,0x0,0x0,0x0,0x20,0x63,0x48,0x52,0x4d,0x0,0x0,0x7a,0x26,0x0,0x0,0x80,0x84,0x0,0x0,0xfa,0x0,0x0,0x0,0x80,0xe8,0x0,0x0,0x75,0x30,0x0,0x0,0xea,0x60,0x0,0x0,0x3a,0x98,0x0,0x0,0x17,0x70,0x9c,0xba,0x51,0x3c,0x0,0x0,0x0,0x9c,0x50,0x4c,0x54,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x3d,0x48,0x5b,0x58,0x66,0x5b,0x57,0x65,0x57,0x54,0x62,0x55,0x53,0x62,0x4a,0x46,0x52,0x46,0x41,0x4e,0x45,0x41,0x4d,0x55,0x52,0x60,0x44,0x41,0x4c,0x53,0x50,0x5e,0x43,0x40,0x4b,0x52,0x4e,0x5d,0x41,0x3e,0x4a,0x4f,0x4d,0x5a,0x3f,0x3d,0x48,0x4e,0x4b,0x59,0x3e,0x3c,0x47,0x4d,0x4a,0x58,0x3d,0x3b,0x46,0x4b,0x49,0x54,0x3c,0x3a,0x44,0x4b,0x47,0x54,0x3b,0x39,0x43,0x3b,0x39,0x42,0x3b,0x38,0x43,0x3b,0x38,0x42,0x3a,0x37,0x41,0x39,0x37,0x41,0x3a,0x38,0x41,0x39,0x36,0x3f,0x38,0x36,0x3f,0x39,0x36,0x40,0x38,0x36,0x40,0x37,0x35,0x3e,0x37,0x34,0x3e,0x36,0x35,0x3d,0x35,0x32,0x3b,0x59,0xdd,0xd3,0xff,0x0,0x0,0x0,0x11,0x74,0x52,0x4e,0x53,0x4,0xa,0x11,0x19,0x1f,0x22,0x24,0x15,0x25,0x34,0x3f,0x46,0x47,0x48,0x77,0xef,0xef,0xa3,0x31,0x6b,0xc2,0x0,0x0,0x0,0x1,0x62,0x4b,0x47,0x44,0x33,0x37,0xd5,0x7c,0x5e,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xe0,0x6,0x16,0x12,0x2b,0x5,0x39,0x1a,0x32,0x39,0x0,0x0,0x0,0xa2,0x49,0x44,0x41,0x54,0x18,0xd3,0x45,0xcd,0xd9,0x12,0x82,0x30,0xc,0x40,0xd1,0x0,0x2d,0x4b,0x5b,0x36,0x59,0x44,0x44,0x44,0xa4,0x68,0x59,0x54,0xfc,0xff,0x8f,0x33,0x30,0x4c,0x3d,0x93,0xa7,0x3b,0x93,0x4,0xc0,0x30,0x2d,0x42,0x6d,0x44,0x89,0x65,0x1a,0x0,0x86,0xe3,0x7a,0x8c,0xb,0xdf,0x17,0x9c,0x79,0xae,0x63,0x80,0xe9,0x6,0x61,0x7c,0xd8,0xc4,0x61,0xe0,0x9a,0x60,0x79,0x51,0x92,0x66,0x9b,0x34,0x89,0x3c,0xb,0x8,0xcb,0xb3,0xe3,0x2e,0xcb,0x19,0x1,0xca,0x8b,0x93,0x56,0x70,0xa,0xb6,0x28,0xcf,0x5a,0x29,0x6c,0xb0,0xfd,0xea,0xa2,0x55,0xfe,0x1a,0xea,0xab,0x56,0xaf,0x41,0x34,0x37,0xad,0xc1,0x15,0xca,0xdb,0xbb,0xd6,0xe2,0x51,0xc2,0xba,0x7f,0xe8,0xf0,0x2d,0x6,0x29,0xfb,0x5e,0xca,0xc7,0x53,0xca,0x3d,0xa8,0x61,0x50,0xc3,0xa8,0xc6,0x41,0xed,0x61,0x9a,0xa6,0x19,0xbd,0xe6,0xf7,0x1e,0x3e,0xcb,0x82,0x83,0xbe,0x18,0x7e,0xa1,0xe5,0x17,0x1f,0xcf,0x5d,0x82,0x6b,0x0,0x0,0x0,0x25,0x74,0x45,0x58,0x74,0x64,0x61,0x74,0x65,0x3a,0x63,0x72,0x65,0x61,0x74,0x65,0x0,0x32,0x30,0x31,0x36,0x2d,0x30,0x36,0x2d,0x32,0x32,0x54,0x32,0x30,0x3a,0x33,0x39,0x3a,0x32,0x36,0x2b,0x30,0x32,0x3a,0x30,0x30,0xc9,0xad,0xc8,0x52,0x0,0x0,0x0,0x25,0x74,0x45,0x58,0x74,0x64,0x61,0x74,0x65,0x3a,0x6d,0x6f,0x64,0x69,0x66,0x79,0x0,0x32,0x30,0x31,0x36,0x2d,0x30,0x36,0x2d,0x32,0x32,0x54,0x32,0x30,0x3a,0x33,0x39,0x3a,0x32,0x36,0x2b,0x30,0x32,0x3a,0x30,0x30,0xb8,0xf0,0x70,0xee,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x3,0x0,0x0,0x0,0x28,0x2d,0xf,0x53,0x0,0x0,0x0,0x4,0x67,0x41,0x4d,0x41,0x0,0x0,0xb1,0x8f,0xb,0xfc,0x61,0x5,0x0,0x0,0x0,0x20,0x63,0x48,0x52,0x4d,0x0,0x0,0x7a,0x26,0x0,0x0,0x80,0x84,0x0,0x0,0xfa,0x0,0x0,0x0,0x80,0xe8,0x0,0x0,0x75,0x30,0x0,0x0,0xea,0x60,0x0,0x0,0x3a,0x98,0x0,0x0,0x17,0x70,0x9c,0xba,0x51,0x3c,0x0,0x0,0x0,0x9c,0x50,0x4c,0x54,0x45,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x3d,0x48,0x5b,0x58,0x66,0x5b,0x57,0x65,0x57,0x54,0x62,0x55,0x53,0x62,0x4a,0x46,0x52,0x46,0x41,0x4e,0x45,0x41,0x4d,0x55,0x52,0x60,0x44,0x41,0x4c,0x53,0x50,0x5e,0x43,0x40,0x4b,0x52,0x4e,0x5d,0x41,0x3e,0x4a,0x4f,0x4d,0x5a,0x3f,0x3d,0x48,0x4e,0x4b,0x59,0x3e,0x3c,0x47,0x4d,0x4a,0x58,0x3d,0x3b,0x46,0x4b,0x49,0x54,0x3c,0x3a,0x44,0x4b,0x47,0x54,0x3b,0x39,0x43,0x3b,0x39,0x42,0x3b,0x38,0x43,0x3b,0x38,0x42,0x3a,0x37,0x41,0x39,0x37,0x41,0x3a,0x38,0x41,0x39,0x36,0x3f,0x38,0x36,0x3f,0x39,0x36,0x40,0x38,0x36,0x40,0x37,0x35,0x3e,0x37,0x34,0x3e,0x36,0x35,0x3d,0x35,0x32,0x3b,0x59,0xdd,0xd3,0xff,0x0,0x0,0x0,0x11,0x74,0x52,0x4e,0x53,0x4,0xa,0x11,0x19,0x1f,0x22,0x24,0x15,0x25,0x34,0x3f,0x46,0x47,0x48,0x77,0xef,0xef,0xa3,0x31,0x6b,0xc2,0x0,0x0,0x0,0x1,0x62,0x4b,0x47,0x44,0x33,0x37,0xd5,0x7c,0x5e,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xe0,0x6,0x16,0x12,0x2b,0x5,0x39,0x1a,0x32,0x39,0x0,0x0,0x0,0xa2,0x49,0x44,0x41,0x54,0x18,0xd3,0x45,0xcd,0xd9,0x12,0x82,0x30,0xc,0x40,0xd1,0x0,0x2d,0x4b,0x5b,0x36,0x59,0x44,0x44,0x44,0xa4,0x68,0x59,0x54,0xfc,0xff,0x8f,0x33,0x30,0x4c,0x3d,0x93,0xa7,0x3b,0x93,0x4,0xc0,0x30,0x2d,0x42,0x6d,0x44,0x89,0x65,0x1a,0x0,0x86,0xe3,0x7a,0x8c,0xb,0xdf,0x17,0x9c,0x79,0xae,0x63,0x80,0xe9,0x6,0x61,0x7c,0xd8,0xc4,0x61,0xe0,0x9a,0x60,0x79,0x51,0x92,0x66,0x9b,0x34,0x89,0x3c,0xb,0x8,0xcb,0xb3,0xe3,0x2e,0xcb,0x19,0x1,0xca,0x8b,0x93,0x56,0x70,0xa,0xb6,0x28,0xcf,0x5a,0x29,0x6c,0xb0,0xfd,0xea,0xa2,0x55,0xfe,0x1a,0xea,0xab,0x56,0xaf,0x41,0x34,0x37,0xad,0xc1,0x15,0xca,0xdb,0xbb,0xd6,0xe2,0x51,0xc2,0xba,0x7f,0xe8,0xf0,0x2d,0x6,0x29,0xfb,0x5e,0xca,0xc7,0x53,0xca,0x3d,0xa8,0x61,0x50,0xc3,0xa8,0xc6,0x41,0xed,0x61,0x9a,0xa6,0x19,0xbd,0xe6,0xf7,0x1e,0x3e,0xcb,0x82,0x83,0xbe,0x18,0x7e,0xa1,0xe5,0x17,0x1f,0xcf,0x5d,0x82,0x6b,0x0,0x0,0x0,0x25,0x74,0x45,0x58,0x74,0x64,0x61,0x74,0x65,0x3a,0x63,0x72,0x65,0x61,0x74,0x65,0x0,0x32,0x30,0x31,0x36,0x2d,0x30,0x36,0x2d,0x32,0x32,0x54,0x32,0x30,0x3a,0x33,0x39,0x3a,0x32,0x36,0x2b,0x30,0x32,0x3a,0x30,0x30,0xc9,0xad,0xc8,0x52,0x0,0x0,0x0,0x25,0x74,0x45,0x58,0x74,0x64,0x61,0x74,0x65,0x3a,0x6d,0x6f,0x64,0x69,0x66,0x79,0x0,0x32,0x30,0x31,0x36,0x2d,0x30,0x36,0x2d,0x32,0x32,0x54,0x32,0x30,0x3a,0x33,0x39,0x3a,0x32,0x36,0x2b,0x30,0x32,0x3a,0x30,0x30,0xb8,0xf0,0x70,0xee,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const unsigned char tab_disabled_png[] = {
|
||||||
|
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x6,0x0,0x0,0x0,0x1f,0xf3,0xff,0x61,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x12,0x0,0x0,0xb,0x12,0x1,0xd2,0xdd,0x7e,0xfc,0x0,0x0,0x0,0xd2,0x49,0x44,0x41,0x54,0x38,0xcb,0xd5,0x90,0x51,0xa,0xc2,0x30,0xc,0x86,0xd3,0x2e,0xdb,0x4,0x1f,0xb6,0x57,0x75,0x77,0xd9,0x1d,0x3c,0x8d,0x47,0xd8,0x69,0xbc,0x81,0xf,0xbb,0xcb,0xf0,0x6d,0xa8,0xa0,0xa0,0x6b,0xd7,0x9a,0x40,0x26,0xa,0xdb,0x98,0x22,0x88,0x81,0xf,0x92,0xf2,0xe7,0x4f,0x13,0x5,0x0,0x48,0x44,0x44,0x4c,0xcc,0x24,0xf,0x8,0xd,0xaf,0xe1,0x88,0x96,0x68,0x88,0x2b,0x71,0xe3,0xbc,0x6b,0x9e,0x13,0x29,0x91,0x48,0xce,0x66,0x4a,0xe0,0xf0,0x2,0x37,0x5d,0x88,0x13,0x71,0x4,0x99,0xce,0xe2,0x34,0xcf,0xf3,0x75,0xb6,0xcc,0xa,0xd3,0x1a,0x18,0x8b,0x30,0x8,0xa1,0xda,0x57,0x9b,0xb2,0x2c,0xb7,0x54,0x5a,0x94,0x6f,0x27,0xab,0xc5,0xaa,0xa8,0xf,0x35,0x58,0x6b,0xc1,0x7b,0xdf,0xdb,0xac,0x94,0x2,0x44,0x4,0xd6,0x52,0xb9,0x23,0xce,0x8f,0x15,0x1a,0xdb,0x80,0x31,0xe3,0xd3,0xd9,0x98,0x35,0xac,0x95,0x55,0x23,0x2d,0x7,0x8b,0x87,0xa6,0xe,0x19,0xc9,0xea,0x1,0xca,0xb5,0x15,0x3f,0x4e,0x35,0x11,0x1d,0x1f,0x58,0x63,0xb7,0xde,0x87,0x6,0x80,0xcf,0x8f,0x6f,0x1a,0xc0,0x77,0xd,0x9c,0x73,0x93,0xd,0x58,0xdb,0x85,0xee,0x73,0xfd,0xcd,0xa,0xff,0x6b,0x70,0x7,0xd6,0xd5,0x90,0x3b,0x10,0xe9,0x51,0x80,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static const unsigned char tab_menu_png[]={
|
static const unsigned char tab_menu_png[]={
|
||||||
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x6,0x0,0x0,0x0,0x1f,0xf3,0xff,0x61,0x0,0x0,0x0,0x6,0x62,0x4b,0x47,0x44,0x0,0xff,0x0,0xff,0x0,0xff,0xa0,0xbd,0xa7,0x93,0x0,0x0,0x0,0x6f,0x49,0x44,0x41,0x54,0x38,0x8d,0x63,0x60,0x18,0x5,0xa3,0x80,0x81,0x81,0x11,0x5d,0xe0,0xc1,0x83,0x7,0xff,0xf1,0x69,0x50,0x50,0x50,0x40,0xd1,0xc3,0x44,0xa9,0xb,0xa8,0x6f,0x0,0x23,0x23,0x63,0x3c,0x3,0x3,0xc3,0x57,0x2c,0x6a,0xbf,0x33,0x32,0x32,0xa6,0x63,0xa8,0xc7,0x66,0xea,0xfd,0xfb,0xf7,0x35,0x18,0x18,0x18,0x56,0x31,0x32,0x32,0xea,0x42,0x85,0x6e,0x30,0x33,0x33,0x87,0xc9,0xca,0xca,0x5e,0x26,0xca,0x0,0x6,0x6,0x6,0x86,0x17,0x2f,0x5e,0x70,0xff,0xfc,0xf9,0x73,0xa,0x3,0x3,0x3,0x3,0x3b,0x3b,0x7b,0x8e,0x84,0x84,0x4,0x36,0x57,0xd,0x2,0x0,0x0,0x67,0xf2,0x14,0xc2,0xc2,0xbe,0xf5,0xb5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x10,0x8,0x6,0x0,0x0,0x0,0x1f,0xf3,0xff,0x61,0x0,0x0,0x0,0x6,0x62,0x4b,0x47,0x44,0x0,0xff,0x0,0xff,0x0,0xff,0xa0,0xbd,0xa7,0x93,0x0,0x0,0x0,0x6f,0x49,0x44,0x41,0x54,0x38,0x8d,0x63,0x60,0x18,0x5,0xa3,0x80,0x81,0x81,0x11,0x5d,0xe0,0xc1,0x83,0x7,0xff,0xf1,0x69,0x50,0x50,0x50,0x40,0xd1,0xc3,0x44,0xa9,0xb,0xa8,0x6f,0x0,0x23,0x23,0x63,0x3c,0x3,0x3,0xc3,0x57,0x2c,0x6a,0xbf,0x33,0x32,0x32,0xa6,0x63,0xa8,0xc7,0x66,0xea,0xfd,0xfb,0xf7,0x35,0x18,0x18,0x18,0x56,0x31,0x32,0x32,0xea,0x42,0x85,0x6e,0x30,0x33,0x33,0x87,0xc9,0xca,0xca,0x5e,0x26,0xca,0x0,0x6,0x6,0x6,0x86,0x17,0x2f,0x5e,0x70,0xff,0xfc,0xf9,0x73,0xa,0x3,0x3,0x3,0x3,0x3b,0x3b,0x7b,0x8e,0x84,0x84,0x4,0x36,0x57,0xd,0x2,0x0,0x0,0x67,0xf2,0x14,0xc2,0xc2,0xbe,0xf5,0xb5,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
|
||||||
|
|
Loading…
Reference in a new issue