Forge
csharpdeeb25a2
1using CascadeIDE.Cockpit.Cds;
2using CascadeIDE.Contracts;
3
4namespace CascadeIDE.Features.Shell.Application;
5
6/// <summary>
7/// Определяет активную топологию зон внимания по флагам презентации и хостов PFD/MFD (ADR 0017, 0021).
8/// </summary>
9[ComputingUnit]
10public static class AttentionLayoutSurfaceResolver
11{
12 public static AttentionLayoutSurfaceKind Resolve(
13 bool suppressPfdColumnForPfdHostWindow,
14 bool suppressMfdColumnForMfdHostWindow,
15 bool presentationRequestsPfdHostWindow,
16 bool presentationMfdHostTopology)
17 {
18 if (suppressPfdColumnForPfdHostWindow
19 && suppressMfdColumnForMfdHostWindow
20 && presentationRequestsPfdHostWindow)
21 return AttentionLayoutSurfaceKind.MainWindowPlusPfdMfdHostTopLevel;
22 if (suppressPfdColumnForPfdHostWindow && presentationRequestsPfdHostWindow)
23 return AttentionLayoutSurfaceKind.MainWindowPlusPfdHostTopLevel;
24 if (suppressMfdColumnForMfdHostWindow && presentationMfdHostTopology)
25 return AttentionLayoutSurfaceKind.MainWindowPlusMfdHostTopLevel;
26 return AttentionLayoutSurfaceKind.MainWindowDockedGrid;
27 }
28}
29
View only · write via MCP/CIDE