Forge
csharpdeeb25a2
1namespace CascadeIDE.Features.UiChrome;
2
3/// <summary>
4/// Глобальные метрики хрома, подгружаемые из <c>UiModes/workspace.toml</c> (ADR 0010); по умолчанию — <see cref="UiWorkspaceLayoutDimensions"/>.
5/// </summary>
6public static class UiWorkspaceLayoutRuntimeMetrics
7{
8 public static int PfdRegionDefaultWidthPixels { get; private set; } =
9 UiWorkspaceLayoutDimensions.PfdRegionDefaultWidthPixels;
10
11 public static double MainGridColumnSplitterWidthPixels { get; private set; } =
12 UiWorkspaceLayoutDimensions.MainGridColumnSplitterWidthPixels;
13
14 public static int BottomPanelMinRowPixels { get; private set; } =
15 UiWorkspaceLayoutDimensions.BottomPanelMinRowPixels;
16
17 public static int MfdRegionCollapsedWidthPixels { get; private set; } =
18 UiWorkspaceLayoutDimensions.MfdRegionCollapsedWidthPixels;
19
20 public static int MfdRegionExpandedDefaultWidthPixels { get; private set; } =
21 UiWorkspaceLayoutDimensions.MfdRegionExpandedDefaultWidthPixels;
22
23 public static int MfdRegionExpandedPowerWidthPixels { get; private set; } =
24 UiWorkspaceLayoutDimensions.MfdRegionExpandedPowerWidthPixels;
25
26 public static int MfdRegionExpandedAgentChatWidthPixels { get; private set; } =
27 UiWorkspaceLayoutDimensions.MfdRegionExpandedAgentChatWidthPixels;
28
29 internal static void ResetToCodeDefaults()
30 {
31 PfdRegionDefaultWidthPixels = UiWorkspaceLayoutDimensions.PfdRegionDefaultWidthPixels;
32 MainGridColumnSplitterWidthPixels = UiWorkspaceLayoutDimensions.MainGridColumnSplitterWidthPixels;
33 BottomPanelMinRowPixels = UiWorkspaceLayoutDimensions.BottomPanelMinRowPixels;
34 MfdRegionCollapsedWidthPixels = UiWorkspaceLayoutDimensions.MfdRegionCollapsedWidthPixels;
35 MfdRegionExpandedDefaultWidthPixels = UiWorkspaceLayoutDimensions.MfdRegionExpandedDefaultWidthPixels;
36 MfdRegionExpandedPowerWidthPixels = UiWorkspaceLayoutDimensions.MfdRegionExpandedPowerWidthPixels;
37 MfdRegionExpandedAgentChatWidthPixels = UiWorkspaceLayoutDimensions.MfdRegionExpandedAgentChatWidthPixels;
38 }
39
40 internal static void ApplyWorkspaceToml(Features.Workspace.RepositoryWorkspaceToml? w)
41 {
42 ResetToCodeDefaults();
43 if (w is null)
44 return;
45 var c = w.Chrome;
46 if (c is null)
47 return;
48 if (c.PfdRegionDefaultWidthPixels is { } se)
49 PfdRegionDefaultWidthPixels = se;
50 if (c.MainGridColumnSplitterWidthPixels is { } sp)
51 MainGridColumnSplitterWidthPixels = sp;
52 if (c.BottomPanelMinRowPixels is { } bp)
53 BottomPanelMinRowPixels = bp;
54 if (c.MfdRegionCollapsedWidthPixels is { } cc)
55 MfdRegionCollapsedWidthPixels = cc;
56 if (c.MfdRegionExpandedDefaultWidthPixels is { } cd)
57 MfdRegionExpandedDefaultWidthPixels = cd;
58 if (c.MfdRegionExpandedPowerWidthPixels is { } cp)
59 MfdRegionExpandedPowerWidthPixels = cp;
60 if (c.MfdRegionExpandedAgentChatWidthPixels is { } ca)
61 MfdRegionExpandedAgentChatWidthPixels = ca;
62 }
63}
64
View only · write via MCP/CIDE