project stopped
This commit is contained in:
@@ -103,6 +103,8 @@ public class RunService
|
|||||||
project.RunningCancellationTokenSource = null;
|
project.RunningCancellationTokenSource = null;
|
||||||
project.Running = false;
|
project.Running = false;
|
||||||
GlobalEvents.InvokeProjectsRunningChanged();
|
GlobalEvents.InvokeProjectsRunningChanged();
|
||||||
|
GlobalEvents.InvokeProjectStoppedRunning(project);
|
||||||
|
project.InvokeProjectStoppedRunning();
|
||||||
|
|
||||||
Console.WriteLine("Project finished running");
|
Console.WriteLine("Project finished running");
|
||||||
}
|
}
|
||||||
@@ -119,7 +121,6 @@ public class RunService
|
|||||||
if (project.RunningCancellationTokenSource is null) throw new InvalidOperationException($"Project {project.Name} does not have a running cancellation token source.");
|
if (project.RunningCancellationTokenSource is null) throw new InvalidOperationException($"Project {project.Name} does not have a running cancellation token source.");
|
||||||
|
|
||||||
await project.RunningCancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
await project.RunningCancellationTokenSource.CancelAsync().ConfigureAwait(false);
|
||||||
GlobalEvents.InvokeProjectStoppedRunning(project);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetRunArguments(SharpIdeProjectModel project)
|
private string GetRunArguments(SharpIdeProjectModel project)
|
||||||
|
|||||||
@@ -99,6 +99,10 @@ public class SharpIdeProjectModel : ISharpIdeNode, IExpandableSharpIdeNode, IChi
|
|||||||
public string BlazorDevServerVersion => MsBuildEvaluationProject.Items.Single(s => s.ItemType is "PackageReference" && s.EvaluatedInclude is "Microsoft.AspNetCore.Components.WebAssembly.DevServer").GetMetadataValue("Version");
|
public string BlazorDevServerVersion => MsBuildEvaluationProject.Items.Single(s => s.ItemType is "PackageReference" && s.EvaluatedInclude is "Microsoft.AspNetCore.Components.WebAssembly.DevServer").GetMetadataValue("Version");
|
||||||
public bool OpenInRunPanel { get; set; }
|
public bool OpenInRunPanel { get; set; }
|
||||||
public Channel<byte[]>? RunningOutputChannel { get; set; }
|
public Channel<byte[]>? RunningOutputChannel { get; set; }
|
||||||
|
|
||||||
public event Func<Task> ProjectStartedRunning = () => Task.CompletedTask;
|
public event Func<Task> ProjectStartedRunning = () => Task.CompletedTask;
|
||||||
public void InvokeProjectStartedRunning() => ProjectStartedRunning?.Invoke();
|
public void InvokeProjectStartedRunning() => ProjectStartedRunning.Invoke();
|
||||||
|
|
||||||
|
public event Func<Task> ProjectStoppedRunning = () => Task.CompletedTask;
|
||||||
|
public void InvokeProjectStoppedRunning() => ProjectStoppedRunning.Invoke();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,16 @@ public partial class RunMenuItem : HBoxContainer
|
|||||||
_stopButton = GetNode<Button>("StopButton");
|
_stopButton = GetNode<Button>("StopButton");
|
||||||
_stopButton.Pressed += OnStopButtonPressed;
|
_stopButton.Pressed += OnStopButtonPressed;
|
||||||
Project.ProjectStartedRunning += OnProjectStartedRunning;
|
Project.ProjectStartedRunning += OnProjectStartedRunning;
|
||||||
|
Project.ProjectStoppedRunning += OnProjectStoppedRunning;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task OnProjectStoppedRunning()
|
||||||
|
{
|
||||||
|
await this.InvokeAsync(() =>
|
||||||
|
{
|
||||||
|
_stopButton.Visible = false;
|
||||||
|
_runButton.Visible = true;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task OnProjectStartedRunning()
|
private async Task OnProjectStartedRunning()
|
||||||
@@ -33,8 +43,6 @@ public partial class RunMenuItem : HBoxContainer
|
|||||||
private async void OnStopButtonPressed()
|
private async void OnStopButtonPressed()
|
||||||
{
|
{
|
||||||
await Singletons.RunService.CancelRunningProject(Project);
|
await Singletons.RunService.CancelRunningProject(Project);
|
||||||
_stopButton.Visible = false;
|
|
||||||
_runButton.Visible = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void OnRunButtonPressed()
|
private async void OnRunButtonPressed()
|
||||||
|
|||||||
Reference in New Issue
Block a user