Add IDE Diagnostics panel

This commit is contained in:
Matt Parker
2025-09-26 22:54:45 +10:00
parent 2d0101080c
commit 461cd96c15
8 changed files with 79 additions and 4 deletions

View File

@@ -10,6 +10,7 @@ public partial class LeftSideBar : Panel
private Button _runButton = null!;
private Button _buildButton = null!;
private Button _debugButton = null!;
private Button _ideDiagnosticsButton = null!;
public override void _Ready()
{
@@ -18,11 +19,13 @@ public partial class LeftSideBar : Panel
_runButton = GetNode<Button>("%RunButton");
_buildButton = GetNode<Button>("%BuildButton");
_debugButton = GetNode<Button>("%DebugButton");
_ideDiagnosticsButton = GetNode<Button>("%IdeDiagnosticsButton");
_problemsButton.Toggled += toggledOn => GodotGlobalEvents.InvokeBottomPanelTabSelected(toggledOn ? BottomPanelType.Problems : null);
_runButton.Toggled += toggledOn => GodotGlobalEvents.InvokeBottomPanelTabSelected(toggledOn ? BottomPanelType.Run : null);
_buildButton.Toggled += toggledOn => GodotGlobalEvents.InvokeBottomPanelTabSelected(toggledOn ? BottomPanelType.Build : null);
_debugButton.Toggled += toggledOn => GodotGlobalEvents.InvokeBottomPanelTabSelected(toggledOn ? BottomPanelType.Debug : null);
_ideDiagnosticsButton.Toggled += toggledOn => GodotGlobalEvents.InvokeBottomPanelTabSelected(toggledOn ? BottomPanelType.IdeDiagnostics : null);
GodotGlobalEvents.BottomPanelTabExternallySelected += OnBottomPanelTabExternallySelected;
}
@@ -36,6 +39,7 @@ public partial class LeftSideBar : Panel
case BottomPanelType.Debug: _debugButton.ButtonPressed = true; break;
case BottomPanelType.Build: _buildButton.ButtonPressed = true; break;
case BottomPanelType.Problems: _problemsButton.ButtonPressed = true; break;
case BottomPanelType.IdeDiagnostics: _ideDiagnosticsButton.ButtonPressed = true; break;
default: throw new ArgumentOutOfRangeException(nameof(arg), arg, null);
}
});

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://biyhfwx36ium8"]
[gd_scene load_steps=10 format=3 uid="uid://biyhfwx36ium8"]
[ext_resource type="Script" uid="uid://bddno1bbvvp5q" path="res://Features/LeftSideBar/LeftSideBar.cs" id="1_rgaf0"]
[ext_resource type="ButtonGroup" uid="uid://c2nmo2x3va0gi" path="res://Features/LeftSideBar/LeftBottomSidebarButtonGroup.tres" id="2_1aad6"]
@@ -8,6 +8,7 @@
[ext_resource type="Texture2D" uid="uid://cre7q0efp4vrq" path="res://Features/LeftSideBar/Resources/SidebarRun.svg" id="5_jg03n"]
[ext_resource type="Texture2D" uid="uid://b0170ypw8uf3a" path="res://Features/LeftSideBar/Resources/Terminal.svg" id="6_ddh6f"]
[ext_resource type="Texture2D" uid="uid://butisxqww0boc" path="res://Features/LeftSideBar/Resources/SidebarDebug.svg" id="6_jg03n"]
[ext_resource type="Texture2D" uid="uid://dx8bt0adxpqgy" path="res://Features/LeftSideBar/Resources/Ide.svg" id="9_6ih3m"]
[node name="LeftSideBar" type="Panel"]
custom_minimum_size = Vector2(80, 0)
@@ -110,3 +111,18 @@ icon = ExtResource("6_ddh6f")
icon_alignment = 1
vertical_icon_alignment = 0
expand_icon = true
[node name="IdeDiagnosticsButton" type="Button" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
focus_mode = 0
theme = ExtResource("3_prju6")
theme_override_font_sizes/font_size = 13
toggle_mode = true
button_group = ExtResource("2_1aad6")
text = "IDE"
icon = ExtResource("9_6ih3m")
icon_alignment = 1
vertical_icon_alignment = 0
expand_icon = true