mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Refactor Bottom Panel to be a TabContainer
This commit is contained in:
@@ -1617,8 +1617,33 @@ void ThemeModern::populate_editor_styles(const Ref<EditorTheme> &p_theme, Editor
|
||||
|
||||
// Bottom panel.
|
||||
Ref<StyleBoxFlat> style_bottom_panel = p_config.content_panel_style->duplicate();
|
||||
style_bottom_panel->set_border_width(SIDE_BOTTOM, 0);
|
||||
style_bottom_panel->set_corner_radius_all(p_config.corner_radius * EDSCALE);
|
||||
style_bottom_panel->set_corner_radius(CORNER_BOTTOM_LEFT, 0);
|
||||
style_bottom_panel->set_corner_radius(CORNER_BOTTOM_RIGHT, 0);
|
||||
|
||||
Ref<StyleBoxFlat> style_bottom_panel_hidden = style_bottom_panel->duplicate();
|
||||
style_bottom_panel_hidden->set_content_margin(SIDE_TOP, 0);
|
||||
Ref<StyleBoxFlat> style_bottom_panel_tabbar = p_config.content_panel_style->duplicate();
|
||||
style_bottom_panel_tabbar->set_content_margin(SIDE_TOP, 0);
|
||||
|
||||
Ref<StyleBoxEmpty> style_bottom_tab = p_config.base_empty_style->duplicate();
|
||||
style_bottom_tab->set_content_margin_individual(p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE, p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE);
|
||||
Ref<StyleBoxFlat> bottom_panel_button_hover = p_config.flat_button_hover->duplicate();
|
||||
bottom_panel_button_hover->set_content_margin_individual(p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE, p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE);
|
||||
|
||||
p_theme->set_stylebox("BottomPanel", EditorStringName(EditorStyles), style_bottom_panel);
|
||||
p_theme->set_type_variation("BottomPanel", "TabContainer");
|
||||
p_theme->set_stylebox(SceneStringName(panel), "BottomPanel", style_bottom_panel_hidden);
|
||||
p_theme->set_stylebox("tabbar_background", "BottomPanel", style_bottom_panel_tabbar);
|
||||
p_theme->set_stylebox("tab_selected", "BottomPanel", bottom_panel_button_hover);
|
||||
p_theme->set_stylebox("tab_hovered", "BottomPanel", bottom_panel_button_hover);
|
||||
p_theme->set_stylebox("tab_focus", "BottomPanel", p_config.base_empty_style);
|
||||
p_theme->set_stylebox("tab_unselected", "BottomPanel", style_bottom_tab);
|
||||
p_theme->set_color("font_unselected_color", "BottomPanel", p_config.font_color);
|
||||
p_theme->set_color("font_hovered_color", "BottomPanel", p_config.font_hover_color);
|
||||
p_theme->set_color("font_selected_color", "BottomPanel", p_config.font_hover_color);
|
||||
p_theme->set_constant("tab_separation", "BottomPanel", p_config.separation_margin);
|
||||
|
||||
p_theme->set_type_variation("BottomPanelButton", "FlatMenuButton");
|
||||
|
||||
@@ -1627,8 +1652,6 @@ void ThemeModern::populate_editor_styles(const Ref<EditorTheme> &p_theme, Editor
|
||||
bottom_panel_button->set_content_margin_individual(p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE, p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE);
|
||||
p_theme->set_stylebox(CoreStringName(normal), "BottomPanelButton", bottom_panel_button);
|
||||
|
||||
Ref<StyleBoxFlat> bottom_panel_button_hover = p_config.flat_button_hover->duplicate();
|
||||
bottom_panel_button_hover->set_content_margin_individual(p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE, p_config.base_margin * 2 * EDSCALE, p_config.base_margin * 1.2 * EDSCALE);
|
||||
p_theme->set_stylebox(SceneStringName(hover), "BottomPanelButton", bottom_panel_button_hover);
|
||||
p_theme->set_stylebox(SceneStringName(pressed), "BottomPanelButton", bottom_panel_button_hover);
|
||||
|
||||
@@ -1640,8 +1663,11 @@ void ThemeModern::populate_editor_styles(const Ref<EditorTheme> &p_theme, Editor
|
||||
p_theme->set_color("icon_pressed_color", "BottomPanelButton", Color(1, 1, 1, 1));
|
||||
Color icon_hover_color = p_config.icon_normal_color * (p_config.dark_icon_and_font ? 1.15 : 1.0);
|
||||
icon_hover_color.a = 1.0;
|
||||
p_theme->set_color("icon_hover_color", "BottomPanel", icon_hover_color);
|
||||
p_theme->set_color("icon_hover_pressed_color", "BottomPanel", icon_hover_color);
|
||||
p_theme->set_color("icon_hover_color", "BottomPanelButton", icon_hover_color);
|
||||
p_theme->set_color("icon_hover_pressed_color", "BottomPanelButton", icon_hover_color);
|
||||
p_theme->set_color("icon_hover_pressed_color", "BottomPanelButton", p_config.accent_color);
|
||||
p_theme->set_color("icon_pressed_color", "BottomPanelButton", p_config.accent_color);
|
||||
|
||||
// Audio bus.
|
||||
Ref<StyleBoxFlat> audio_bus = p_config.base_style->duplicate();
|
||||
|
||||
Reference in New Issue
Block a user