add nuget panel stub

This commit is contained in:
Matt Parker
2025-10-31 20:26:22 +10:00
parent 4f088b6857
commit b64a8f6e55
10 changed files with 83 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence;
using SharpIDE.Godot.Features.Build;
using SharpIDE.Godot.Features.Debug_;
using SharpIDE.Godot.Features.IdeDiagnostics;
using SharpIDE.Godot.Features.Nuget;
using SharpIDE.Godot.Features.Problems;
using SharpIDE.Godot.Features.Run;
@@ -25,6 +26,7 @@ public partial class BottomPanelManager : Panel
private BuildPanel _buildPanel = null!;
private ProblemsPanel _problemsPanel = null!;
private IdeDiagnosticsPanel _ideDiagnosticsPanel = null!;
private NugetPanel _nugetPanel = null!;
private Dictionary<BottomPanelType, Control> _panelTypeMap = [];
@@ -35,6 +37,7 @@ public partial class BottomPanelManager : Panel
_buildPanel = GetNode<BuildPanel>("%BuildPanel");
_problemsPanel = GetNode<ProblemsPanel>("%ProblemsPanel");
_ideDiagnosticsPanel = GetNode<IdeDiagnosticsPanel>("%IdeDiagnosticsPanel");
_nugetPanel = GetNode<NugetPanel>("%NugetPanel");
_panelTypeMap = new Dictionary<BottomPanelType, Control>
{
@@ -42,7 +45,8 @@ public partial class BottomPanelManager : Panel
{ BottomPanelType.Debug, _debugPanel },
{ BottomPanelType.Build, _buildPanel },
{ BottomPanelType.Problems, _problemsPanel },
{ BottomPanelType.IdeDiagnostics, _ideDiagnosticsPanel }
{ BottomPanelType.IdeDiagnostics, _ideDiagnosticsPanel },
{ BottomPanelType.Nuget, _nugetPanel }
};
GodotGlobalEvents.Instance.BottomPanelTabSelected.Subscribe(OnBottomPanelTabSelected);

View File

@@ -6,5 +6,6 @@ public enum BottomPanelType
Debug,
Build,
Problems,
IdeDiagnostics
IdeDiagnostics,
Nuget
}

View File

