ManufacturingAllocationPanel.xaml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <UserControl x:Class="PRSDesktop.ManufacturingAllocationPanel"
  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. mc:Ignorable="d"
  7. d:DesignHeight="450" d:DesignWidth="800">
  8. <UserControl.Resources>
  9. <DataTemplate x:Key="Packet">
  10. <Grid>
  11. <Grid.ColumnDefinitions>
  12. <ColumnDefinition Width="Auto" />
  13. <ColumnDefinition Width="*" />
  14. <ColumnDefinition Width="Auto" />
  15. </Grid.ColumnDefinitions>
  16. <Grid.RowDefinitions>
  17. <RowDefinition Height="*" />
  18. </Grid.RowDefinitions>
  19. <Border Grid.Row="0" Grid.Column="0" BorderBrush="Gray" BorderThickness="0.75,0.75,0,0.75"
  20. CornerRadius="5,0,0,5" Margin="0,2,0,0" Background="{Binding SharedColor}" Tag="{Binding}"
  21. MouseLeftButtonDown="CardSelected" PreviewMouseWheel="CardPreviewMouseWheel">
  22. <Grid Margin="2,5,0,5" PreviewMouseWheel="CardPreviewMouseWheel">
  23. <Grid.ColumnDefinitions>
  24. <ColumnDefinition Width="Auto" />
  25. </Grid.ColumnDefinitions>
  26. <Grid.RowDefinitions>
  27. <RowDefinition Height="Auto" />
  28. <RowDefinition Height="*" />
  29. </Grid.RowDefinitions>
  30. <CheckBox Grid.Row="0" Grid.Column="0" x:Name="IsChecked" VerticalAlignment="Top"
  31. HorizontalAlignment="Center" IsChecked="{Binding Path=Checked}" Tag="{Binding}"
  32. Checked="CardChecked" Unchecked="CardChecked"
  33. PreviewMouseWheel="CardPreviewMouseWheel" />
  34. <Label Grid.Row="1" Grid.Column="0" Content="{Binding Path=Flags}"
  35. HorizontalContentAlignment="Center" VerticalContentAlignment="Center">
  36. <Label.LayoutTransform>
  37. <RotateTransform Angle="270" />
  38. </Label.LayoutTransform>
  39. </Label>
  40. </Grid>
  41. <Border.ContextMenu>
  42. <ContextMenu Opened="PacketMenu_Opened" Tag="{Binding}">
  43. <MenuItem Header="Assign Packet to Station" Tag="{Binding}" />
  44. <MenuItem Header="Revert Packet to Pending" Tag="{Binding}" Click="Revert_Click" />
  45. <Separator />
  46. <MenuItem Header="Distribute Packets" Tag="{Binding}" Click="Distribute_Click" />
  47. <Separator />
  48. <MenuItem Header="Share with All Stations" Tag="{Binding}" Click="SetShared_Click" />
  49. <MenuItem Header="Clear Shared Flag" Tag="{Binding}" Click="ClearShared_Click" />
  50. </ContextMenu>
  51. </Border.ContextMenu>
  52. </Border>
  53. <Border Grid.Row="0" Grid.Column="1" BorderBrush="Gray" BorderThickness="0,0.75,0,0.75"
  54. Margin="0,2,0,0" Background="{Binding ColorKey}" Tag="{Binding}"
  55. MouseLeftButtonDown="CardSelected" PreviewMouseWheel="CardPreviewMouseWheel">
  56. <Grid Margin="5" PreviewMouseWheel="CardPreviewMouseWheel">
  57. <Grid.ColumnDefinitions>
  58. <ColumnDefinition Width="*" />
  59. <ColumnDefinition Width="Auto" />
  60. </Grid.ColumnDefinitions>
  61. <Grid.RowDefinitions>
  62. <RowDefinition Height="Auto" />
  63. <RowDefinition Height="*" />
  64. <RowDefinition Height="Auto" />
  65. </Grid.RowDefinitions>
  66. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" Text="{Binding Path=Title}"
  67. TextWrapping="Wrap" FontWeight="Bold" FontSize="12"
  68. PreviewMouseWheel="CardPreviewMouseWheel" />
  69. <Image Grid.Row="0" Grid.Column="1" VerticalAlignment="Top" HorizontalAlignment="Center"
  70. Source="{Binding Path=Image}" Width="20" Height="20" Margin="0,0,10,0"
  71. PreviewMouseWheel="CardPreviewMouseWheel" />
  72. <TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" FontSize="12"
  73. VerticalAlignment="Center" HorizontalAlignment="Left" Text="{Binding Description}"
  74. TextWrapping="Wrap" PreviewMouseWheel="CardPreviewMouseWheel" />
  75. <TextBlock Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Bottom"
  76. HorizontalAlignment="Left" Text="{Binding Path=JobName}"
  77. PreviewMouseWheel="CardPreviewMouseWheel" />
  78. </Grid>
  79. <Border.ContextMenu>
  80. <ContextMenu Opened="PacketMenu_Opened" Tag="{Binding}">
  81. <MenuItem Header="Assign Packet to Station" Tag="{Binding}" />
  82. <MenuItem Header="Revert Packet to Pending" Tag="{Binding}" Click="Revert_Click" />
  83. <Separator />
  84. <MenuItem Header="Distribute Packets" Tag="{Binding}" Click="Distribute_Click" />
  85. <MenuItem Header="Clear Distributed Flag" Tag="{Binding}" Click="ClearDistributed_Click" />
  86. <Separator />
  87. <MenuItem Header="Share with All Stations" Tag="{Binding}" Click="SetShared_Click" />
  88. <MenuItem Header="Clear Shared Flag" Tag="{Binding}" Click="ClearShared_Click" />
  89. </ContextMenu>
  90. </Border.ContextMenu>
  91. </Border>
  92. <Border Grid.Row="0" Grid.Column="2" BorderBrush="Gray" BorderThickness="0,0.75,0.75,0.75"
  93. CornerRadius="0,5,5,0" Margin="0,2,0,0" Background="{Binding SelectedColor}" Tag="{Binding}"
  94. MouseLeftButtonDown="CardSelected" PreviewMouseWheel="CardPreviewMouseWheel">
  95. <Grid Margin="5" PreviewMouseWheel="CardPreviewMouseWheel">
  96. <Grid.ColumnDefinitions>
  97. <ColumnDefinition Width="*" />
  98. </Grid.ColumnDefinitions>
  99. <Grid.RowDefinitions>
  100. <RowDefinition Height="Auto" />
  101. <RowDefinition Height="*" />
  102. <RowDefinition Height="Auto" />
  103. </Grid.RowDefinitions>
  104. <TextBlock Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" HorizontalAlignment="Center"
  105. Text="{Binding Path=DueDate, StringFormat='{}{0:dd MMM yy}'}" FontWeight="Bold"
  106. FontSize="12" PreviewMouseWheel="CardPreviewMouseWheel" />
  107. <TextBlock Grid.Row="1" Grid.Column="0" FontSize="24" VerticalAlignment="Center"
  108. HorizontalAlignment="Center" Text="{Binding Path=Quantity}" Margin="0,0,5,5"
  109. PreviewMouseWheel="CardPreviewMouseWheel" />
  110. <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Bottom" HorizontalAlignment="Center"
  111. Text="{Binding Path=Status}" FontWeight="Bold" FontSize="12"
  112. PreviewMouseWheel="CardPreviewMouseWheel" />
  113. </Grid>
  114. <Border.ContextMenu>
  115. <ContextMenu Opened="PacketMenu_Opened" Tag="{Binding}">
  116. <MenuItem Header="Assign Packet to Station" Tag="{Binding}" />
  117. <MenuItem Header="Revert Packet to Pending" Tag="{Binding}" Click="Revert_Click" />
  118. <Separator />
  119. <MenuItem Header="Distribute Packets" Tag="{Binding}" Click="Distribute_Click" />
  120. <Separator />
  121. <MenuItem Header="Share with All Stations" Tag="{Binding}" Click="SetShared_Click" />
  122. <MenuItem Header="Clear Shared Flag" Tag="{Binding}" Click="ClearShared_Click" />
  123. </ContextMenu>
  124. </Border.ContextMenu>
  125. </Border>
  126. </Grid>
  127. </DataTemplate>
  128. </UserControl.Resources>
  129. <Grid x:Name="Layout">
  130. <Grid.ColumnDefinitions>
  131. <ColumnDefinition Width="Auto" />
  132. <ColumnDefinition Width="*" />
  133. </Grid.ColumnDefinitions>
  134. <Grid.RowDefinitions>
  135. <RowDefinition Height="Auto" />
  136. <RowDefinition Height="*" />
  137. </Grid.RowDefinitions>
  138. <Grid Grid.Row="0" Grid.Column="0" MinWidth="300">
  139. <Grid.ColumnDefinitions>
  140. <ColumnDefinition Width="Auto" />
  141. <ColumnDefinition Width="*" />
  142. <ColumnDefinition Width="Auto" />
  143. </Grid.ColumnDefinitions>
  144. <Border Grid.Column="0" CornerRadius="5,0,0,0" BorderBrush="Gray" BorderThickness="0.75">
  145. <CheckBox x:Name="PendingCheck" VerticalAlignment="Center" Margin="14,0,17,0" Checked="List_Checked"
  146. Unchecked="List_Checked" />
  147. </Border>
  148. <ComboBox x:Name="Sections" Grid.Column="1" Margin="2,0,0,0" SelectedValuePath="Key"
  149. DisplayMemberPath="Value" SelectionChanged="Sections_SelectionChanged" Height="30"
  150. VerticalContentAlignment="Center" HorizontalContentAlignment="Center" />
  151. <Border Grid.Column="2" Margin="2,0,0,0" CornerRadius="0,5,0,0" BorderBrush="Gray" BorderThickness="0.75">
  152. <Label x:Name="Hours" VerticalAlignment="Center" HorizontalAlignment="Center" Content="(calculating)" />
  153. </Border>
  154. </Grid>
  155. <ListBox
  156. x:Name="Pending"
  157. Grid.Column="0"
  158. Grid.Row="1"
  159. Margin="0,2,0,2"
  160. ItemTemplate="{StaticResource Packet}"
  161. HorizontalContentAlignment="Stretch"
  162. ScrollViewer.HorizontalScrollBarVisibility="Disabled"
  163. FocusVisualStyle="{x:Null}"
  164. VirtualizingPanel.IsVirtualizing="True"
  165. VirtualizingPanel.VirtualizationMode="Recycling"
  166. PreviewMouseDown="Items_PreviewMouseDown"
  167. PreviewMouseRightButtonDown="Items_PreviewMouseRightButtonDown"
  168. SelectionChanged="Items_SelectionChanged">
  169. <!--<ListBox.Resources>
  170. <Style TargetType="{x:Type ListBoxItem}">
  171. <Setter Property="Template">
  172. <Setter.Value>
  173. <ControlTemplate TargetType="{x:Type ListBoxItem}">
  174. <Border x:Name="Bd"
  175. BorderBrush="{TemplateBinding BorderBrush}"
  176. BorderThickness="{TemplateBinding BorderThickness}"
  177. Background="{TemplateBinding Background}"
  178. Padding="{TemplateBinding Padding}"
  179. SnapsToDevicePixels="true">
  180. <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
  181. SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
  182. VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
  183. </Border>
  184. <ControlTemplate.Triggers>
  185. <MultiTrigger>
  186. <MultiTrigger.Conditions>
  187. <Condition Property="Selector.IsSelectionActive"
  188. Value="False" />
  189. <Condition Property="IsSelected"
  190. Value="True" />
  191. </MultiTrigger.Conditions>
  192. <Setter Property="Background"
  193. TargetName="Bd"
  194. Value="Transparent" />
  195. </MultiTrigger>
  196. <MultiTrigger>
  197. <MultiTrigger.Conditions>
  198. <Condition Property="Selector.IsSelectionActive"
  199. Value="True" />
  200. <Condition Property="IsSelected"
  201. Value="True" />
  202. </MultiTrigger.Conditions>
  203. <Setter Property="Background"
  204. TargetName="Bd"
  205. Value="Transparent" />
  206. </MultiTrigger>
  207. </ControlTemplate.Triggers>
  208. </ControlTemplate>
  209. </Setter.Value>
  210. </Setter>
  211. </Style>
  212. </ListBox.Resources>-->
  213. </ListBox>
  214. <ScrollViewer x:Name="Scroller" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Margin="2,0,0,0"
  215. HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
  216. <Grid x:Name="Stations">
  217. <Grid.RowDefinitions>
  218. <RowDefinition Height="Auto" />
  219. <RowDefinition Height="*" />
  220. </Grid.RowDefinitions>
  221. </Grid>
  222. </ScrollViewer>
  223. </Grid>
  224. </UserControl>