Various editor UI fixes (bottom panel corner radius and scene tab bar)
- Fix top corners of bottom panel not having rounded corners - Fix scene tab bar background expanding vertically by corner radius - Remove two unneccesary theme items from the editor theme: - EditorStyles/SceneTabFG - EditorStyles/SceneTabBG - Remove an instance where the scene TabBar was having its styleboxes overriden to the default value, which has no effect.
This commit is contained in:
parent
00fa4e23e4
commit
6e8dc5130d
2 changed files with 15 additions and 22 deletions
|
@ -762,11 +762,8 @@ void EditorNode::_notification(int p_what) {
|
|||
|
||||
gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles")));
|
||||
scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles")));
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
||||
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles")));
|
||||
tabbar_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("tabbar_background"), SNAME("TabContainer")));
|
||||
scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles")));
|
||||
scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles")));
|
||||
|
||||
main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
|
||||
}
|
||||
|
@ -5475,7 +5472,7 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) {
|
|||
// This is the debug panel which uses tabs, so the top section should be smaller.
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanelDebuggerOverride"), SNAME("EditorStyles")));
|
||||
} else {
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles")));
|
||||
}
|
||||
center_split->set_dragger_visibility(SplitContainer::DRAGGER_VISIBLE);
|
||||
center_split->set_collapsed(false);
|
||||
|
@ -5485,7 +5482,7 @@ void EditorNode::_bottom_panel_switch(bool p_enable, int p_idx) {
|
|||
bottom_panel_raise->show();
|
||||
|
||||
} else {
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles")));
|
||||
bottom_panel_items[p_idx].button->set_pressed(false);
|
||||
bottom_panel_items[p_idx].control->set_visible(false);
|
||||
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
|
||||
|
@ -6528,8 +6525,6 @@ EditorNode::EditorNode() {
|
|||
tabbar_panel->add_child(tabbar_container);
|
||||
|
||||
scene_tabs = memnew(TabBar);
|
||||
scene_tabs->add_theme_style_override("tab_selected", gui_base->get_theme_stylebox(SNAME("SceneTabFG"), SNAME("EditorStyles")));
|
||||
scene_tabs->add_theme_style_override("tab_unselected", gui_base->get_theme_stylebox(SNAME("SceneTabBG"), SNAME("EditorStyles")));
|
||||
scene_tabs->set_select_with_rmb(true);
|
||||
scene_tabs->add_tab("unsaved");
|
||||
scene_tabs->set_tab_close_display_policy((TabBar::CloseButtonDisplayPolicy)EDITOR_GET("interface/scene_tabs/display_close_button").operator int());
|
||||
|
@ -7093,7 +7088,7 @@ EditorNode::EditorNode() {
|
|||
// Bottom panels.
|
||||
|
||||
bottom_panel = memnew(PanelContainer);
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("panel"), SNAME("TabContainer")));
|
||||
bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles")));
|
||||
center_split->add_child(bottom_panel);
|
||||
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
|
||||
|
||||
|
|
|
@ -666,9 +666,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
style_tab_base->set_corner_radius(CORNER_BOTTOM_LEFT, 0);
|
||||
style_tab_base->set_corner_radius(CORNER_BOTTOM_RIGHT, 0);
|
||||
|
||||
// Prevent visible artifacts and cover the top-left rounded corner of the panel below the tab if selected
|
||||
// We can't prevent them with both rounded corners and non-zero border width, though
|
||||
style_tab_base->set_expand_margin_size(SIDE_BOTTOM, corner_width > 0 ? corner_width : border_width);
|
||||
// When using a border width greater than 0, visually line up the left of the selected tab with the underlying panel.
|
||||
style_tab_base->set_expand_margin_size(SIDE_LEFT, -border_width);
|
||||
|
||||
|
@ -1215,11 +1212,9 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
theme->set_constant("line_separation", "ItemList", 3 * EDSCALE);
|
||||
|
||||
// TabBar & TabContainer
|
||||
Ref<StyleBoxFlat> style_tabbar_background = make_flat_stylebox(dark_color_1, 0, 0, 0, 0);
|
||||
style_tabbar_background->set_expand_margin_size(SIDE_BOTTOM, corner_width > 0 ? corner_width : border_width);
|
||||
style_tabbar_background->set_corner_detail(corner_width);
|
||||
style_tabbar_background->set_corner_radius(CORNER_TOP_LEFT, corner_radius * EDSCALE);
|
||||
style_tabbar_background->set_corner_radius(CORNER_TOP_RIGHT, corner_radius * EDSCALE);
|
||||
Ref<StyleBoxFlat> style_tabbar_background = make_flat_stylebox(dark_color_1, 0, 0, 0, 0, corner_radius * EDSCALE);
|
||||
style_tabbar_background->set_corner_radius(CORNER_BOTTOM_LEFT, 0);
|
||||
style_tabbar_background->set_corner_radius(CORNER_BOTTOM_RIGHT, 0);
|
||||
theme->set_stylebox("tabbar_background", "TabContainer", style_tabbar_background);
|
||||
|
||||
theme->set_stylebox("tab_selected", "TabContainer", style_tab_selected);
|
||||
|
@ -1230,8 +1225,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
theme->set_stylebox("tab_disabled", "TabBar", style_tab_disabled);
|
||||
theme->set_stylebox("button_pressed", "TabBar", style_menu);
|
||||
theme->set_stylebox("button_highlight", "TabBar", style_menu);
|
||||
theme->set_stylebox("SceneTabFG", "EditorStyles", style_tab_selected);
|
||||
theme->set_stylebox("SceneTabBG", "EditorStyles", style_tab_unselected);
|
||||
theme->set_color("font_selected_color", "TabContainer", font_color);
|
||||
theme->set_color("font_unselected_color", "TabContainer", font_disabled_color);
|
||||
theme->set_color("font_selected_color", "TabBar", font_color);
|
||||
|
@ -1251,22 +1244,28 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
theme->set_icon("decrement_highlight", "TabContainer", theme->get_icon(SNAME("GuiScrollArrowLeftHl"), SNAME("EditorIcons")));
|
||||
theme->set_icon("drop_mark", "TabContainer", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons")));
|
||||
theme->set_icon("drop_mark", "TabBar", theme->get_icon(SNAME("GuiTabDropMark"), SNAME("EditorIcons")));
|
||||
theme->set_constant("side_margin", "TabContainer", 0);
|
||||
theme->set_constant("h_separation", "TabBar", 4 * EDSCALE);
|
||||
|
||||
// Content of each tab
|
||||
// Content of each tab.
|
||||
Ref<StyleBoxFlat> style_content_panel = style_default->duplicate();
|
||||
style_content_panel->set_border_color(dark_color_3);
|
||||
style_content_panel->set_border_width_all(border_width);
|
||||
style_content_panel->set_border_width(Side::SIDE_TOP, 0);
|
||||
style_content_panel->set_corner_radius(CORNER_TOP_LEFT, 0);
|
||||
style_content_panel->set_corner_radius(CORNER_TOP_RIGHT, 0);
|
||||
// compensate the border
|
||||
// Compensate for the border.
|
||||
style_content_panel->set_default_margin(SIDE_TOP, (2 + margin_size_extra) * EDSCALE);
|
||||
style_content_panel->set_default_margin(SIDE_RIGHT, margin_size_extra * EDSCALE);
|
||||
style_content_panel->set_default_margin(SIDE_BOTTOM, margin_size_extra * EDSCALE);
|
||||
style_content_panel->set_default_margin(SIDE_LEFT, margin_size_extra * EDSCALE);
|
||||
theme->set_stylebox("panel", "TabContainer", style_content_panel);
|
||||
|
||||
// Bottom panel.
|
||||
Ref<StyleBoxFlat> style_bottom_panel = style_content_panel->duplicate();
|
||||
style_bottom_panel->set_corner_radius_all(corner_radius * EDSCALE);
|
||||
theme->set_stylebox("BottomPanel", "EditorStyles", style_bottom_panel);
|
||||
|
||||
// TabContainerOdd can be used on tabs against the base color background (e.g. nested tabs).
|
||||
theme->set_type_variation("TabContainerOdd", "TabContainer");
|
||||
|
||||
|
@ -1345,7 +1344,6 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
|
|||
theme->set_stylebox("normal", "TextEdit", style_line_edit);
|
||||
theme->set_stylebox("focus", "TextEdit", style_widget_focus);
|
||||
theme->set_stylebox("read_only", "TextEdit", style_line_edit_disabled);
|
||||
theme->set_constant("side_margin", "TabContainer", 0);
|
||||
theme->set_icon("tab", "TextEdit", theme->get_icon(SNAME("GuiTab"), SNAME("EditorIcons")));
|
||||
theme->set_icon("space", "TextEdit", theme->get_icon(SNAME("GuiSpace"), SNAME("EditorIcons")));
|
||||
theme->set_color("font_color", "TextEdit", font_color);
|
||||
|
|
Loading…
Reference in a new issue