AWGMappingWindow.xaml 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <Window x:Class="PRSDesktop.Integrations.Common.AWGMappingWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:PRSDesktop.Integrations.Common"
  7. xmlns:dynamicGrid="clr-namespace:InABox.DynamicGrid;assembly=InABox.Wpf"
  8. xmlns:wpf="clr-namespace:InABox.WPF;assembly=InABox.Wpf"
  9. mc:Ignorable="d"
  10. Title="{Binding SelectedSection.Key, FallbackValue='Integration Mappings'}" Height="1000" Width="1000" WindowStartupLocation="CenterScreen">
  11. <Window.DataContext>
  12. <local:AWGMappingWindowViewModel x:Name="ViewModel" />
  13. </Window.DataContext>
  14. <Window.Resources>
  15. <local:SectionToVisibilityConverter x:Key="StylesGridVisible" Key="Finishes" />
  16. <local:SectionToVisibilityConverter x:Key="ProfilesGridVisible" Key="Profiles" />
  17. <local:SectionToVisibilityConverter x:Key="GasketsGridVisible" Key="Gaskets" />
  18. <local:SectionToVisibilityConverter x:Key="ComponentsGridVisible" Key="Components" />
  19. <local:SectionToVisibilityConverter x:Key="GlassGridVisible" Key="Glass" />
  20. <local:SectionToVisibilityConverter x:Key="LabourGridVisible" Key="Labour" />
  21. <wpf:EnumerableToVisibilityConverter x:Key="IsNotEmpty"/>
  22. </Window.Resources>
  23. <Grid Margin="5">
  24. <Grid.ColumnDefinitions>
  25. <ColumnDefinition Width="Auto"/>
  26. <ColumnDefinition Width="*"/>
  27. </Grid.ColumnDefinitions>
  28. <Grid.RowDefinitions>
  29. <RowDefinition Height="*"/>
  30. <RowDefinition Height="Auto"/>
  31. </Grid.RowDefinitions>
  32. <ListView
  33. Grid.Row="0"
  34. Grid.Column="0"
  35. Width="100"
  36. SelectedItem="{Binding SelectedSection}"
  37. ItemsSource="{Binding Sections}"
  38. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  39. ScrollViewer.VerticalScrollBarVisibility="Auto">
  40. <ListView.ItemContainerStyle>
  41. <Style TargetType="ListViewItem">
  42. <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
  43. </Style>
  44. </ListView.ItemContainerStyle>
  45. <ListView.ItemTemplate>
  46. <DataTemplate>
  47. <Grid>
  48. <Grid.RowDefinitions>
  49. <RowDefinition Height="50"/>
  50. <RowDefinition Height="Auto"/>
  51. </Grid.RowDefinitions>
  52. <Grid.ColumnDefinitions>
  53. <ColumnDefinition Width="*"/>
  54. </Grid.ColumnDefinitions>
  55. <Image
  56. Grid.Row="0"
  57. Source="{Binding Value}"
  58. VerticalAlignment="Center"
  59. HorizontalAlignment="Center"
  60. Margin="2"/>
  61. <Label
  62. Grid.Row="1"
  63. Content="{Binding Key}"
  64. Margin="5,0,5,5"
  65. HorizontalAlignment="Center"/>
  66. </Grid>
  67. </DataTemplate>
  68. </ListView.ItemTemplate>
  69. </ListView>
  70. <local:ProductStyleIntegrationGrid
  71. Grid.Row="0"
  72. Grid.Column="1"
  73. Margin="5,0,0,0"
  74. Visibility="{Binding SelectedSection, Converter={StaticResource StylesGridVisible}}"
  75. ItemsSource="{Binding FinishMappings}"
  76. CreateEntity="{Binding CreateStyle}"
  77. SourceType="{Binding SourceType}"/>
  78. <local:ProductIntegrationGrid
  79. Grid.Row="0"
  80. Grid.Column="1"
  81. Margin="5,0,0,0"
  82. Visibility="{Binding SelectedSection, Converter={StaticResource ProfilesGridVisible}}"
  83. ItemsSource="{Binding ProfileMappings}"
  84. CreateEntity="{Binding CreateProfile}"
  85. SourceType="{Binding SourceType}"/>
  86. <local:ProductIntegrationGrid
  87. Grid.Row="0"
  88. Grid.Column="1"
  89. Margin="5,0,0,0"
  90. Visibility="{Binding SelectedSection, Converter={StaticResource GasketsGridVisible}}"
  91. ItemsSource="{Binding GasketMappings}"
  92. CreateEntity="{Binding CreateGasket}"
  93. SourceType="{Binding SourceType}"/>
  94. <local:ProductIntegrationGrid
  95. Grid.Row="0"
  96. Grid.Column="1"
  97. Margin="5,0,0,0"
  98. Visibility="{Binding SelectedSection, Converter={StaticResource ComponentsGridVisible}}"
  99. ItemsSource="{Binding ComponentMappings}"
  100. CreateEntity="{Binding CreateComponent}"
  101. SourceType="{Binding SourceType}"/>
  102. <local:ProductIntegrationGrid
  103. Grid.Row="0"
  104. Grid.Column="1"
  105. Margin="5,0,0,0"
  106. Visibility="{Binding SelectedSection, Converter={StaticResource GlassGridVisible}}"
  107. ItemsSource="{Binding GlassMappings}"
  108. CreateEntity="{Binding CreateGlass}"
  109. SourceType="{Binding SourceType}"/>
  110. <local:ActivityIntegrationGrid
  111. Grid.Row="0"
  112. Grid.Column="1"
  113. Margin="5,0,0,0"
  114. Visibility="{Binding SelectedSection, Converter={StaticResource LabourGridVisible}}"
  115. ItemsSource="{Binding LabourMappings}"
  116. CreateEntity="{Binding CreateActivity}"
  117. SourceType="{Binding SourceType}"/>
  118. <DockPanel
  119. Grid.Row="1"
  120. Grid.Column="0"
  121. Grid.ColumnSpan="2"
  122. LastChildFill="False">
  123. <CheckBox
  124. DockPanel.Dock="Left"
  125. VerticalAlignment="Center"
  126. Margin="5,0,10,0"
  127. IsChecked="{Binding FinishesChecked}"
  128. Visibility="{Binding Finishes, Converter={StaticResource IsNotEmpty}}">Finishes</CheckBox>
  129. <CheckBox
  130. DockPanel.Dock="Left"
  131. VerticalAlignment="Center"
  132. Margin="5,0,10,0"
  133. IsChecked="{Binding ProfilesChecked}"
  134. Visibility="{Binding Profiles, Converter={StaticResource IsNotEmpty}}">Profiles</CheckBox>
  135. <CheckBox
  136. DockPanel.Dock="Left"
  137. VerticalAlignment="Center"
  138. Margin="5,0,10,0"
  139. IsChecked="{Binding GasketsChecked}"
  140. Visibility="{Binding Gaskets, Converter={StaticResource IsNotEmpty}}">Gaskets</CheckBox>
  141. <CheckBox
  142. DockPanel.Dock="Left"
  143. VerticalAlignment="Center"
  144. Margin="5,0,10,0"
  145. IsChecked="{Binding ComponentsChecked}"
  146. Visibility="{Binding Components, Converter={StaticResource IsNotEmpty}}">Components</CheckBox>
  147. <CheckBox
  148. DockPanel.Dock="Left"
  149. VerticalAlignment="Center"
  150. Margin="5,0,10,0"
  151. IsChecked="{Binding GlassChecked}"
  152. Visibility="{Binding Glass, Converter={StaticResource IsNotEmpty}}">Glass</CheckBox>
  153. <CheckBox
  154. DockPanel.Dock="Left"
  155. VerticalAlignment="Center"
  156. Margin="5,0,10,0"
  157. IsChecked="{Binding LabourChecked}"
  158. Visibility="{Binding Labour, Converter={StaticResource IsNotEmpty}}">Labour</CheckBox>
  159. <Button
  160. DockPanel.Dock="Right"
  161. Width="80"
  162. Height="40"
  163. Content="Cancel"
  164. Margin="5,5,0,0"
  165. Click="CancelClick"/>
  166. <Button
  167. DockPanel.Dock="Right"
  168. Width="80"
  169. Height="40"
  170. Content="OK"
  171. Margin="5,5,0,0"
  172. Click="OKClick"
  173. IsEnabled="{Binding MappingsComplete}"/>
  174. </DockPanel>
  175. </Grid>
  176. </Window>