@@ -12,6 +12,7 @@ public partial class LeftSideBar : Panel
private Button _buildButton = null!;
private Button _debugButton = null!;
private Button _ideDiagnosticsButton = null!;
private Button _nugetButton = null!;
public override void _Ready()
{
@@ -21,12 +22,14 @@ public partial class LeftSideBar : Panel
_buildButton = GetNode<Button>("%BuildButton");
_debugButton = GetNode<Button>("%DebugButton");
_ideDiagnosticsButton = GetNode<Button>("%IdeDiagnosticsButton");
_nugetButton = GetNode<Button>("%NugetButton");
_problemsButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.Problems : null);
_runButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.Run : null);
_buildButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.Build : null);
_debugButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.Debug : null);
_ideDiagnosticsButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.IdeDiagnostics : null);
_nugetButton.Toggled += toggledOn => GodotGlobalEvents.Instance.BottomPanelTabSelected.InvokeParallelFireAndForget(toggledOn ? BottomPanelType.Nuget : null);
GodotGlobalEvents.Instance.BottomPanelTabExternallySelected.Subscribe(OnBottomPanelTabExternallySelected);
}
@@ -41,6 +44,7 @@ public partial class LeftSideBar : Panel
case BottomPanelType.Build: _buildButton.ButtonPressed = true; break;
case BottomPanelType.Problems: _problemsButton.ButtonPressed = true; break;
case BottomPanelType.IdeDiagnostics: _ideDiagnosticsButton.ButtonPressed = true; break;
case BottomPanelType.Nuget: _nugetButton.ButtonPressed = true; break;
default: throw new ArgumentOutOfRangeException(nameof(arg), arg, null);
}
});

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://biyhfwx36ium8"]
[gd_scene load_steps=12 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"]
@@ -10,6 +10,7 @@
[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"]
[ext_resource type="Texture2D" uid="uid://b5ih61vdjv5e6" path="res://Features/LeftSideBar/Resources/Nuget.svg" id="11_csqeq"]
[node name="LeftSideBar" type="Panel"]
custom_minimum_size = Vector2(80, 0)
@@ -134,3 +135,19 @@ icon = ExtResource("9_6ih3m")
icon_alignment = 1
vertical_icon_alignment = 0
expand_icon = true
[node name="NugetButton" type="Button" parent="MarginContainer/VBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
focus_mode = 0
theme_override_font_sizes/font_size = 13
theme_override_styles/normal = ExtResource("4_umcfu")
theme_override_styles/pressed = ExtResource("5_csqeq")
toggle_mode = true
button_group = ExtResource("2_1aad6")
text = "NuGet"
icon = ExtResource("11_csqeq")
icon_alignment = 1
vertical_icon_alignment = 0
expand_icon = true

View File

@@ -60,7 +60,7 @@
id="Fill-12"
fill="#004880"
fill-rule="evenodd"
style="stroke-width:0.923105" />
style="stroke-width:0.923105;fill:#c0c0c0;fill-opacity:1" />
<mask
id="mask-2"
fill="#ffffff">
@@ -78,7 +78,8 @@
fill="#004880"
fill-rule="evenodd"
mask="url(#mask-2)"
transform="matrix(0.92310506,0,0,0.92310506,5.2647815,5.3992344)" />
transform="matrix(0.92310506,0,0,0.92310506,5.2647815,5.3992344)"
style="fill:#c0c0c0;fill-opacity:1" />
</g>
</g>
</g>

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -38,6 +38,6 @@ process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
svg/scale=0.1
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1,7 @@
using Godot;
namespace SharpIDE.Godot.Features.Nuget;
public partial class NugetPanel : Control
{
}

View File

@@ -0,0 +1 @@
uid://du4v3dyf0y3d8

View File

@@ -0,0 +1,35 @@
[gd_scene load_steps=2 format=3 uid="uid://duyxg107nfh2f"]
[ext_resource type="Script" uid="uid://du4v3dyf0y3d8" path="res://Features/Nuget/NugetPanel.cs" id="1_t4nyu"]
[node name="NugetPanel" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_t4nyu")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 0
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 10
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 5
theme_override_constants/margin_bottom = 5
[node name="Label" type="Label" parent="VBoxContainer/MarginContainer"]
layout_mode = 2
text = "NuGet"
[node name="HSeparator" type="HSeparator" parent="VBoxContainer"]
layout_mode = 2

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=20 format=3 uid="uid://b2oniigcp5ew5"]
[gd_scene load_steps=21 format=3 uid="uid://b2oniigcp5ew5"]
[ext_resource type="FontFile" uid="uid://38igu11xwba6" path="res://Inter-VariableFont.ttf" id="1_7ptyn"]
[ext_resource type="Script" uid="uid://bavypuy7b375x" path="res://IdeRoot.cs" id="1_whawi"]
@@ -16,6 +16,7 @@
[ext_resource type="PackedScene" uid="uid://8lk0qj233a7p" path="res://Features/Search/SearchInFiles/SearchWindow.tscn" id="13_7ptyn"]
[ext_resource type="PackedScene" uid="uid://b0tjuqq3bca5e" path="res://Features/IdeDiagnostics/IdeDiagnosticsPanel.tscn" id="13_woo5i"]
[ext_resource type="PackedScene" uid="uid://b8kytk23cfo4x" path="res://Features/Search/SearchAllFiles/SearchAllFilesWindow.tscn" id="15_gh8b1"]
[ext_resource type="PackedScene" uid="uid://duyxg107nfh2f" path="res://Features/Nuget/NugetPanel.tscn" id="15_lv3f5"]
[sub_resource type="Theme" id="Theme_s2dv6"]
default_font = ExtResource("1_7ptyn")
@@ -184,6 +185,11 @@ unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="NugetPanel" parent="VBoxContainer/HBoxContainer/InvertedVSplitContainer/BottomPanel" instance=ExtResource("15_lv3f5")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="SearchWindow" parent="." instance=ExtResource("13_7ptyn")]
unique_name_in_owner = true
visible = false