mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 07:17:42 -05:00
New customizable editor theme
This commit is contained in:
@@ -356,11 +356,17 @@ void EditorNode::_notification(int p_what) {
|
||||
if (p_what == MainLoop::NOTIFICATION_WM_QUIT_REQUEST) {
|
||||
|
||||
_menu_option_confirm(FILE_QUIT, false);
|
||||
};
|
||||
}
|
||||
|
||||
if (p_what == EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED) {
|
||||
scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
|
||||
property_editor->set_enable_capitalize_paths(bool(EDITOR_DEF("interface/capitalize_properties", true)));
|
||||
Ref<Theme> theme = create_editor_theme();
|
||||
theme_base->set_theme(theme);
|
||||
gui_base->add_style_override("panel", gui_base->get_stylebox("Background", "EditorStyles"));
|
||||
play_button_panel->add_style_override("panel", gui_base->get_stylebox("PlayButtonPanel", "EditorStyles"));
|
||||
scene_root_parent->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
|
||||
bottom_panel->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2699,6 +2705,8 @@ void EditorNode::add_editor_plugin(EditorPlugin *p_editor) {
|
||||
tb->set_toggle_mode(true);
|
||||
tb->connect("pressed", singleton, "_editor_select", varray(singleton->main_editor_buttons.size()));
|
||||
tb->set_text(p_editor->get_name());
|
||||
tb->set_icon(p_editor->get_base_control()->get_icon(p_editor->get_name(), "EditorIcons"));
|
||||
tb->set_name(p_editor->get_name());
|
||||
singleton->main_editor_buttons.push_back(tb);
|
||||
singleton->main_editor_button_vb->add_child(tb);
|
||||
singleton->editor_table.push_back(p_editor);
|
||||
@@ -4682,6 +4690,23 @@ void EditorNode::_dim_timeout() {
|
||||
}
|
||||
}
|
||||
|
||||
void EditorNode::_check_gui_base_size() {
|
||||
print_line(itos(int(gui_base->get_size().width)));
|
||||
if (gui_base->get_size().width > 1200 * EDSCALE) {
|
||||
for (int i = 0; i < singleton->main_editor_button_vb->get_child_count(); i++) {
|
||||
ToolButton *btn = singleton->main_editor_button_vb->get_child(i)->cast_to<ToolButton>();
|
||||
if (btn == singleton->distraction_free) continue;
|
||||
btn->set_text(btn->get_name());
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < singleton->main_editor_button_vb->get_child_count(); i++) {
|
||||
ToolButton *btn = singleton->main_editor_button_vb->get_child(i)->cast_to<ToolButton>();
|
||||
if (btn == singleton->distraction_free) continue;
|
||||
btn->set_text("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EditorNode::open_export_template_manager() {
|
||||
|
||||
export_template_manager->popup_manager();
|
||||
@@ -4764,6 +4789,7 @@ void EditorNode::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("_open_imported"), &EditorNode::_open_imported);
|
||||
ClassDB::bind_method(D_METHOD("_inherit_imported"), &EditorNode::_inherit_imported);
|
||||
ClassDB::bind_method(D_METHOD("_dim_timeout"), &EditorNode::_dim_timeout);
|
||||
ClassDB::bind_method(D_METHOD("_check_gui_base_size"), &EditorNode::_check_gui_base_size);
|
||||
|
||||
ADD_SIGNAL(MethodInfo("play_pressed"));
|
||||
ADD_SIGNAL(MethodInfo("pause_pressed"));
|
||||
@@ -4893,17 +4919,19 @@ EditorNode::EditorNode() {
|
||||
ClassDB::set_class_enabled("CollisionShape2D", true);
|
||||
ClassDB::set_class_enabled("CollisionPolygon2D", true);
|
||||
|
||||
Control *theme_base = memnew(Control);
|
||||
theme_base = memnew(Control);
|
||||
add_child(theme_base);
|
||||
theme_base->set_area_as_parent_rect();
|
||||
|
||||
gui_base = memnew(Panel);
|
||||
theme_base->add_child(gui_base);
|
||||
gui_base->set_area_as_parent_rect();
|
||||
gui_base->connect("item_rect_changed", this, "_check_gui_base_size");
|
||||
|
||||
Ref<Theme> theme = create_editor_theme();
|
||||
theme_base->set_theme(theme);
|
||||
gui_base->set_theme(create_custom_theme());
|
||||
gui_base->add_style_override("panel", gui_base->get_stylebox("Background", "EditorStyles"));
|
||||
|
||||
resource_preview = memnew(EditorResourcePreview);
|
||||
add_child(resource_preview);
|
||||
@@ -4918,6 +4946,7 @@ EditorNode::EditorNode() {
|
||||
main_vbox = memnew(VBoxContainer);
|
||||
gui_base->add_child(main_vbox);
|
||||
main_vbox->set_area_as_parent_rect(8);
|
||||
main_vbox->set_margin(MARGIN_TOP, 5);
|
||||
|
||||
#if 0
|
||||
PanelContainer *top_dark_panel = memnew( PanelContainer );
|
||||
@@ -5054,7 +5083,7 @@ EditorNode::EditorNode() {
|
||||
dock_slot[i]->set_v_size_flags(Control::SIZE_EXPAND_FILL);
|
||||
dock_slot[i]->set_popup(dock_select_popoup);
|
||||
dock_slot[i]->connect("pre_popup_pressed", this, "_dock_pre_popup", varray(i));
|
||||
//dock_slot[i]->set_tab_align(TabContainer::ALIGN_LEFT);
|
||||
dock_slot[i]->set_tab_align(TabContainer::ALIGN_LEFT);
|
||||
}
|
||||
|
||||
dock_drag_timer = memnew(Timer);
|
||||
@@ -5079,7 +5108,7 @@ EditorNode::EditorNode() {
|
||||
*/
|
||||
scene_tabs = memnew(Tabs);
|
||||
scene_tabs->add_tab("unsaved");
|
||||
scene_tabs->set_tab_align(Tabs::ALIGN_CENTER);
|
||||
scene_tabs->set_tab_align(Tabs::ALIGN_LEFT);
|
||||
scene_tabs->set_tab_close_display_policy((bool(EDITOR_DEF("interface/always_show_close_button_in_scene_tabs", false)) ? Tabs::CLOSE_BUTTON_SHOW_ALWAYS : Tabs::CLOSE_BUTTON_SHOW_ACTIVE_ONLY));
|
||||
scene_tabs->connect("tab_changed", this, "_scene_tab_changed");
|
||||
scene_tabs->connect("right_button_pressed", this, "_scene_tab_script_edited");
|
||||
@@ -5089,7 +5118,7 @@ EditorNode::EditorNode() {
|
||||
|
||||
scene_root_parent = memnew(PanelContainer);
|
||||
scene_root_parent->set_custom_minimum_size(Size2(0, 80) * EDSCALE);
|
||||
scene_root_parent->add_style_override("panel", gui_base->get_stylebox("EditorPanel", "EditorStyles"));
|
||||
scene_root_parent->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
|
||||
|
||||
//Ref<StyleBox> sp = scene_root_parent->get_stylebox("panel","TabContainer");
|
||||
//scene_root_parent->add_style_override("panel",sp);
|
||||
@@ -5122,7 +5151,7 @@ EditorNode::EditorNode() {
|
||||
scene_root_parent->add_child(viewport);
|
||||
|
||||
PanelContainer *top_region = memnew(PanelContainer);
|
||||
top_region->add_style_override("panel", gui_base->get_stylebox("hover", "Button"));
|
||||
top_region->add_style_override("panel", gui_base->get_stylebox("MenuPanel", "EditorStyles"));
|
||||
HBoxContainer *left_menu_hb = memnew(HBoxContainer);
|
||||
top_region->add_child(left_menu_hb);
|
||||
menu_hb->add_child(top_region);
|
||||
@@ -5133,6 +5162,7 @@ EditorNode::EditorNode() {
|
||||
file_menu->set_text(TTR("Scene"));
|
||||
//file_menu->set_icon(gui_base->get_icon("Save","EditorIcons"));
|
||||
left_menu_hb->add_child(file_menu);
|
||||
file_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
|
||||
|
||||
prev_scene = memnew(ToolButton);
|
||||
prev_scene->set_icon(gui_base->get_icon("PrevScene", "EditorIcons"));
|
||||
@@ -5205,7 +5235,6 @@ EditorNode::EditorNode() {
|
||||
}
|
||||
|
||||
PanelContainer *editor_region = memnew(PanelContainer);
|
||||
editor_region->add_style_override("panel", gui_base->get_stylebox("hover", "Button"));
|
||||
main_editor_button_vb = memnew(HBoxContainer);
|
||||
editor_region->add_child(main_editor_button_vb);
|
||||
menu_hb->add_child(editor_region);
|
||||
@@ -5249,6 +5278,7 @@ EditorNode::EditorNode() {
|
||||
tool_menu = memnew(MenuButton);
|
||||
tool_menu->set_tooltip(TTR("Miscellaneous project or scene-wide tools."));
|
||||
tool_menu->set_text(TTR("Tools"));
|
||||
tool_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
|
||||
|
||||
//tool_menu->set_icon(gui_base->get_icon("Save","EditorIcons"));
|
||||
left_menu_hb->add_child(tool_menu);
|
||||
@@ -5262,6 +5292,7 @@ EditorNode::EditorNode() {
|
||||
export_button->set_text(TTR("Export"));
|
||||
export_button->connect("pressed", this, "_menu_option", varray(FILE_EXPORT_PROJECT));
|
||||
export_button->set_focus_mode(Control::FOCUS_NONE);
|
||||
export_button->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
|
||||
left_menu_hb->add_child(export_button);
|
||||
|
||||
menu_hb->add_spacer();
|
||||
@@ -5278,12 +5309,12 @@ EditorNode::EditorNode() {
|
||||
play_cc->set_anchor_and_margin(MARGIN_BOTTOM, Control::ANCHOR_BEGIN, 10);
|
||||
play_cc->set_margin(MARGIN_TOP, 5);
|
||||
|
||||
top_region = memnew(PanelContainer);
|
||||
top_region->add_style_override("panel", gui_base->get_stylebox("hover", "Button"));
|
||||
play_cc->add_child(top_region);
|
||||
play_button_panel = memnew(PanelContainer);
|
||||
play_button_panel->add_style_override("panel", gui_base->get_stylebox("PlayButtonPanel", "EditorStyles"));
|
||||
play_cc->add_child(play_button_panel);
|
||||
|
||||
HBoxContainer *play_hb = memnew(HBoxContainer);
|
||||
top_region->add_child(play_hb);
|
||||
play_button_panel->add_child(play_hb);
|
||||
|
||||
play_button = memnew(ToolButton);
|
||||
play_hb->add_child(play_button);
|
||||
@@ -5399,7 +5430,6 @@ EditorNode::EditorNode() {
|
||||
}
|
||||
|
||||
PanelContainer *vu_cont = memnew(PanelContainer);
|
||||
vu_cont->add_style_override("panel", gui_base->get_stylebox("hover", "Button"));
|
||||
menu_hb->add_child(vu_cont);
|
||||
|
||||
audio_vu = memnew(TextureProgress);
|
||||
@@ -5420,13 +5450,13 @@ EditorNode::EditorNode() {
|
||||
}
|
||||
|
||||
top_region = memnew(PanelContainer);
|
||||
top_region->add_style_override("panel", gui_base->get_stylebox("hover", "Button"));
|
||||
HBoxContainer *right_menu_hb = memnew(HBoxContainer);
|
||||
top_region->add_child(right_menu_hb);
|
||||
menu_hb->add_child(top_region);
|
||||
|
||||
settings_menu = memnew(MenuButton);
|
||||
settings_menu->set_text(TTR("Settings"));
|
||||
settings_menu->add_style_override("hover", gui_base->get_stylebox("MenuHover", "EditorStyles"));
|
||||
//settings_menu->set_anchor(MARGIN_RIGHT,ANCHOR_END);
|
||||
right_menu_hb->add_child(settings_menu);
|
||||
p = settings_menu->get_popup();
|
||||
@@ -5676,7 +5706,7 @@ EditorNode::EditorNode() {
|
||||
_update_layouts_menu();
|
||||
|
||||
bottom_panel = memnew(PanelContainer);
|
||||
bottom_panel->add_style_override("panel", gui_base->get_stylebox("EditorPanel", "EditorStyles"));
|
||||
bottom_panel->add_style_override("panel", gui_base->get_stylebox("Content", "EditorStyles"));
|
||||
center_split->add_child(bottom_panel);
|
||||
center_split->set_dragger_visibility(SplitContainer::DRAGGER_HIDDEN);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user