mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Refactor Bottom Panel to be a TabContainer
This commit is contained in:
parent
250ef8dc32
commit
e2caff9a06
18 changed files with 272 additions and 358 deletions
|
|
@ -55,8 +55,7 @@ DebuggerEditorPlugin::DebuggerEditorPlugin(PopupMenu *p_debug_menu) {
|
|||
file_server = memnew(EditorFileServer);
|
||||
|
||||
EditorDebuggerNode *debugger = memnew(EditorDebuggerNode);
|
||||
Button *db = EditorNode::get_bottom_panel()->add_item(TTRC("Debugger"), debugger, ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_debugger_bottom_panel", TTRC("Toggle Debugger Bottom Panel"), KeyModifierMask::ALT | Key::D));
|
||||
debugger->set_tool_button(db);
|
||||
EditorNode::get_bottom_panel()->add_item(TTRC("Debugger"), debugger, ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_debugger_bottom_panel", TTRC("Toggle Debugger Bottom Panel"), KeyModifierMask::ALT | Key::D));
|
||||
|
||||
// Main editor debug menu.
|
||||
debug_menu = p_debug_menu;
|
||||
|
|
|
|||
|
|
@ -441,26 +441,35 @@ void EditorDebuggerNode::_update_errors() {
|
|||
dbg->update_tabs();
|
||||
});
|
||||
|
||||
if (error_count == 0 && warning_count == 0) {
|
||||
debugger_button->set_text(TTR("Debugger"));
|
||||
debugger_button->remove_theme_color_override(SceneStringName(font_color));
|
||||
debugger_button->set_button_icon(Ref<Texture2D>());
|
||||
} else {
|
||||
debugger_button->set_text(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")");
|
||||
if (error_count >= 1 && warning_count >= 1) {
|
||||
debugger_button->set_button_icon(get_editor_theme_icon(SNAME("ErrorWarning")));
|
||||
// Use error color to represent the highest level of severity reported.
|
||||
debugger_button->add_theme_color_override(SceneStringName(font_color), get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
|
||||
} else if (error_count >= 1) {
|
||||
debugger_button->set_button_icon(get_editor_theme_icon(SNAME("Error")));
|
||||
debugger_button->add_theme_color_override(SceneStringName(font_color), get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
|
||||
} else {
|
||||
debugger_button->set_button_icon(get_editor_theme_icon(SNAME("Warning")));
|
||||
debugger_button->add_theme_color_override(SceneStringName(font_color), get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
|
||||
}
|
||||
}
|
||||
last_error_count = error_count;
|
||||
last_warning_count = warning_count;
|
||||
|
||||
// TODO: Replace logic when EditorDock class is merged to be more flexible.
|
||||
TabContainer *parent = Object::cast_to<TabContainer>(get_parent());
|
||||
if (!parent) {
|
||||
return;
|
||||
}
|
||||
|
||||
int idx = parent->get_tab_idx_from_control(this);
|
||||
|
||||
if (error_count == 0 && warning_count == 0) {
|
||||
set_name(TTR("Debugger"));
|
||||
parent->set_tab_icon(idx, Ref<Texture2D>());
|
||||
parent->get_tab_bar()->set_font_color_override_all(idx, Color(0, 0, 0, 0));
|
||||
} else {
|
||||
set_name(TTR("Debugger") + " (" + itos(error_count + warning_count) + ")");
|
||||
if (error_count >= 1 && warning_count >= 1) {
|
||||
parent->set_tab_icon(idx, get_editor_theme_icon(SNAME("ErrorWarning")));
|
||||
// Use error color to represent the highest level of severity reported.
|
||||
parent->get_tab_bar()->set_font_color_override_all(idx, get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
|
||||
} else if (error_count >= 1) {
|
||||
parent->set_tab_icon(idx, get_editor_theme_icon(SNAME("Error")));
|
||||
parent->get_tab_bar()->set_font_color_override_all(idx, get_theme_color(SNAME("error_color"), EditorStringName(Editor)));
|
||||
} else {
|
||||
parent->set_tab_icon(idx, get_editor_theme_icon(SNAME("Warning")));
|
||||
parent->get_tab_bar()->set_font_color_override_all(idx, get_theme_color(SNAME("warning_color"), EditorStringName(Editor)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,6 @@ private:
|
|||
|
||||
Ref<EditorDebuggerServer> server;
|
||||
TabContainer *tabs = nullptr;
|
||||
Button *debugger_button = nullptr;
|
||||
MenuButton *script_menu = nullptr;
|
||||
|
||||
Ref<Script> stack_script; // Why?!?
|
||||
|
|
@ -180,10 +179,6 @@ public:
|
|||
|
||||
void set_script_debug_button(MenuButton *p_button);
|
||||
|
||||
void set_tool_button(Button *p_button) {
|
||||
debugger_button = p_button;
|
||||
}
|
||||
|
||||
String get_var_value(const String &p_var) const;
|
||||
Ref<Script> get_dump_stack_script() const { return stack_script; } // Why do we need this?
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue