Forge
csharp4405de34
1using CascadeIDE.Contracts;
2using CascadeIDE.Features.UiChrome;
3
4namespace CascadeIDE.Features.Shell.Application;
5
6/// <summary>
7/// Видимость и составные флаги из <see cref="UiModeCapabilities"/> (UI cluster Presentation — без формул режима на главном VM).
8/// </summary>
9[PresentationProjection]
10public static class MainWindowPresentationCapabilitiesProjection
11{
12 public static bool ShowIdeHealthStrip(UiModeCapabilities c) =>
13 c.IdeHealthStripVisible && c.IdeHealthSurface == IdeHealthUiSurface.BottomStrip;
14
15 public static bool IdeHealthOnTerminalTab(UiModeCapabilities c, bool showIdeHealthStrip) =>
16 c.IdeHealthOnTerminalTab && !showIdeHealthStrip;
17
18 public static bool ShowIdeHealthMfdPage(UiModeCapabilities c) =>
19 c.IdeHealthStripVisible && c.IdeHealthSurface == IdeHealthUiSurface.DedicatedPage;
20
21 public static bool ShowEicasAlertsBar(UiModeCapabilities c, int eicasMessageCount) =>
22 c.EicasAlertsBarEnabled && eicasMessageCount > 0;
23
24 public static bool ShowWorkspaceChromeBand(bool showIdeHealthStrip, bool showEicasAlertsBar) =>
25 showIdeHealthStrip || showEicasAlertsBar;
26
27 public static bool ShowWorkspaceBottomChrome(
28 bool showIdeHealthStrip,
29 bool showEicasAlertsBar,
30 bool isMfdContourContentVisible) =>
31 showIdeHealthStrip || showEicasAlertsBar || isMfdContourContentVisible;
32
33 public static bool InstrumentationTabs(bool isInstrumentationDockVisible, UiModeCapabilities c) =>
34 isInstrumentationDockVisible && c.InstrumentationTabs;
35
36 public static bool HypothesesTab(bool isInstrumentationDockVisible, UiModeCapabilities c) =>
37 isInstrumentationDockVisible && c.InstrumentationTabs && c.HypothesesTab;
38
39 public static bool IsRiskCardVisible(UiModeCapabilities c, bool isRiskSummaryVisible) =>
40 c.RiskSummaryCard && isRiskSummaryVisible;
41
42 public static bool IsResultCardVisible(UiModeCapabilities c, bool isResultSummaryVisible) =>
43 c.ResultSummaryCard && isResultSummaryVisible;
44
45 public static bool IsSkiaZoneGeometryOverlayPfdVisible(bool zoneGeometryOverlay, bool isPfdColumnVisible) =>
46 zoneGeometryOverlay && isPfdColumnVisible;
47
48 public static bool IsSkiaZoneGeometryOverlayForwardVisible(bool zoneGeometryOverlay) =>
49 zoneGeometryOverlay;
50
51 public static bool IsSkiaZoneGeometryOverlayMfdVisible(bool zoneGeometryOverlay, bool isMfdColumnVisible) =>
52 zoneGeometryOverlay && isMfdColumnVisible;
53
54 public static bool IsSafetyLevel(string? safetyLevel, string expected) =>
55 string.Equals(safetyLevel, expected, StringComparison.OrdinalIgnoreCase);
56
57 public static string LocBadgeSummary(int locBadge, string locTierLabel) =>
58 locBadge <= 0 ? "" : $"LOC: {locBadge} · {locTierLabel}";
59}
60
View only · write via MCP/CIDE