395 lines
22 KiB
XML
395 lines
22 KiB
XML
<Window
|
|
x:Class = "Main.MainWindow"
|
|
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local = "clr-namespace:Main"
|
|
mc:Ignorable = "d"
|
|
Title = "Lab7Meow"
|
|
Height = "450"
|
|
Width = "800"
|
|
Loaded = "Window_Loaded"
|
|
>
|
|
<Window.Resources>
|
|
<SolidColorBrush x:Key="C_Rosewater" Color="#F5E0DC" />
|
|
<SolidColorBrush x:Key="C_Flamingo" Color="#F2CDCD" />
|
|
<SolidColorBrush x:Key="C_Pink" Color="#F5C2E7" />
|
|
<SolidColorBrush x:Key="C_Mauve" Color="#CBA6F7" />
|
|
<SolidColorBrush x:Key="C_Red" Color="#F38BA8" />
|
|
<SolidColorBrush x:Key="C_Maroon" Color="#EBA0AC" />
|
|
<SolidColorBrush x:Key="C_Peach" Color="#FAB387" />
|
|
<SolidColorBrush x:Key="C_Yellow" Color="#F9E2AF" />
|
|
<SolidColorBrush x:Key="C_Green" Color="#A6E3A1" />
|
|
<SolidColorBrush x:Key="C_Teal" Color="#94E2D5" />
|
|
<SolidColorBrush x:Key="C_Sky" Color="#89DCEB" />
|
|
<SolidColorBrush x:Key="C_Sapphire" Color="#74C7EC" />
|
|
<SolidColorBrush x:Key="C_Blue" Color="#89B4FA" />
|
|
<SolidColorBrush x:Key="C_Lavender" Color="#B4BEFE" />
|
|
<SolidColorBrush x:Key="C_Text" Color="#CDD6F4" />
|
|
<SolidColorBrush x:Key="C_Subtext1" Color="#BAC2DE" />
|
|
<SolidColorBrush x:Key="C_Subtext0" Color="#A6ADC8" />
|
|
<SolidColorBrush x:Key="C_Overlay2" Color="#9399B2" />
|
|
<SolidColorBrush x:Key="C_Overlay1" Color="#7F849C" />
|
|
<SolidColorBrush x:Key="C_Overlay0" Color="#6C7086" />
|
|
<SolidColorBrush x:Key="C_Surface2" Color="#585B70" />
|
|
<SolidColorBrush x:Key="C_Surface1" Color="#45475A" />
|
|
<SolidColorBrush x:Key="C_Surface0" Color="#313244" />
|
|
<SolidColorBrush x:Key="C_Base" Color="#1E1E2E" />
|
|
<SolidColorBrush x:Key="C_Mantle" Color="#181825" />
|
|
<SolidColorBrush x:Key="C_Crust" Color="#11111B" />
|
|
<SolidColorBrush x:Key="BgBrush" Color="#1E1E2E" />
|
|
<SolidColorBrush x:Key="CardBrush" Color="#313244" />
|
|
<SolidColorBrush x:Key="CardBrush2" Color="#45475A" />
|
|
<SolidColorBrush x:Key="BorderBrushSoft" Color="#585B70" />
|
|
<SolidColorBrush x:Key="TextBrushMain" Color="#CDD6F4" />
|
|
<SolidColorBrush x:Key="TextBrushHint" Color="#A6ADC8" />
|
|
<SolidColorBrush x:Key="AccentBrush" Color="#B4BEFE" />
|
|
<SolidColorBrush x:Key="DangerBrush" Color="#F38BA8" />
|
|
|
|
<Style TargetType="Window">
|
|
<Setter Property="Background" Value="{StaticResource BgBrush}" />
|
|
<Setter Property="FontFamily" Value="Segoe UI" />
|
|
<Setter Property="FontSize" Value="13" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushMain}" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type TabControl}">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type TabItem}">
|
|
<Setter Property="Margin" Value="0,0,6,0" />
|
|
<Setter Property="Padding" Value="10,6" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushHint}" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Border
|
|
x:Name = "Bd"
|
|
CornerRadius = "10"
|
|
Background = "{TemplateBinding Background}"
|
|
Padding = "{TemplateBinding Padding}"
|
|
BorderBrush = "{StaticResource BorderBrushSoft}"
|
|
BorderThickness = "1"
|
|
Opacity = "0.75"
|
|
>
|
|
<ContentPresenter ContentSource="Header" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter TargetName="Bd" Property="Background" Value="{StaticResource CardBrush}" />
|
|
<Setter TargetName="Bd" Property="Opacity" Value="1" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushMain}" />
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.95" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushMain}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="Card" TargetType="Border">
|
|
<Setter Property="Background" Value="{StaticResource CardBrush}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource BorderBrushSoft}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="CornerRadius" Value="14" />
|
|
<Setter Property="Padding" Value="12" />
|
|
<Setter Property="SnapsToDevicePixels" Value="True" />
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect BlurRadius="18" ShadowDepth="2" Opacity="0.25" Color="#000000" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="TextBlock" x:Key="FieldLabel">
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushHint}" />
|
|
<Setter Property="Margin" Value="0,8,0,4" />
|
|
</Style>
|
|
|
|
<Style TargetType="TextBox">
|
|
<Setter Property="MinHeight" Value="30" />
|
|
<Setter Property="Padding" Value="10,6" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource BorderBrushSoft}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="Background" Value="{StaticResource CardBrush2}" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushMain}" />
|
|
<Setter Property="SelectionBrush" Value="{StaticResource AccentBrush}" />
|
|
<Setter Property="CaretBrush" Value="{StaticResource AccentBrush}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="TextBox">
|
|
<Border
|
|
x:Name = "Bd"
|
|
CornerRadius = "10"
|
|
Background = "{TemplateBinding Background}"
|
|
BorderBrush = "{TemplateBinding BorderBrush}"
|
|
BorderThickness = "{TemplateBinding BorderThickness}"
|
|
>
|
|
<ScrollViewer Margin="0" x:Name="PART_ContentHost" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsKeyboardFocused" Value="True">
|
|
<Setter TargetName="Bd" Property="BorderBrush" Value="{StaticResource AccentBrush}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="ComboBox">
|
|
<Setter Property="MinHeight" Value="32" />
|
|
<Setter Property="Padding" Value="10,6" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource BorderBrushSoft}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="Background" Value="{StaticResource CardBrush2}" />
|
|
<Setter Property="Foreground" Value="{StaticResource TextBrushMain}" />
|
|
</Style>
|
|
|
|
<Style TargetType="Button">
|
|
<Setter Property="MinHeight" Value="34" />
|
|
<Setter Property="Padding" Value="12,8" />
|
|
<Setter Property="Background" Value="{StaticResource AccentBrush}" />
|
|
<Setter Property="Foreground" Value="#1E1E2E" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border
|
|
x:Name = "Bd"
|
|
CornerRadius = "10"
|
|
Background = "{TemplateBinding Background}"
|
|
BorderBrush = "{StaticResource BorderBrushSoft}"
|
|
BorderThickness = "0"
|
|
>
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.92" />
|
|
</Trigger>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.84" />
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="Bd" Property="Opacity" Value="0.45" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="DangerButton" TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
|
|
<Setter Property="Background" Value="{StaticResource DangerBrush}" />
|
|
<Setter Property="Foreground" Value="{StaticResource C_Crust}" />
|
|
</Style>
|
|
|
|
<Style TargetType="Separator">
|
|
<Setter Property="Margin" Value="0,12,0,12" />
|
|
<Setter Property="Background" Value="{StaticResource BorderBrushSoft}" />
|
|
</Style>
|
|
|
|
<Style TargetType="ScrollViewer">
|
|
<Setter Property="Background" Value="Transparent" />
|
|
</Style>
|
|
|
|
<Style TargetType="ScrollBar">
|
|
<Setter Property="Width" Value="10" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
</Style>
|
|
|
|
<Style TargetType="Thumb">
|
|
<Setter Property="Height" Value="40" />
|
|
<Setter Property="MinHeight" Value="30" />
|
|
<Setter Property="Background" Value="{StaticResource C_Surface2}" />
|
|
<Setter Property="Opacity" Value="0.8" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Thumb">
|
|
<Border CornerRadius="8" Background="{TemplateBinding Background}" />
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
</Window.Resources>
|
|
<Grid Background="{StaticResource BgBrush}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="2*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.Column="0" Style="{StaticResource Card}" Margin="10,10,6,10">
|
|
<ScrollViewer
|
|
VerticalScrollBarVisibility="Auto"
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
PanningMode="VerticalOnly"
|
|
>
|
|
<TabControl Margin="2">
|
|
<TabItem Header="Добавление фигур">
|
|
<TabControl Margin="8">
|
|
<TabItem Header="Прямоугольник">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="RectName" />
|
|
<TextBlock Text="X" /> <TextBox x:Name="RectX" />
|
|
<TextBlock Text="Y" /> <TextBox x:Name="RectY" />
|
|
<TextBlock Text="W" /> <TextBox x:Name="RectW" />
|
|
<TextBlock Text="H" /> <TextBox x:Name="RectH" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddRectangle" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Квадрат">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="SquareName" />
|
|
<TextBlock Text="X" /> <TextBox x:Name="SquareX" />
|
|
<TextBlock Text="Y" /> <TextBox x:Name="SquareY" />
|
|
<TextBlock Text="Side" /> <TextBox x:Name="SquareSide" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddSquare" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Эллипс">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="EllipseName" />
|
|
<TextBlock Text="X" /> <TextBox x:Name="EllipseX" />
|
|
<TextBlock Text="Y" /> <TextBox x:Name="EllipseY" />
|
|
<TextBlock Text="W" /> <TextBox x:Name="EllipseW" />
|
|
<TextBlock Text="H" /> <TextBox x:Name="EllipseH" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddEllipse" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Окружность">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="CircleName" />
|
|
<TextBlock Text="X" /> <TextBox x:Name="CircleX" />
|
|
<TextBlock Text="Y" /> <TextBox x:Name="CircleY" />
|
|
<TextBlock Text="Диаметр" /> <TextBox x:Name="CircleD" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddCircle" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Многоугольник">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="PolyName" />
|
|
<TextBlock Text="Кол-во вершин" /> <TextBox x:Name="PolyCount" />
|
|
|
|
<Button
|
|
x:Name = "PolyStartBtn"
|
|
Content = "Начать ввод точек"
|
|
Margin = "0,10,0,0"
|
|
Click = "ClickPolyStart"
|
|
/>
|
|
|
|
<Separator Margin="0,5,0,5" />
|
|
|
|
<TextBlock Text="X точки" /> <TextBox x:Name="PolyX" IsEnabled="False" />
|
|
<TextBlock Text="Y точки" /> <TextBox x:Name="PolyY" IsEnabled="False" />
|
|
|
|
<Button
|
|
x:Name = "PolyAddPointBtn"
|
|
Content = "Добавить точку"
|
|
Margin = "0,10,0,0"
|
|
IsEnabled = "False"
|
|
Click = "ClickPolyAddPoint"
|
|
/>
|
|
|
|
<TextBlock x:Name="PolyStatus" Margin="0,10,0,0" />
|
|
|
|
<Button
|
|
x:Name = "PolyFinishBtn"
|
|
Content = "Добавить многоугольник"
|
|
Margin = "0,10,0,0"
|
|
IsEnabled = "False"
|
|
Click = "ClickPolyFinish"
|
|
/>
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Треугольник">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="TriName" />
|
|
<TextBlock Text="Ax" /> <TextBox x:Name="Ax" />
|
|
<TextBlock Text="Ay" /> <TextBox x:Name="Ay" />
|
|
<TextBlock Text="Bx" /> <TextBox x:Name="Bx" />
|
|
<TextBlock Text="By" /> <TextBox x:Name="By" />
|
|
<TextBlock Text="Cx" /> <TextBox x:Name="Cx" />
|
|
<TextBlock Text="Cy" /> <TextBox x:Name="Cy" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddTriangle" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
|
|
<TabItem Header="Поле. Солнце. Человек. Текст">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Имя" /> <TextBox x:Name="SceneName" />
|
|
<TextBlock Text="X" /> <TextBox x:Name="SceneX" />
|
|
<TextBlock Text="Y" /> <TextBox x:Name="SceneY" />
|
|
<TextBlock Text="W" /> <TextBox x:Name="SceneW" />
|
|
<TextBlock Text="H" /> <TextBox x:Name="SceneH" />
|
|
|
|
<Button Content="Добавить" Margin="0,10,0,0" Click="ClickAddTerrainPointSunPointHumanPointText"/>
|
|
</StackPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
</TabItem>
|
|
<TabItem Header="Управление фигурами">
|
|
<StackPanel Margin="10">
|
|
<TextBlock Text="Выбор фигуры" />
|
|
|
|
<ComboBox x:Name="FigureCombo" Height="28" />
|
|
|
|
<Separator Margin="0,10,0,10" />
|
|
|
|
<TextBlock Text="Смещение dX" /> <TextBox x:Name="MoveDx" />
|
|
<TextBlock Text="Смещение dY" /> <TextBox x:Name="MoveDy" />
|
|
|
|
<Button Content="Переместить" Margin="0,10,0,0" Click="ClickMoveSelected" />
|
|
<Button Content="Удалить" Margin="0,10,0,0" Click="ClickDeleteSelected" />
|
|
</StackPanel>
|
|
</TabItem>
|
|
</TabControl>
|
|
</ScrollViewer>
|
|
</Border>
|
|
<Border Grid.Column="1" Style="{StaticResource Card}" Margin="6,10,10,10">
|
|
<Grid>
|
|
<TextBlock
|
|
Text = "Клик по фигуре = выбор, перетаскивание = перемещение"
|
|
Foreground = "{StaticResource TextBrushHint}"
|
|
Margin = "2,0,0,10"
|
|
/>
|
|
<Border
|
|
Margin = "0,24,0,0"
|
|
Background = "White"
|
|
BorderBrush = "{StaticResource BorderBrushSoft}"
|
|
BorderThickness = "1"
|
|
CornerRadius = "12"
|
|
x:Name = "ImgBorder"
|
|
>
|
|
<Image
|
|
x:Name = "DrawingImage"
|
|
Stretch = "Uniform"
|
|
MouseLeftButtonDown = "MouseLeftButtonDown"
|
|
MouseMove = "MouseMove"
|
|
MouseLeftButtonUp = "MouseLeftButtonUp"
|
|
/>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</Window>
|