| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 | <UserControl x:Class="PunkHPX8_MainPages.Views.OperationOverView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:d="http://schemas.microsoft.com/expression/blend/2008"              xmlns:local="clr-namespace:PunkHPX8_MainPages.Views"             mc:Ignorable="d"              xmlns:ctrls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"             xmlns:customControls="clr-namespace:PunkHPX8_Themes.CustomControls;assembly=PunkHPX8_Themes"             xmlns:Attach="clr-namespace:PunkHPX8_UI.Themes.Attach;assembly=PunkHPX8_Themes"             xmlns:converters="clr-namespace:PunkHPX8_Themes.Converters;assembly=PunkHPX8_Themes"             xmlns:converters2="clr-namespace:PunkHPX8_MainPages.Converters"             xmlns:userControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"             xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"             xmlns:prism="http://prismlibrary.com/"             prism:ViewModelLocator.AutoWireViewModel="True"             xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"                         xmlns:unity="clr-namespace:PunkHPX8_MainPages.Unity"             d:DesignHeight="450" d:DesignWidth="800">    <!--<i:Interaction.Triggers>        <i:EventTrigger EventName="Loaded">            <i:InvokeCommandAction Command="{Binding LoadCommand}"/>        </i:EventTrigger>    </i:Interaction.Triggers>-->    <UserControl.Resources>        <converters:BoolToVisibility x:Key="boolToVisibility"/>        <converters:BoolToVisibility2 x:Key="boolToVisibility2"/>        <converters:BoolToVisibility3 x:Key="boolToVisibility3"/>        <converters:BoolToBool x:Key="BoolToBool"/>        <converters2:IsOnlineToOpacityConverter x:Key="IsOnlineToOpacityConverter"/>        <converters:BoolToColor  x:Key="boolToColor"/>        <converters:BoolToColor4 x:Key="boolToColor4"/>        <converters2:IntToPathDataConverter x:Key="IntToPathDataConverter"/>    </UserControl.Resources>    <Canvas>        <userControls:WaferStatus Canvas.Left="1721" Canvas.Top="15" HorizontalAlignment="Center" VerticalAlignment="Top"/>        <Border BorderThickness="0,0,0,1" BorderBrush="Black" Canvas.Top="20" Canvas.Left="40" Width="915">            <StackPanel Orientation="Horizontal" Margin="0,0,0,5">                <customControls:PathButton PathData="{StaticResource Icon_Init}"  DefaultFillBrush="White"  Command="{Binding HomeAllCommand}"  Width="120" Height="30" Content="Initialize"    Margin="10,0,0,0" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>                <RadioButton Content="Manual"   FontSize="15"   Width="120" Height="28" Margin="50 0 5 0" Style="{StaticResource Button_RadioButton}"  Command="{Binding EnableManualCommand}" IsChecked="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"/>                <RadioButton Content="Auto"     FontSize="15"   Width="120" Height="28" Margin="0 0 0 0" Style="{StaticResource Button_RadioButton}"     Command="{Binding EnableAutoCommand}"  IsChecked="{Binding RtDataValues[System.IsAutoMode]}"/>                <customControls:PathButton PathData="{StaticResource Icon_Abort}"   DefaultFillBrush="White" Width="130" Height="30" Content="Abort"           Command="{Binding AbortAllCommand}"         Margin="50 0 0 0" />                <customControls:PathButton PathData="{Binding RtDataValues[EquipmentStatus],Converter={StaticResource IntToPathDataConverter}}"   DefaultFillBrush="White" Width="130" Height="30" Content="{Binding RouteState}"           Command="{Binding ResumeAllJobCommand}"            IsEnabled="{Binding RtDataValues[System.IsAutoMode]}" Margin="50 0 0 0" />            </StackPanel>        </Border>        <Canvas Canvas.Top="40">            <Grid Canvas.Left="113" Canvas.Top="184" Panel.ZIndex="2" Visibility="{Binding IsLP1Unable,Converter={StaticResource bool2VisibilityConverter}}">                <Rectangle  Width="70" Height="70" Fill="Silver"  Opacity="0.8" RadiusX="0.1" RadiusY="0.1"                     />            </Grid>            <Grid Canvas.Left="113" Canvas.Top="282" Panel.ZIndex="2" Visibility="{Binding IsLP2Unable,Converter={StaticResource bool2VisibilityConverter}}">                <Rectangle  Width="70" Height="70" Fill="Silver"  Opacity="0.8" RadiusX="0.1" RadiusY="0.1"         />            </Grid>            <TextBlock Canvas.Top="220" Canvas.Left="50" Text="{Binding RtDataValues[LP1.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP1.CassettePlaced], Converter={StaticResource boolToVisibility2}}"    HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">            </TextBlock>            <TextBlock Canvas.Top="320" Canvas.Left="50" Text="{Binding RtDataValues[LP2.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP2.CassettePlaced], Converter={StaticResource boolToVisibility2}}"    HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">            </TextBlock>            <TextBlock Canvas.Top="420" Canvas.Left="50" Text="{Binding RtDataValues[LP3.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP3.CassettePlaced], Converter={StaticResource boolToVisibility2}}"               HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">            </TextBlock>            <Canvas Canvas.Left="280">                <userControls:EFEM Width="360" Height="300" Canvas.Left="-88" Canvas.Top="169" Aligner1Wafer="{Binding Aligner1Wafer}"                                    LP1Presented="{Binding RtDataValues[LP1.CassettePlaced]}" LP2Presented="{Binding RtDataValues[LP2.CassettePlaced]}"                                    LP3Presented="{Binding RtDataValues[LP3.CassettePlaced]}" LP1Loaded="{Binding RtDataValues[LP1.IsLoaded]}"                                    LP2Loaded="{Binding RtDataValues[LP2.IsLoaded]}" LP3Loaded="{Binding RtDataValues[LP3.IsLoaded]}"                                    RobotATAction="{Binding Robot3TAction}" RobotAXAction="{Binding Robot3XAction}"                                    RobotAWaferInfo="{Binding BladeAWafer}" CurrentRobotPosition="{Binding CurrentRobotPosition}"                                                          HorizontalAlignment="Center" VerticalAlignment="Top"                                    />                <TextBlock Text="{Binding RobotMoveInfo}"     FontSize="20" Canvas.Left="700" Canvas.Top="250" Visibility="Collapsed"/>                <TextBlock Text="{Binding EfemRobotMoveInfo}" FontSize="20" Canvas.Left="700" Canvas.Top="350" Visibility="Collapsed"/>            </Canvas>            <Canvas Canvas.Left="-210" Canvas.Top="-165">                <TabPanel  Canvas.Left="1170"  Canvas.Top="140" Visibility="{Binding ElementName=CarrierRadioButton,Path=IsChecked,Converter={StaticResource boolToVisibility2}}">                    <Border BorderBrush="Gray" BorderThickness="1" Width="710" Height="480">                        <StackPanel Orientation="Horizontal" >                            <StackPanel>                                <TextBox Background="{DynamicResource Table_BG_Title}"  Text="LP1" Width="150" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"                                      IsReadOnly="True" FontSize="10"/>                                <ctrls:FOUPFrontView UnitData="{Binding LP1ModuleInfo}"                                                     IsCassettePlaced="{Binding RtDataValues[LP1.CassettePlaced]}"                                                     ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"                                                      Visibility="{Binding RtDataValues[LP1.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                                <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="12" Visibility="{Binding RtDataValues[LP1.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <TextBlock.Text>                                        <MultiBinding StringFormat="{}Wafer Count:{0}">                                            <Binding Path="LP1WaferCount"></Binding>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsLP1HasNoJob}" Visibility="{Binding RtDataValues[LP1.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <customControls:PathButton Content="Map"   HorizontalAlignment="Center" Margin="25,5,0,5" Width="75" Height="30" Command="{Binding MapCommand}"   CommandParameter="LP1"   IsEnabled="{Binding IsLP1Unable,Converter={StaticResource BoolToBool}}"/>                                </StackPanel>                            </StackPanel>                            <StackPanel>                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP2" Width="150" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"                                     IsReadOnly="True" FontSize="10"/>                                <ctrls:FOUPFrontView UnitData="{Binding LP2ModuleInfo}"                                                      IsCassettePlaced="{Binding RtDataValues[LP2.CassettePlaced]}"                                                     ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"                                                     Visibility="{Binding RtDataValues[LP2.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                                <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="12" Visibility="{Binding RtDataValues[LP2.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <TextBlock.Text>                                        <MultiBinding StringFormat="{}Wafer Count:{0}">                                            <Binding Path="LP2WaferCount"></Binding>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsLP2HasNoJob}" Visibility="{Binding RtDataValues[LP2.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <customControls:PathButton Content="Map"   HorizontalAlignment="Center" Margin="25,5,0,5" Width="75" Height="30" Command="{Binding MapCommand}" CommandParameter="LP2"                                                              IsEnabled="{Binding IsLP2Unable,Converter={StaticResource BoolToBool}}"/>                                                                  </StackPanel>                            </StackPanel>                            <StackPanel >                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="LP3" Width="150" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"                                     IsReadOnly="True" FontSize="10"/>                                <ctrls:FOUPFrontView UnitData="{Binding LP3ModuleInfo}"                                                      IsCassettePlaced="{Binding RtDataValues[LP3.CassettePlaced]}"                                                     ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"                                                     Visibility="{Binding RtDataValues[LP3.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                                <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="12" Visibility="{Binding RtDataValues[LP3.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <TextBlock.Text>                                        <MultiBinding StringFormat="{}Wafer Count:{0}">                                            <Binding Path="LP3WaferCount"></Binding>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsLP3HasNoJob}" Visibility="{Binding RtDataValues[LP3.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <customControls:PathButton Content="Map"   HorizontalAlignment="Center" Margin="25,5,0,5" Width="75" Height="30" Command="{Binding MapCommand}" CommandParameter="LP3"                                                              IsEnabled="{Binding IsLP3Unable,Converter={StaticResource BoolToBool}}"/>                                                                   </StackPanel>                            </StackPanel>                            <StackPanel >                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy1" Width="130" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"                                     IsReadOnly="True" FontSize="10"/>                                <ctrls:FOUPFrontView UnitData="{Binding Dummy1ModuleInfo}"                                                      IsCassettePlaced="{Binding RtDataValues[Dummy1.CassettePlaced]}"                                                     ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"                                                     Visibility="{Binding RtDataValues[Dummy1.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                                <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="12"                                            Visibility="{Binding RtDataValues[Dummy1.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <TextBlock.Text>                                        <MultiBinding StringFormat="{}Wafer Count:{0}">                                            <Binding Path="Dummy1WaferCount"></Binding>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <TextBlock Text="{Binding RtDataValues[Dummy1.WaferSize], StringFormat=({0})}" HorizontalAlignment="Center" Margin="0,10,0,0" FontSize="12"                                           Visibility="{Binding RtDataValues[Dummy1.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                            </StackPanel>                            <StackPanel >                                <TextBox Background="{DynamicResource Table_BG_Title}" Text="Dummy2" Width="130" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"                                     IsReadOnly="True" FontSize="10"/>                                <ctrls:FOUPFrontView UnitData="{Binding Dummy2ModuleInfo}"                                                     IsCassettePlaced="{Binding RtDataValues[Dummy2.CassettePlaced]}"                                                     ShowTitle="False" IsEnabled="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource BoolToBool}}"                                                     Visibility="{Binding RtDataValues[Dummy2.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                                <TextBlock  HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="12" Visibility="{Binding RtDataValues[Dummy2.CassettePlaced],Converter={StaticResource boolToVisibility2}}">                                    <TextBlock.Text>                                        <MultiBinding StringFormat="{}Wafer Count:{0}">                                            <Binding Path="Dummy2WaferCount"></Binding>                                        </MultiBinding>                                    </TextBlock.Text>                                </TextBlock>                                <TextBlock Text="{Binding RtDataValues[Dummy2.WaferSize], StringFormat=({0})}" HorizontalAlignment="Center" Margin="0,10,0,0" FontSize="12" Visibility="{Binding RtDataValues[Dummy2.CassettePlaced],Converter={StaticResource boolToVisibility2}}"/>                            </StackPanel>                        </StackPanel>                    </Border>                </TabPanel>            </Canvas>            <Grid Visibility="Hidden" Canvas.Left="1700"  Canvas.Top="40" Width="200" Background="White" Margin="10,-1,0,-1">                <Grid.ColumnDefinitions>                    <ColumnDefinition/>                    <ColumnDefinition Width="9*"/>                </Grid.ColumnDefinitions>                <Grid.RowDefinitions>                    <RowDefinition Height="30"/>                    <RowDefinition Height="Auto"/>                    <RowDefinition Height="30"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Border Grid.Row="0" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1" Background="{DynamicResource MainFrame_BG_Title}" Padding="5,1" Grid.ColumnSpan="2">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">                        <Path Data="M0,0 L5,0 5,5 z" Fill="Black" HorizontalAlignment="Left" Grid.Row="1" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Width="5" Height="5">                            <Path.RenderTransform>                                <TransformGroup>                                    <ScaleTransform/>                                    <SkewTransform/>                                    <RotateTransform Angle="45"/>                                    <TranslateTransform/>                                </TransformGroup>                            </Path.RenderTransform>                        </Path>                        <TextBlock Margin="5,0,0,0" Text="Wafer Status"  FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center"/>                    </StackPanel>                </Border>                <Border Grid.Row="1" BorderBrush="{DynamicResource MainFrame_BD}" BorderThickness="1,0,1,1" Padding="5,1" Grid.ColumnSpan="2">                    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5">                        <Grid Width="180" Height="20" HorizontalAlignment="Left">                            <Grid.ColumnDefinitions>                                <ColumnDefinition Width="40"/>                                <ColumnDefinition />                            </Grid.ColumnDefinitions>                            <Rectangle Fill="Gold" Stroke="Black" StrokeThickness="1"/>                            <TextBlock Text="Idle / Unselected" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                        </Grid>                        <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">                            <Grid.ColumnDefinitions>                                <ColumnDefinition Width="40"/>                                <ColumnDefinition Width="6*" />                                <ColumnDefinition Width="29*"/>                            </Grid.ColumnDefinitions>                            <Rectangle Fill="Blue" Stroke="Black" StrokeThickness="1"/>                            <TextBlock Text="Idle / Job Selected" Grid.Column="1" Margin="10,2,0,1" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Grid.ColumnSpan="2"/>                        </Grid>                        <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">                            <Grid.ColumnDefinitions>                                <ColumnDefinition Width="40"/>                                <ColumnDefinition />                            </Grid.ColumnDefinitions>                            <Rectangle Fill="Cyan" Stroke="Black" StrokeThickness="1"/>                            <TextBlock Text="In Process" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                        </Grid>                        <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">                            <Grid.ColumnDefinitions>                                <ColumnDefinition Width="40"/>                                <ColumnDefinition />                            </Grid.ColumnDefinitions>                            <Rectangle Fill="LimeGreen" Stroke="Black" StrokeThickness="1"/>                            <TextBlock Text="Process Complete" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                        </Grid>                        <Grid Width="180" Height="20" Margin="0,5,0,0" HorizontalAlignment="Left">                            <Grid.ColumnDefinitions>                                <ColumnDefinition Width="40"/>                                <ColumnDefinition />                            </Grid.ColumnDefinitions>                            <Rectangle Fill="Red" Stroke="Black" StrokeThickness="1"/>                            <TextBlock Text="Error" Grid.Column="1" Margin="10,0,0,0" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>                        </Grid>                    </StackPanel>                </Border>            </Grid>        </Canvas>        <TextBlock Canvas.Top="82" Canvas.Left="217" Text="Dummy Cassette" FontSize="16"></TextBlock>        <userControls:SRD2 CassetteName="SRD2" Canvas.Left="389" Canvas.Top="107" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Top" SRD2Wafer="{Binding SRD2Wafer}" SRD2Visibility="Visible">            <i:Interaction.Triggers>                <i:EventTrigger EventName="MouseLeftButtonUp">                    <i:InvokeCommandAction Command="{Binding GotoSrdViewCommond}" CommandParameter="SRD2"/>                </i:EventTrigger>            </i:Interaction.Triggers>        </userControls:SRD2>        <userControls:SRD1 CassetteName="SRD1" Canvas.Left="389" Canvas.Top="107" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Top" SRD1Wafer="{Binding SRD1Wafer}" SRD1Visibility="Visible">            <i:Interaction.Triggers>                <i:EventTrigger EventName="MouseLeftButtonUp">                    <i:InvokeCommandAction Command="{Binding GotoSrdViewCommond}" CommandParameter="SRD1"/>                </i:EventTrigger>            </i:Interaction.Triggers>        </userControls:SRD1>        <!--<userControls:SRD CassetteName="SRD2" Canvas.Left="345" Canvas.Top="107" Width="100" Height="100" HorizontalAlignment="Center" VerticalAlignment="Top" RobotWafer="{Binding SRD2Wafer}" SRDVisibility="Visible"/>-->        <userControls:DummyCassette Canvas.Left="360" Canvas.Top="207" RotateTransformValue="180" Width="100" Height="100"/>        <local:ProcessChamberView Tag="" Canvas.Left="110" Canvas.Top="513"/>        <userControls:SRDFrontView UnitData1="{Binding SRD2ModuleInfo}" UnitData2="{Binding SRD1ModuleInfo}" Title="SRD"  Canvas.Top="105" Canvas.Left="545"/>        <userControls:RobotFrontView Canvas.Left="740" Canvas.Top="137" UnitData="{Binding EFEMModuleInfo}"/>    </Canvas></UserControl>
 |