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); + } }