| 1 | <UserControl xmlns="https://github.com/avaloniaui" |
| 2 | xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| 3 | xmlns:vm="using:CascadeIDE.ViewModels" |
| 4 | xmlns:chrome="using:CascadeIDE.Features.UiChrome" |
| 5 | xmlns:dock="clr-namespace:Dock.Avalonia.Controls;assembly=Dock.Avalonia" |
| 6 | x:Class="CascadeIDE.Views.DocumentsDockView" |
| 7 | Classes.power="{Binding UiModeFamily, Converter={StaticResource UiModeFamilyEq}, ConverterParameter=Power}" |
| 8 | x:DataType="vm:MainWindowViewModel"> |
| 9 | <UserControl.Styles> |
| 10 | <Style Selector="UserControl"> |
| 11 | <Setter Property="Margin" Value="0"/> |
| 12 | </Style> |
| 13 | <Style Selector="UserControl.power"> |
| 14 | <Setter Property="Margin" Value="8,6,8,6"/> |
| 15 | </Style> |
| 16 | <Style Selector="Border#DockIslandInner"> |
| 17 | <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.WorkspacePanelBorderBrush}"/> |
| 18 | <Setter Property="BorderThickness" Value="1"/> |
| 19 | <Setter Property="CornerRadius" Value="4"/> |
| 20 | <Setter Property="Background" Value="{DynamicResource CascadeTheme.MainWindowBackground}"/> |
| 21 | <Setter Property="Margin" Value="0"/> |
| 22 | <Setter Property="Padding" Value="4"/> |
| 23 | </Style> |
| 24 | <Style Selector="Border#DockIslandInner.power"> |
| 25 | <Setter Property="BorderThickness" Value="0"/> |
| 26 | <Setter Property="CornerRadius" Value="12"/> |
| 27 | <Setter Property="Margin" Value="2"/> |
| 28 | <Setter Property="BoxShadow" Value="0 0 24 0 #5500C8E8, 0 4 20 0 #28000000"/> |
| 29 | </Style> |
| 30 | </UserControl.Styles> |
| 31 | <Panel> |
| 32 | <Border IsVisible="{Binding UiModeFamily, Converter={StaticResource UiModeFamilyEq}, ConverterParameter=Power}" |
| 33 | IsHitTestVisible="False" |
| 34 | Background="{DynamicResource CascadeTheme.PowerEditorIslandFrameBrush}" |
| 35 | CornerRadius="14"/> |
| 36 | <Border x:Name="DockIslandInner" |
| 37 | ZIndex="1" |
| 38 | Classes.power="{Binding UiModeFamily, Converter={StaticResource UiModeFamilyEq}, ConverterParameter=Power}"> |
| 39 | <Grid> |
| 40 | <Grid.RowDefinitions> |
| 41 | <RowDefinition Height="Auto"/> |
| 42 | <RowDefinition Height="*"/> |
| 43 | </Grid.RowDefinitions> |
| 44 | <!-- ADR 0021 §9: HUD — баннер над редактором (CF-узлы — в virtual spacing lane, ADR 0152). --> |
| 45 | <chrome:AttentionZoneContainer Zone="Hud" Grid.Row="0" |
| 46 | IsVisible="{Binding IsEditorHudChromeVisible}"> |
| 47 | <Border Background="{DynamicResource CascadeTheme.HudBannerBackground}" |
| 48 | BorderBrush="{DynamicResource CascadeTheme.HudBannerBorderBrush}" |
| 49 | BorderThickness="0,0,0,1" |
| 50 | Padding="10,6" |
| 51 | CornerRadius="6,6,0,0"> |
| 52 | <TextBlock Text="{Binding EditorHudBannerText}" |
| 53 | IsVisible="{Binding IsEditorHudBannerVisible}" |
| 54 | TextTrimming="CharacterEllipsis" |
| 55 | Foreground="{DynamicResource CascadeTheme.HudBannerForeground}" |
| 56 | Opacity="0.95" |
| 57 | FontSize="11.5" |
| 58 | LineHeight="16"/> |
| 59 | </Border> |
| 60 | </chrome:AttentionZoneContainer> |
| 61 | <!-- CascadeChord: полоска ввода — TaskCockpitView (видна без открытого документа). --> |
| 62 | <dock:DockControl x:Name="DocumentsDock" |
| 63 | Grid.Row="1" |
| 64 | DefaultContext="{Binding}" |
| 65 | Factory="{Binding Documents.DockFactory}" |
| 66 | Layout="{Binding Documents.DockLayout}" |
| 67 | InitializeFactory="True" |
| 68 | InitializeLayout="True"/> |
| 69 | </Grid> |
| 70 | </Border> |
| 71 | </Panel> |
| 72 | </UserControl> |
| 73 | |