143 references to PanelTargetKind
aspire-tray (143)
NativeSmokeHarness.cs (17)
165_application.PickRowActionForSmoke(id, PanelTargetKind.CopyPath); 170_application.ClickPanelForSmoke(PanelTargetKind.Dashboard, _hosts[0].Id); 172_application.ClickPanelForSmoke(PanelTargetKind.Documentation); 176_application.PickRowActionForSmoke(_hosts[0].Id, PanelTargetKind.TogglePin); 179_application.ClickPanelForSmoke(PanelTargetKind.Stop, _hosts[0].Id); 201_application.PressPanelForSmoke(PanelTargetKind.Stop, _hosts[2].Id); 204_application.ClickPanelForSmoke(PanelTargetKind.Start, missing.Id); 206_application.ClickPanelForSmoke(PanelTargetKind.ConfirmCancel, missing.Id); 208_application.ClickPanelForSmoke(PanelTargetKind.Start, missing.Id); 209_application.ClickPanelForSmoke(PanelTargetKind.ConfirmAccept, missing.Id); 212_application.ClickPanelForSmoke(PanelTargetKind.Start, pinned.Id); 223_application.ClickPanelForSmoke(PanelTargetKind.ClearRecent); 225_application.ClickPanelForSmoke(PanelTargetKind.ConfirmCancel); 227_application.ClickPanelForSmoke(PanelTargetKind.ClearRecent); 228_application.ClickPanelForSmoke(PanelTargetKind.ConfirmAccept); 273_application.ClickPanelForSmoke(PanelTargetKind.Dashboard, state.AppHosts.Single(host => host.IsRunning).Id); 350Require(_application.PanelForSmoke.Scene.Accessibility.Single(element => element.Target?.Kind == PanelTargetKind.LaunchAtSignIn)
src\Aspire.Tray\Common\TrayPanel.cs (101)
232_focus = new(PanelTargetKind.Back, PanelSection.None, null); 428_focus = new(PanelTargetKind.OpenInMenu, open.Section, open.Host); 465private static bool IsPrimary(PanelTargetKind kind) 466=> kind is PanelTargetKind.Row or PanelTargetKind.ToggleRecent or PanelTargetKind.Documentation 467or PanelTargetKind.Settings or PanelTargetKind.Quit or PanelTargetKind.ConfirmCancel or PanelTargetKind.Back 468or PanelTargetKind.LaunchAtSignIn || IsActionItem(kind); 470private static bool IsConfirmTarget(PanelTargetKind kind) 471=> kind is PanelTargetKind.ConfirmCancel or PanelTargetKind.ConfirmAccept; 474private static bool IsActionItem(PanelTargetKind kind) 475=> kind is PanelTargetKind.OpenInMenu or PanelTargetKind.OpenIn or PanelTargetKind.ShowInFolder or PanelTargetKind.CopyPath 476or PanelTargetKind.TogglePin or PanelTargetKind.RemoveRecent; 508var top = Scene.Targets.FirstOrDefault(target => target.Key == row with { Kind = PanelTargetKind.Row, Item = 0 })?.Bounds.Y ?? bottom; 528_focus = new(PanelTargetKind.More, actions.Section, actions.Host); 538_focus = new(PanelTargetKind.ConfirmCancel, confirm.Section, confirm.Host?.Id); 570PanelConfirmKind.ClearRecent => new(PanelTargetKind.ClearRecent, confirm.Section, null), 571_ => new(PanelTargetKind.Start, confirm.Section, confirm.Host?.Id) 580_focus = new(PanelTargetKind.Settings, PanelSection.None, null); 605index = order.FindIndex(target => target.Kind == PanelTargetKind.Row && target.Key.Host == current.Host 661if (_actions is not null && target.Kind is not (PanelTargetKind.More or PanelTargetKind.Row) && !IsActionItem(target.Kind)) 671case PanelTargetKind.Row: 673case PanelTargetKind.Dashboard: 675case PanelTargetKind.More: 678case PanelTargetKind.Stop: 680case PanelTargetKind.Start: 682case PanelTargetKind.OpenInMenu: 688case PanelTargetKind.OpenIn: 695case PanelTargetKind.ShowInFolder: 698case PanelTargetKind.CopyPath: 701case PanelTargetKind.TogglePin: 704case PanelTargetKind.RemoveRecent: 707case PanelTargetKind.ToggleRecent: 711case PanelTargetKind.ClearRecent: 714case PanelTargetKind.ConfirmCancel: 717case PanelTargetKind.ConfirmAccept when _confirm is { } confirmed: 725case PanelTargetKind.Back: 726case PanelTargetKind.Settings when _settings is not null: 729case PanelTargetKind.LaunchAtSignIn: 731case PanelTargetKind.Documentation: 733case PanelTargetKind.Settings: 735case PanelTargetKind.Quit: 777void Add(ListItemKind kind, double height, PanelSection section, AppHostMenuItem? host, PanelTargetKind target = default) 818Add(ListItemKind.SectionHeader, SectionHeaderHeight, PanelSection.None, null, PanelTargetKind.LaunchAtSignIn); 819Add(ListItemKind.SettingsToggle, SettingsRowHeight, PanelSection.None, null, PanelTargetKind.LaunchAtSignIn); 820Add(ListItemKind.SectionHeader, SectionHeaderHeight, PanelSection.None, null, PanelTargetKind.Documentation); 881var general = item.Target == PanelTargetKind.LaunchAtSignIn; 1024Box(actions[i].Kind == PanelTargetKind.OpenIn 1027actions[i].Kind == PanelTargetKind.OpenIn ? "open-in app icon" : "action icon"); 1152var toggleKey = new PanelTargetKey(PanelTargetKind.ToggleRecent, section, null); 1163var clearKey = new PanelTargetKey(PanelTargetKind.ClearRecent, section, null); 1173var rowKey = new PanelTargetKey(PanelTargetKind.Row, section, host.Id); 1188? new[] { PanelTargetKind.Dashboard, PanelTargetKind.Stop, PanelTargetKind.More } 1189: [PanelTargetKind.Start, PanelTargetKind.More]; 1198foreach (var kind in buttons) 1205PanelTargetKind.Dashboard => (PanelIcon.ExternalLink, $"Open dashboard for {host.DisplayName}", "Open dashboard", host.CanOpenDashboard), 1206PanelTargetKind.Stop => (PanelIcon.Stop, $"Stop {host.DisplayName}", "Stop", host.CanStop), 1207PanelTargetKind.Start => (PanelIcon.Play, $"Start {host.DisplayName}", "Start", host.CanStart), 1218if (kind == PanelTargetKind.More && expanded && _hover != key && _pressed != key) 1257private List<(PanelTargetKind Kind, int Item, PanelIcon Icon, string Label, string Name)> GetRowActions(AppHostMenuItem host, PanelSection section) 1260var actions = new List<(PanelTargetKind, int, PanelIcon, string, string)>(); 1263actions.Add((PanelTargetKind.OpenInMenu, 0, PanelIcon.AppWindow, "Open in", 1268actions.Add((PanelTargetKind.OpenIn, i, PanelIcon.AppWindow, application, $"Open {name} in {application}")); 1271actions.Add((PanelTargetKind.ShowInFolder, 0, PanelIcon.Folder, $"Show in {_fileManagerName}", $"Show {name} in {_fileManagerName}")); 1272actions.Add((PanelTargetKind.CopyPath, 0, PanelIcon.Copy, "Copy path", $"Copy the folder path of {name}")); 1274? (PanelTargetKind.TogglePin, 0, PanelIcon.Unpin, "Unpin", $"Unpin {name}") 1275: (PanelTargetKind.TogglePin, 0, PanelIcon.Pin, "Pin", $"Pin {name}")); 1278actions.Add((PanelTargetKind.RemoveRecent, 0, PanelIcon.Remove, "Remove from recent", $"Remove {name} from recent AppHosts")); 1301if (kind == PanelTargetKind.OpenIn) 1316if (kind == PanelTargetKind.OpenInMenu) 1388var cancelKey = new PanelTargetKey(PanelTargetKind.ConfirmCancel, section, id); 1389var acceptKey = new PanelTargetKey(PanelTargetKind.ConfirmAccept, section, id); 1418var backKey = new PanelTargetKey(PanelTargetKind.Back, PanelSection.None, null); 1427private void AddSettingsToggle(List<PanelCommand> commands, List<PanelHitTarget> targets, PanelTargetKind kind, PanelSettings settings, 1482(PanelTargetKind.Settings, PanelIcon.Gear, _settings is null ? "Settings" : "Close settings", 1484(PanelTargetKind.Documentation, PanelIcon.Globe, "Open Aspire documentation", "Documentation", null, right - 2 * ButtonSize - ButtonGap), 1485(PanelTargetKind.Quit, PanelIcon.Power, _quitVerb, quitDescription, quitDescription, right - ButtonSize) 1490if (kind == PanelTargetKind.Settings && _settings is not null && _hover != key && _pressed != key) 1535private static bool IsChrome(PanelTargetKind kind) 1536=> kind is PanelTargetKind.Documentation or PanelTargetKind.Settings or PanelTargetKind.Quit or PanelTargetKind.Back; 1540&& value.Kind is PanelTargetKind.Row or PanelTargetKind.Dashboard or PanelTargetKind.Stop 1541or PanelTargetKind.Start or PanelTargetKind.More; 1630PanelTargetKind Target);
src\Aspire.Tray\Common\TrayPanelScene.cs (2)
165internal readonly record struct PanelTargetKey(PanelTargetKind Kind, PanelSection Section, AppHostId? Host, int Item = 0); 198public PanelTargetKind Kind => Key.Kind;
TrayApplication.NativeSmoke.cs (23)
93var first = panel.Scene.Targets.FirstOrDefault(target => target.Kind == PanelTargetKind.Row); 102ApplyPanelResponse(panel.Invoke(first.Key with { Kind = PanelTargetKind.More })); 204private PanelHitTarget FindPanelTargetForSmoke(PanelTargetKind kind, AppHostId? host, int item = 0) 210ClickPanelForSmoke(panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.ToggleRecent)); 225internal void ClickPanelForSmoke(PanelTargetKind kind, AppHostId? host = null, int item = 0) 240internal void PressPanelForSmoke(PanelTargetKind kind, AppHostId? host = null) 251internal void PickRowActionForSmoke(AppHostId host, PanelTargetKind kind, int item = 0) 253ClickPanelForSmoke(PanelTargetKind.More, host); 264PressPanelForSmoke(PanelTargetKind.More, host); 266var row = panel.Scene.Targets.Single(target => target.Kind == PanelTargetKind.Row && target.Key.Host == host); 280NativeSmokeHarness.Require(panel.Scene.Targets.Where(target => target.Kind == PanelTargetKind.OpenIn).Select(target => target.AccessibleName) 287NativeSmokeHarness.Require(panel.FocusedTarget == items[0].Key && !panel.Scene.Targets.Any(target => target.Kind == PanelTargetKind.OpenIn), 291NativeSmokeHarness.Require(panel.ActionsRow is null && _panelVisible && panel.FocusedTarget?.Kind == PanelTargetKind.More, 377ClickPanelForSmoke(PanelTargetKind.Settings); 384var toggle = panel.Scene.Accessibility.Single(element => element.Target?.Kind == PanelTargetKind.LaunchAtSignIn); 393ClickPanelForSmoke(PanelTargetKind.LaunchAtSignIn); 400ClickPanelForSmoke(PanelTargetKind.Back); 433var rows = panel.Scene.Targets.Where(target => target.Kind == PanelTargetKind.Row && target.Key.Section != PanelSection.Recent).ToList(); 440bool Enabled(PanelTargetKind kind) => panel.Scene.Targets.FirstOrDefault(target => target.Key == row.Key with { Kind = kind })?.Enabled == true; 442&& Enabled(PanelTargetKind.Dashboard) == host.CanOpenDashboard && Enabled(PanelTargetKind.Stop) == host.CanStop 443&& Enabled(PanelTargetKind.Start) == host.CanStart, "A panel row misrepresents its AppHost's actions."); 452NativeSmokeHarness.Require(panel.Scene.Accessibility.Single(element => element.Target?.Kind == PanelTargetKind.Quit) is