OutGridTree.Window/MainWindow.axaml.cs
+6
-0
diff --git a/OutGridTree.Window/MainWindow.axaml.cs b/OutGridTree.Window/MainWindow.axaml.cs
index 47a752b..93a5eef 100644
@@ -17,6 +17,7 @@ internal sealed partial class MainWindow : Avalonia.Controls.Window
public MainWindow(RpcService rpcService)
{
this.rpcService = rpcService;
rpcService.TitleReceived += OnTitleReceived;
rpcService.HeadersReceived += OnHeadersReceived;
rpcService.RecordReceived += OnRecordReceived;
@@ -25,6 +26,11 @@ internal sealed partial class MainWindow : Avalonia.Controls.Window
Table.ItemsSource = records;
}
private void OnTitleReceived(string title)
{
Dispatcher.Post(() => Title = title);
}
private void OnHeadersReceived(IEnumerable<string> headers)
{
Dispatcher.Post(() => SetPsObjectHeaders(headers));
OutGridTree.Window/RpcService.cs
+6
-1
diff --git a/OutGridTree.Window/RpcService.cs b/OutGridTree.Window/RpcService.cs
index 23f6b67..757d58d 100644
@@ -10,6 +10,7 @@ namespace OutGridTree.Window;
internal sealed class RpcService
{
public event Action<string>? TitleReceived;
public event Action<IEnumerable<string>>? HeadersReceived;
public event Action<object?>? RecordReceived;
@@ -39,7 +40,11 @@ internal sealed class RpcService
{
continue;
}
if (header is "HEADERS")
if (header is "TITLE")
{
TitleReceived?.Invoke(body);
}
else if (header is "HEADERS")
{
HeadersReceived?.Invoke(body.Split(','));
}
OutGridTree/OutGridTree.cs
+12
-0
diff --git a/OutGridTree/OutGridTree.cs b/OutGridTree/OutGridTree.cs
index f5a4c47..3b4ac67 100644
@@ -19,6 +19,9 @@ public sealed class OutGridTree : PSCmdlet
public string WindowExe { get; set; } = "";
[Parameter]
public string? Title { get; set; }
[Parameter]
public string[]? Headers { get; set; }
#nullable disable
@@ -47,6 +50,15 @@ public sealed class OutGridTree : PSCmdlet
writer = new(pipe);
if (MyInvocation.BoundParameters.ContainsKey(nameof(Title)) && Title is not null)
{
writer.WriteLine($"TITLE: {Title}");
}
else
{
writer.WriteLine($"TITLE: {MyInvocation.Line}");
}
if (MyInvocation.BoundParameters.ContainsKey(nameof(Headers)) && Headers is not null)
{
writer.WriteLine($"HEADERS: {string.Join(",", Headers)}");