From 197567d6614815b6f6baed3587a072eabfd072b6 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Sun, 10 Aug 2025 00:30:29 +1000 Subject: [PATCH] select tab on project run --- .../Components/RunOutputDisplay.razor | 4 ++++ src/SharpIDE.Photino/Components/RunPanel.razor | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/SharpIDE.Photino/Components/RunOutputDisplay.razor b/src/SharpIDE.Photino/Components/RunOutputDisplay.razor index a06872e..bf3092a 100644 --- a/src/SharpIDE.Photino/Components/RunOutputDisplay.razor +++ b/src/SharpIDE.Photino/Components/RunOutputDisplay.razor @@ -10,6 +10,9 @@ [Parameter, EditorRequired] public SharpIdeProjectModel Project { get; set; } = null!; + [Parameter] + public EventCallback OnProjectStarted { get; set; } + private TerminalDisplay _terminalDisplayRef = null!; protected override async Task OnInitializedAsync() @@ -24,6 +27,7 @@ Guard.Against.Null(Project); Guard.Against.Null(Project.RunningOutputChannel, nameof(Project.RunningOutputChannel)); if (_terminalDisplayRef is not null) await _terminalDisplayRef.Clear(); + await InvokeAsync(async () => await OnProjectStarted.InvokeAsync(Project)); _ = Task.Run(async () => { try diff --git a/src/SharpIDE.Photino/Components/RunPanel.razor b/src/SharpIDE.Photino/Components/RunPanel.razor index 5d9d48f..8991b9b 100644 --- a/src/SharpIDE.Photino/Components/RunPanel.razor +++ b/src/SharpIDE.Photino/Components/RunPanel.razor @@ -16,12 +16,12 @@ } @* Run *@ - + @foreach (var tab in OpenTabs) { - + } @@ -46,6 +46,8 @@ [Parameter, EditorRequired] public SharpIdeSolutionModel SolutionModel { get; set; } = null!; + private MudTabs _mudTabsRef; + private IEnumerable OpenTabs => SolutionModel.AllProjects.Where(s => s.OpenInRunPanel); protected override async Task OnInitializedAsync() @@ -66,4 +68,9 @@ } public void Dispose() => GlobalEvents.ProjectsRunningChanged -= OnProjectsRunningChanged; + + private void SetActiveTab(SharpIdeProjectModel project) + { + _mudTabsRef.ActivatePanel(project); + } }