|
190 | 190 | </Border> |
191 | 191 |
|
192 | 192 | <!-- Statements Panel + Plan Canvas + Properties Panel --> |
193 | | - <Grid Grid.Row="2"> |
| 193 | + <Grid x:Name="PlanGrid" Grid.Row="2"> |
194 | 194 | <Grid.ColumnDefinitions> |
195 | 195 | <!-- Col 0: Statements Panel (hidden by default) --> |
196 | 196 | <ColumnDefinition Width="0"/> |
|
255 | 255 | Background="{DynamicResource BorderBrush}" |
256 | 256 | IsVisible="False"/> |
257 | 257 |
|
258 | | - <!-- Plan Canvas --> |
259 | | - <ScrollViewer Grid.Column="2" x:Name="PlanScrollViewer" |
260 | | - HorizontalScrollBarVisibility="Auto" |
261 | | - VerticalScrollBarVisibility="Auto" |
262 | | - HorizontalContentAlignment="Left" |
263 | | - VerticalContentAlignment="Top" |
264 | | - Background="{DynamicResource BackgroundBrush}"> |
265 | | - <LayoutTransformControl x:Name="PlanLayoutTransform" |
266 | | - HorizontalAlignment="Left" VerticalAlignment="Top"> |
267 | | - <LayoutTransformControl.LayoutTransform> |
268 | | - <ScaleTransform ScaleX="1" ScaleY="1"/> |
269 | | - </LayoutTransformControl.LayoutTransform> |
270 | | - <Canvas x:Name="PlanCanvas" ClipToBounds="False"/> |
271 | | - </LayoutTransformControl> |
272 | | - </ScrollViewer> |
| 258 | + <!-- Plan Canvas + Minimap overlay --> |
| 259 | + <Grid Grid.Column="2"> |
| 260 | + <ScrollViewer x:Name="PlanScrollViewer" |
| 261 | + HorizontalScrollBarVisibility="Auto" |
| 262 | + VerticalScrollBarVisibility="Auto" |
| 263 | + HorizontalContentAlignment="Left" |
| 264 | + VerticalContentAlignment="Top" |
| 265 | + Background="{DynamicResource BackgroundBrush}"> |
| 266 | + <LayoutTransformControl x:Name="PlanLayoutTransform" |
| 267 | + HorizontalAlignment="Left" VerticalAlignment="Top"> |
| 268 | + <LayoutTransformControl.LayoutTransform> |
| 269 | + <ScaleTransform ScaleX="1" ScaleY="1"/> |
| 270 | + </LayoutTransformControl.LayoutTransform> |
| 271 | + <Canvas x:Name="PlanCanvas" ClipToBounds="False"/> |
| 272 | + </LayoutTransformControl> |
| 273 | + </ScrollViewer> |
| 274 | + |
| 275 | + <!-- Minimap toggle button (top-left, always visible) --> |
| 276 | + <Button x:Name="MinimapToggleButton" Content="minimap" |
| 277 | + Click="MinimapToggle_Click" |
| 278 | + HorizontalAlignment="Left" VerticalAlignment="Top" |
| 279 | + Margin="4,4,0,0" Padding="4,1" FontSize="9" |
| 280 | + Height="18" MinWidth="0" MinHeight="0" |
| 281 | + Opacity="0.8" ZIndex="10" |
| 282 | + Theme="{StaticResource AppButton}" |
| 283 | + ToolTip.Tip="Show/hide minimap"/> |
| 284 | + |
| 285 | + <!-- Minimap panel --> |
| 286 | + <Border x:Name="MinimapPanel" IsVisible="False" |
| 287 | + HorizontalAlignment="Left" VerticalAlignment="Top" |
| 288 | + Margin="4,26,0,0" ZIndex="10" |
| 289 | + Width="400" Height="400" |
| 290 | + Background="{DynamicResource BackgroundBrush}" |
| 291 | + BorderBrush="{DynamicResource BorderBrush}" BorderThickness="5" |
| 292 | + CornerRadius="4" ClipToBounds="True"> |
| 293 | + <Grid> |
| 294 | + <Grid.RowDefinitions> |
| 295 | + <RowDefinition Height="Auto"/> |
| 296 | + <RowDefinition Height="*"/> |
| 297 | + </Grid.RowDefinitions> |
| 298 | + <!-- Minimap header with close button --> |
| 299 | + <DockPanel Grid.Row="0" Background="{DynamicResource BackgroundBrush}"> |
| 300 | + <Button DockPanel.Dock="Right" Content="✕" Click="MinimapClose_Click" |
| 301 | + Width="18" Height="18" Padding="0" FontSize="10" |
| 302 | + VerticalAlignment="Center" Margin="0,0,2,0" |
| 303 | + Theme="{StaticResource AppButton}" ToolTip.Tip="Close minimap"/> |
| 304 | + <TextBlock Text="Minimap" FontSize="10" VerticalAlignment="Center" |
| 305 | + Margin="4,1,0,1" |
| 306 | + Foreground="{DynamicResource ForegroundBrush}"/> |
| 307 | + </DockPanel> |
| 308 | + <!-- Minimap canvas --> |
| 309 | + <Canvas x:Name="MinimapCanvas" Grid.Row="1" ClipToBounds="True" |
| 310 | + Background="{DynamicResource BackgroundBrush}"/> |
| 311 | + <!-- Resize grip (bottom-right corner) --> |
| 312 | + <Border x:Name="MinimapResizeGrip" Grid.Row="1" |
| 313 | + Width="14" Height="14" |
| 314 | + HorizontalAlignment="Right" VerticalAlignment="Bottom" |
| 315 | + Background="Transparent" |
| 316 | + Cursor="BottomRightCorner"> |
| 317 | + <Canvas Width="10" Height="10" Margin="1,1,3,3"> |
| 318 | + <Line StartPoint="6,10" EndPoint="10,6" |
| 319 | + Stroke="{DynamicResource ForegroundBrush}" StrokeThickness="1" Opacity="0.5"/> |
| 320 | + <Line StartPoint="3,10" EndPoint="10,3" |
| 321 | + Stroke="{DynamicResource ForegroundBrush}" StrokeThickness="1" Opacity="0.5"/> |
| 322 | + <Line StartPoint="0,10" EndPoint="10,0" |
| 323 | + Stroke="{DynamicResource ForegroundBrush}" StrokeThickness="1" Opacity="0.5"/> |
| 324 | + </Canvas> |
| 325 | + </Border> |
| 326 | + </Grid> |
| 327 | + </Border> |
| 328 | + </Grid> |
273 | 329 |
|
274 | 330 | <!-- Empty State --> |
275 | 331 | <StackPanel x:Name="EmptyState" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Center"> |
|
0 commit comments