<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="SpaceEngineersBlueprintEditor.Views.BlueprintEditSubPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SpaceEngineersBlueprintEditor.Views"
xmlns:controls="using:SpaceEngineersBlueprintEditor.Controls"
xmlns:model="using:SpaceEngineersBlueprintEditor.Model"
xmlns:selector="using:SpaceEngineersBlueprintEditor.Utilities.Selector"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
<CollectionViewSource x:Name="CubeGridViewSource" IsSourceGrouped="True" Source="{x:Bind ViewModel.BlueprintCubeGridList, Mode=OneWay}"/>
<DataTemplate x:Key="TreeViewItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).ValueString}" VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).ValueString}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="EnumerableItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" HorizontalAlignment="Right" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="GridItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock Grid.Column="1" ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" HorizontalAlignment="Right" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ObjectItemDataTemplate" x:DataType="TreeViewNode">
<StackPanel Padding="0,0,12,0" Height="44" Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="ValueItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,2,12,2" MinHeight="48" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<ContentPresenter Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Stretch" Content="{x:Bind ((model:BlueprintPropertyViewData)Content).BestControl}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="CubeItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<Image Source="{x:Bind ((model:BlueprintPropertyViewData)Content).CubeImage}" Stretch="Uniform"/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString, Mode=OneWay}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName, Mode=OneWay}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData, Mode=OneWay}" VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData, Mode=OneWay}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<selector:ShipBlueprintItemTemplateSelector x:Key="ShipBlueprintItemTemplateSelector" DefaultTemplate="{StaticResource TreeViewItemDataTemplate}" CubeItemTemplate="{StaticResource CubeItemDataTemplate}" GridItemTemplate="{StaticResource GridItemDataTemplate}" ObjectItemTemplate="{StaticResource ObjectItemDataTemplate}" EnumerableTemplate="{StaticResource EnumerableItemDataTemplate}" ValueItemTemplate="{StaticResource ValueItemDataTemplate}"/>
</Page.Resources>
<Grid Background="{ThemeResource SolidBackgroundFillColorBaseBrush}">
<Grid RowSpacing="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<MenuBar>
<MenuBarItem x:Uid="BlueprintEditSubPage_File">
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_OpenBlueprint" Icon="OpenFile" Command="{x:Bind ViewModel.OpenBlueprintCommand}">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control" Key="N"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_Save" Icon="Save" Command="{x:Bind ViewModel.SaveCommand}">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control" Key="S"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_SaveAs" Command="{x:Bind ViewModel.SaveAsCommand}"/>
</MenuBarItem>
<MenuBarItem x:Uid="BlueprintEditSubPage_Edit">
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertDestructible" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Destructible"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertIndestructible" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Indestructible"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertEditable" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Editable"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertNonEditable" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Non-Editable"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertSmallGrid" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="SmallGrid"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertLargeGrid" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="LargeGrid"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertLightBlocks" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="LightBlock"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertHeavyBlocks" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="HeavyBlock"/>
<!--<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertSecBlueprint" Command="{x:Bind ViewModel.ConvertToSecBlueprintCommand}"/>-->
</MenuBarItem>
<MenuBarItem x:Uid="BlueprintEditSubPage_View">
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_OpenInFolder" Icon="OpenLocal" Command="{x:Bind ViewModel.OpenInFolderCommand}"/>
</MenuBarItem>
</MenuBar>
<Grid Grid.Row="1" Visibility="{x:Bind ViewModel.IsContentGridVisible, Mode=OneWay}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<SelectorBar x:Name="selectorBar">
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Grids" Tag="Grids" IsSelected="True"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Groups" Tag="Groups"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Properties" Tag="Properties"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_ThreeDimensional" Tag="ThreeDimensional"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_SheetMetal" Tag="SheetMetal"/>
</SelectorBar>
<Grid Grid.Row="1">
<Grid RowSpacing="10" ColumnSpacing="12" Visibility="{x:Bind ViewModel.IsCubeGridListVisible, Mode=OneWay}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="4*" MinWidth="340"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox x:Uid="BlueprintEditSubPage_AutoSuggestBox_CubeBlocks" Margin="5,0,0,0" Width="250" Text="{x:Bind ViewModel.SearchText, Mode=TwoWay}" QueryIcon="Find" HorizontalAlignment="Left"/>
<ListView x:Name="cubeGridsListView" Grid.Row="1" ItemsSource="{x:Bind CubeGridViewSource.View, Mode=OneWay}" SelectedItem="{x:Bind ViewModel.SelectedCubeBlock, Mode=TwoWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel AreStickyGroupHeadersEnabled="True"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="model:BlueprintGroupList">
<StackPanel Orientation="Horizontal" Spacing="20">
<FontIcon Glyph="" FontSize="32"/>
<TextBlock Text="{x:Bind GroupName}" Style="{ThemeResource TitleTextBlockStyle}"/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:BlueprintPropertyViewData">
<Grid Padding="0,0,5,0" Height="44">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="20">
<Image Source="{x:Bind CubeImage}" Stretch="Uniform"/>
<TextBlock VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Text="{x:Bind DisplayName, Mode=OneWay}"/>
</StackPanel>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind CustomData, Mode=OneWay}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid Grid.Column="1" Grid.RowSpan="2" Margin="0,0,5,24" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}" BorderBrush="{ThemeResource CardStrokeColorDefaultBrush}" CornerRadius="8">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Padding="16,12" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="72"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{x:Bind ViewModel.SelectedCubeBlock.CubeImage, Mode=OneWay}" Width="72" Height="72" Stretch="Uniform"/>
<StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="4">
<TextBlock Text="{x:Bind ViewModel.SelectedCubeBlock.DisplayName, Mode=OneWay}" Style="{ThemeResource SubtitleTextBlockStyle}" TextTrimming="CharacterEllipsis"/>
<TextBlock Text="{x:Bind ViewModel.SelectedCubeBlock.CustomData.ToString(), Mode=OneWay}" Style="{ThemeResource CaptionTextBlockStyle}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_Properties"
Grid.Row="1"
Margin="12,0,12,8"
QueryIcon="Find"
Text="{x:Bind ViewModel.PropertiesSearchText, Mode=TwoWay}"/>
<ScrollView Padding="5" Grid.Row="2">
<TreeView x:Name="cubePropertyTreeView" SelectedItem="{x:Bind ViewModel.SelectedTreeViewNode, Mode=TwoWay}" ItemTemplateSelector="{StaticResource ShipBlueprintItemTemplateSelector}" Expanding="TreeView_Expanding" Collapsed="TreeView_Collapsed" CanDrag="False" CanDragItems="False"/>
</ScrollView>
</Grid>
</Grid>
</Grid>
<Grid Margin="5,0,5,24" RowSpacing="8" Visibility="{x:Bind ViewModel.IsShipBlueprintPropertyVisible, Mode=OneWay}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_BlueprintProperties"
QueryIcon="Find"
Text="{x:Bind ViewModel.PropertiesSearchText, Mode=TwoWay}"/>
<TreeView Grid.Row="1" x:Name="blueprintPropertyTreeView" SelectedItem="{x:Bind ViewModel.SelectedTreeViewNode, Mode=TwoWay}" ItemTemplateSelector="{StaticResource ShipBlueprintItemTemplateSelector}" Expanding="TreeView_Expanding" Collapsed="TreeView_Collapsed" CanDrag="False" CanDragItems="False"/>
</Grid>
<Grid Visibility="{x:Bind ViewModel.IsThreeDimensionalEditorVisible, Mode=OneWay}">
<WebView2 x:Name="blueprintThreeDimensionalEditor" Loaded="BlueprintThreeDimensionalEditor_Loaded"/>
</Grid>
<Grid
Margin="5,0,5,24"
ColumnSpacing="16"
Visibility="{x:Bind ViewModel.IsSheetMetalEditorVisible, Mode=OneWay}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="340"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid RowSpacing="8">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_CubeBlocks"
Text="{x:Bind ViewModel.SearchText, Mode=TwoWay}"
QueryIcon="Find"/>
<ListView
Grid.Row="1"
ItemsSource="{x:Bind CubeGridViewSource.View, Mode=OneWay}"
SelectedItem="{x:Bind ViewModel.SelectedCubeBlock, Mode=TwoWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel AreStickyGroupHeadersEnabled="True"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="model:BlueprintGroupList">
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon Glyph="" FontSize="24"/>
<TextBlock Text="{x:Bind GroupName}" Style="{ThemeResource SubtitleTextBlockStyle}"/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:BlueprintPropertyViewData">
<Grid Padding="0,0,5,0" Height="44">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{x:Bind CubeImage}" Width="32" Height="32" Stretch="Uniform"/>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Text="{x:Bind DisplayName, Mode=OneWay}" TextTrimming="CharacterEllipsis"/>
<TextBlock Text="{x:Bind CustomData, Mode=OneWay}" Style="{ThemeResource CaptionTextBlockStyle}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
<controls:CubeDeformationEditor
Grid.Column="1"
DataContext="{x:Bind ViewModel}"
CubeGrid="{Binding SelectedCubeGrid}"
CubeBlock="{Binding SelectedCubeBlockObject}"
HasUnsavedChanges="{Binding HasUnsavedChanges, Mode=TwoWay}"/>
</Grid>
</Grid>
</Grid>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Visibility="{x:Bind ViewModel.IsInitialGridVisible, Mode=OneWay}">
<StackPanel>
<Grid x:Name="blueprintDragGrid" CornerRadius="45" Width="600" Height="400" AllowDrop="True" CenterPoint="300,200,0">
<Grid.BackgroundTransition>
<BrushTransition/>
</Grid.BackgroundTransition>
<Rectangle Stretch="Fill" Stroke="{ThemeResource TextFillColorSecondaryBrush}" StrokeThickness="5" RadiusX="45" RadiusY="45">
<Rectangle.StrokeDashArray>
<x:Double>5</x:Double>
<x:Double>4</x:Double>
</Rectangle.StrokeDashArray>
</Rectangle>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="10">
<FontIcon Glyph="" FontSize="80"/>
<TextBlock x:Uid="TextBlock_DragBlueprint" Style="{ThemeResource SubtitleTextBlockStyle}"/>
</StackPanel>
</Grid>
<Grid ColumnSpacing="10" Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button x:Name="viewBlueprintsList" VerticalAlignment="Top" HorizontalAlignment="Right" Command="{x:Bind ViewModel.ViewBlueprintsListCommand}">
<StackPanel Orientation="Horizontal" Spacing="5">
<FontIcon Glyph=""/>
<TextBlock x:Uid="TextBlock_ViewBlueprintsList"/>
</StackPanel>
</Button>
<Button x:Name="openLocalFile" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" Command="{x:Bind ViewModel.OpenBlueprintCommand}">
<StackPanel Orientation="Horizontal" Spacing="5">
<FontIcon Glyph=""/>
<TextBlock x:Uid="TextBlock_OpenLocalFile"/>
</StackPanel>
</Button>
</Grid>
</StackPanel>
</Grid>
</Grid>
</Grid>
</Page>
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="SpaceEngineersBlueprintEditor.Views.BlueprintEditSubPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SpaceEngineersBlueprintEditor.Views"
xmlns:controls="using:SpaceEngineersBlueprintEditor.Controls"
xmlns:model="using:SpaceEngineersBlueprintEditor.Model"
xmlns:selector="using:SpaceEngineersBlueprintEditor.Utilities.Selector"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
<CollectionViewSource x:Name="CubeGridViewSource" IsSourceGrouped="True" Source="{x:Bind ViewModel.BlueprintCubeGridList, Mode=OneWay}"/>
<DataTemplate x:Key="TreeViewItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).ValueString}" VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).ValueString}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="EnumerableItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" HorizontalAlignment="Right" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="GridItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<TextBlock Grid.Column="1" ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" HorizontalAlignment="Right" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="ObjectItemDataTemplate" x:DataType="TreeViewNode">
<StackPanel Padding="0,0,12,0" Height="44" Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="ValueItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,2,12,2" MinHeight="48" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="5*" MinWidth="140"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon VerticalAlignment="Center" Glyph=""/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName}"/>
</StackPanel>
<ContentPresenter Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Stretch" Content="{x:Bind ((model:BlueprintPropertyViewData)Content).BestControl}"/>
</Grid>
</DataTemplate>
<DataTemplate x:Key="CubeItemDataTemplate" x:DataType="TreeViewNode">
<Grid Padding="0,0,12,0" Height="44" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="10">
<Image Source="{x:Bind ((model:BlueprintPropertyViewData)Content).CubeImage}" Stretch="Uniform"/>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).NameTypeString, Mode=OneWay}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).DisplayName, Mode=OneWay}"/>
</StackPanel>
<TextBlock ToolTipService.ToolTip="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData, Mode=OneWay}" VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind ((model:BlueprintPropertyViewData)Content).CustomData, Mode=OneWay}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
<selector:ShipBlueprintItemTemplateSelector x:Key="ShipBlueprintItemTemplateSelector" DefaultTemplate="{StaticResource TreeViewItemDataTemplate}" CubeItemTemplate="{StaticResource CubeItemDataTemplate}" GridItemTemplate="{StaticResource GridItemDataTemplate}" ObjectItemTemplate="{StaticResource ObjectItemDataTemplate}" EnumerableTemplate="{StaticResource EnumerableItemDataTemplate}" ValueItemTemplate="{StaticResource ValueItemDataTemplate}"/>
</Page.Resources>
<Grid Background="{ThemeResource SolidBackgroundFillColorBaseBrush}">
<Grid RowSpacing="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<MenuBar>
<MenuBarItem x:Uid="BlueprintEditSubPage_File">
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_OpenBlueprint" Icon="OpenFile" Command="{x:Bind ViewModel.OpenBlueprintCommand}">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control" Key="N"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_Save" Icon="Save" Command="{x:Bind ViewModel.SaveCommand}">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Modifiers="Control" Key="S"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_SaveAs" Command="{x:Bind ViewModel.SaveAsCommand}"/>
</MenuBarItem>
<MenuBarItem x:Uid="BlueprintEditSubPage_Edit">
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertDestructible" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Destructible"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertIndestructible" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Indestructible"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertEditable" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Editable"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertNonEditable" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="Non-Editable"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertSmallGrid" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="SmallGrid"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertLargeGrid" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="LargeGrid"/>
<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertLightBlocks" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="LightBlock"/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertHeavyBlocks" Command="{x:Bind ViewModel.ConvertBlueprintCommand}" CommandParameter="HeavyBlock"/>
<!--<MenuFlyoutSeparator/>
<MenuFlyoutItem Icon="RepeatAll" x:Uid="BlueprintEditSubPage_ConvertSecBlueprint" Command="{x:Bind ViewModel.ConvertToSecBlueprintCommand}"/>-->
</MenuBarItem>
<MenuBarItem x:Uid="BlueprintEditSubPage_View">
<MenuFlyoutItem x:Uid="BlueprintEditSubPage_OpenInFolder" Icon="OpenLocal" Command="{x:Bind ViewModel.OpenInFolderCommand}"/>
</MenuBarItem>
</MenuBar>
<Grid Grid.Row="1" Visibility="{x:Bind ViewModel.IsContentGridVisible, Mode=OneWay}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<SelectorBar x:Name="selectorBar">
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Grids" Tag="Grids" IsSelected="True"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Groups" Tag="Groups"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_Properties" Tag="Properties"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_ThreeDimensional" Tag="ThreeDimensional"/>
<SelectorBarItem x:Uid="BlueprintEditSubPage_SelectorBar_SheetMetal" Tag="SheetMetal"/>
</SelectorBar>
<Grid Grid.Row="1">
<Grid RowSpacing="10" ColumnSpacing="12" Visibility="{x:Bind ViewModel.IsCubeGridListVisible, Mode=OneWay}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="4*" MinWidth="340"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox x:Uid="BlueprintEditSubPage_AutoSuggestBox_CubeBlocks" Margin="5,0,0,0" Width="250" Text="{x:Bind ViewModel.SearchText, Mode=TwoWay}" QueryIcon="Find" HorizontalAlignment="Left"/>
<ListView x:Name="cubeGridsListView" Grid.Row="1" ItemsSource="{x:Bind CubeGridViewSource.View, Mode=OneWay}" SelectedItem="{x:Bind ViewModel.SelectedCubeBlock, Mode=TwoWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel AreStickyGroupHeadersEnabled="True"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="model:BlueprintGroupList">
<StackPanel Orientation="Horizontal" Spacing="20">
<FontIcon Glyph="" FontSize="32"/>
<TextBlock Text="{x:Bind GroupName}" Style="{ThemeResource TitleTextBlockStyle}"/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:BlueprintPropertyViewData">
<Grid Padding="0,0,5,0" Height="44">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" Spacing="20">
<Image Source="{x:Bind CubeImage}" Stretch="Uniform"/>
<TextBlock VerticalAlignment="Center" TextTrimming="CharacterEllipsis" Text="{x:Bind DisplayName, Mode=OneWay}"/>
</StackPanel>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Right" TextTrimming="CharacterEllipsis" Text="{x:Bind CustomData, Mode=OneWay}" Grid.Column="1" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid Grid.Column="1" Grid.RowSpan="2" Margin="0,0,5,24" Background="{ThemeResource CardBackgroundFillColorDefaultBrush}" BorderBrush="{ThemeResource CardStrokeColorDefaultBrush}" CornerRadius="8">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Padding="16,12" ColumnSpacing="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="72"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{x:Bind ViewModel.SelectedCubeBlock.CubeImage, Mode=OneWay}" Width="72" Height="72" Stretch="Uniform"/>
<StackPanel Grid.Column="1" VerticalAlignment="Center" Spacing="4">
<TextBlock Text="{x:Bind ViewModel.SelectedCubeBlock.DisplayName, Mode=OneWay}" Style="{ThemeResource SubtitleTextBlockStyle}" TextTrimming="CharacterEllipsis"/>
<TextBlock Text="{x:Bind ViewModel.SelectedCubeBlock.CustomData.ToString(), Mode=OneWay}" Style="{ThemeResource CaptionTextBlockStyle}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_Properties"
Grid.Row="1"
Margin="12,0,12,8"
QueryIcon="Find"
Text="{x:Bind ViewModel.PropertiesSearchText, Mode=TwoWay}"/>
<ScrollView Padding="5" Grid.Row="2">
<TreeView x:Name="cubePropertyTreeView" SelectedItem="{x:Bind ViewModel.SelectedTreeViewNode, Mode=TwoWay}" ItemTemplateSelector="{StaticResource ShipBlueprintItemTemplateSelector}" Expanding="TreeView_Expanding" Collapsed="TreeView_Collapsed" CanDrag="False" CanDragItems="False"/>
</ScrollView>
</Grid>
</Grid>
</Grid>
<Grid Margin="5,0,5,24" RowSpacing="8" Visibility="{x:Bind ViewModel.IsShipBlueprintPropertyVisible, Mode=OneWay}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_BlueprintProperties"
QueryIcon="Find"
Text="{x:Bind ViewModel.PropertiesSearchText, Mode=TwoWay}"/>
<TreeView Grid.Row="1" x:Name="blueprintPropertyTreeView" SelectedItem="{x:Bind ViewModel.SelectedTreeViewNode, Mode=TwoWay}" ItemTemplateSelector="{StaticResource ShipBlueprintItemTemplateSelector}" Expanding="TreeView_Expanding" Collapsed="TreeView_Collapsed" CanDrag="False" CanDragItems="False"/>
</Grid>
<Grid Visibility="{x:Bind ViewModel.IsThreeDimensionalEditorVisible, Mode=OneWay}">
<WebView2 x:Name="blueprintThreeDimensionalEditor" Loaded="BlueprintThreeDimensionalEditor_Loaded"/>
</Grid>
<Grid
Margin="5,0,5,24"
ColumnSpacing="16"
Visibility="{x:Bind ViewModel.IsSheetMetalEditorVisible, Mode=OneWay}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="340"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid RowSpacing="8">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AutoSuggestBox
x:Uid="BlueprintEditSubPage_AutoSuggestBox_CubeBlocks"
Text="{x:Bind ViewModel.SearchText, Mode=TwoWay}"
QueryIcon="Find"/>
<ListView
Grid.Row="1"
ItemsSource="{x:Bind CubeGridViewSource.View, Mode=OneWay}"
SelectedItem="{x:Bind ViewModel.SelectedCubeBlock, Mode=TwoWay}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel AreStickyGroupHeadersEnabled="True"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate x:DataType="model:BlueprintGroupList">
<StackPanel Orientation="Horizontal" Spacing="10">
<FontIcon Glyph="" FontSize="24"/>
<TextBlock Text="{x:Bind GroupName}" Style="{ThemeResource SubtitleTextBlockStyle}"/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListView.GroupStyle>
<ListView.ItemTemplate>
<DataTemplate x:DataType="model:BlueprintPropertyViewData">
<Grid Padding="0,0,5,0" Height="44">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{x:Bind CubeImage}" Width="32" Height="32" Stretch="Uniform"/>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Text="{x:Bind DisplayName, Mode=OneWay}" TextTrimming="CharacterEllipsis"/>
<TextBlock Text="{x:Bind CustomData, Mode=OneWay}" Style="{ThemeResource CaptionTextBlockStyle}" Foreground="{ThemeResource AccentTextFillColorPrimaryBrush}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
<controls:CubeDeformationEditor
Grid.Column="1"
DataContext="{x:Bind ViewModel}"
CubeGrid="{Binding SelectedCubeGrid}"
CubeBlock="{Binding SelectedCubeBlockObject}"
HasUnsavedChanges="{Binding HasUnsavedChanges, Mode=TwoWay}"/>
</Grid>
</Grid>
</Grid>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Row="1" Visibility="{x:Bind ViewModel.IsInitialGridVisible, Mode=OneWay}">
<StackPanel>
<Grid x:Name="blueprintDragGrid" CornerRadius="45" Width="600" Height="400" AllowDrop="True" CenterPoint="300,200,0">
<Grid.BackgroundTransition>
<BrushTransition/>
</Grid.BackgroundTransition>
<Rectangle Stretch="Fill" Stroke="{ThemeResource TextFillColorSecondaryBrush}" StrokeThickness="5" RadiusX="45" RadiusY="45">
<Rectangle.StrokeDashArray>
<x:Double>5</x:Double>
<x:Double>4</x:Double>
</Rectangle.StrokeDashArray>
</Rectangle>
<StackPanel Orientation="Vertical" VerticalAlignment="Center" HorizontalAlignment="Center" Spacing="10">
<FontIcon Glyph="" FontSize="80"/>
<TextBlock x:Uid="TextBlock_DragBlueprint" Style="{ThemeResource SubtitleTextBlockStyle}"/>
</StackPanel>
</Grid>
<Grid ColumnSpacing="10" Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button x:Name="viewBlueprintsList" VerticalAlignment="Top" HorizontalAlignment="Right" Command="{x:Bind ViewModel.ViewBlueprintsListCommand}">
<StackPanel Orientation="Horizontal" Spacing="5">
<FontIcon Glyph=""/>
<TextBlock x:Uid="TextBlock_ViewBlueprintsList"/>
</StackPanel>
</Button>
<Button x:Name="openLocalFile" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Left" Command="{x:Bind ViewModel.OpenBlueprintCommand}">
<StackPanel Orientation="Horizontal" Spacing="5">
<FontIcon Glyph=""/>
<TextBlock x:Uid="TextBlock_OpenLocalFile"/>
</StackPanel>
</Button>
</Grid>
</StackPanel>
</Grid>
</Grid>
</Grid>
</Page>