aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Technician/Controls/DispenserController.xaml
blob: 270b88eedd4ede1b302a2709b24c437fe353160b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; p
<UserControl x:Class="Tango.PPC.Technician.Controls.DispenserController"
             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:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
             xmlns:local="clr-namespace:Tango.PPC.Technician.Controls"
             mc:Ignorable="d" 
             d:DesignHeight="150" d:DesignWidth="800" x:Name="control">
    <Grid>
        <Border CornerRadius="5" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderBrush="{StaticResource TangoLightBorderBrush}" BorderThickness="1">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="41*"/>
                    <RowDefinition Height="66*"/>
                    <RowDefinition Height="41*"/>
                </Grid.RowDefinitions>

                <Border Grid.Row="1">
                    <DockPanel Margin="40 0 0 0">
                        <Grid HorizontalAlignment="Left">
                            <Ellipse Stroke="{StaticResource TangoGrayBrush}" StrokeThickness="3"></Ellipse>
                            <touch:TouchBusyIndicator Minimum="0" Maximum="100" Value="0" IsIndeterminate="{Binding ElementName=control,Path=IsBusy}" Width="Auto" Height="Auto">

                            </touch:TouchBusyIndicator>
                            <touch:TouchIconButton x:Name="btnStop" Click="btnStop_Click" IsEnabled="{Binding ElementName=control,Path=IsBusy}" HorizontalAlignment="Left" Padding="20">
                                <touch:TouchIconButton.Style>
                                    <Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource {x:Type touch:TouchIconButton}}">
                                        <Setter Property="Icon" Value="Cogs"></Setter>
                                        <Setter Property="Foreground" Value="{StaticResource TangoGrayTextBrush}"></Setter>
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding ElementName=control,Path=IsBusy}" Value="True">
                                                <Setter Property="Icon" Value="Stop"></Setter>
                                                <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </touch:TouchIconButton.Style>
                            </touch:TouchIconButton>
                        </Grid>

                        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="20 0 0 0" TextElement.FontSize="{StaticResource TangoTitleFontSize}">
                            <TextBlock Width="245">
                            <Run Text="Dispenser:"></Run>
                            <Run FontWeight="SemiBold" Text="{Binding ElementName=control,Path=IdsPack.LiquidType.Name,FallbackValue='Unknown'}"></Run>
                            </TextBlock>

                            <TextBlock Margin="40 0 0 0">
                            <Run Text="Index:"></Run>
                            <Run FontWeight="SemiBold" Text="{Binding ElementName=control,Path=IdsPack.PackIndex,FallbackValue='1',Converter={StaticResource MathOperatorConverter},ConverterParameter='+1'}"></Run>
                            </TextBlock>

                            <TextBlock Margin="40 0 0 0" Foreground="{StaticResource TangoPrimaryAccentBrush}" FontStyle="Italic">
                                <TextBlock.Style>
                                    <Style TargetType="TextBlock">
                                        <Setter Property="Text" Value="Ready"></Setter>
                                        <Style.Triggers>
                                            <DataTrigger Binding="{Binding ElementName=control,Path=IsHoming}" Value="True">
                                                <Setter Property="Text" Value="Homing..."></Setter>
                                            </DataTrigger>
                                            <DataTrigger Binding="{Binding ElementName=control,Path=IsPriming}" Value="True">
                                                <Setter Property="Text" Value="Priming..."></Setter>
                                            </DataTrigger>
                                        </Style.Triggers>
                                    </Style>
                                </TextBlock.Style>
                            </TextBlock>
                        </StackPanel>


                        <touch:TouchNumericTextBox Foreground="{StaticResource TangoPrimaryAccentBrush}" x:Name="numSpeed" VerticalContentAlignment="Center" Minimum="1" Maximum="10000" Value="1000" HorizontalContentAlignment="Center" FontSize="{StaticResource TangoTitleFontSize}" DockPanel.Dock="Right" Width="100" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="20 0 20 0"></touch:TouchNumericTextBox>
                        <Rectangle DockPanel.Dock="Right" HorizontalAlignment="Right" Stroke="{StaticResource TangoDividerBrush}"></Rectangle>
                    </DockPanel>
                </Border>

                <touch:TouchIconButton x:Name="btnPriming" Click="btnPriming_Click" IsEnabled="{Binding ElementName=control,Path=IsBusy,Converter={StaticResource BooleanInverseConverter}}" HorizontalAlignment="Left" Margin="54 0 0 0" Icon="ChevronUpSolid">
                    <touch:TouchIconButton.Style>
                        <Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource {x:Type touch:TouchIconButton}}">
                            <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
                        </Style>
                    </touch:TouchIconButton.Style>
                </touch:TouchIconButton>

                <touch:TouchIconButton x:Name="btnHoming" Click="btnHoming_Click" IsEnabled="{Binding ElementName=control,Path=IsBusy,Converter={StaticResource BooleanInverseConverter}}" Grid.Row="2" HorizontalAlignment="Left" Margin="54 0 0 0" Icon="ChevronDownSolid">
                    <touch:TouchIconButton.Style>
                        <Style TargetType="touch:TouchIconButton" BasedOn="{StaticResource {x:Type touch:TouchIconButton}}">
                            <Setter Property="Foreground" Value="{StaticResource TangoPrimaryAccentBrush}"></Setter>
                        </Style>
                    </touch:TouchIconButton.Style>
                </touch:TouchIconButton>
            </Grid>
        </Border>
    </Grid>
</UserControl>
    
lass="s">" violates foreign key constraint " + trigger.Name + "')" + " WHERE" + nullString + " (SELECT " + fks.ForeignColumnName + " FROM " + fks.ForeignTableName + " WHERE " + fks.ForeignColumnName + " = NEW." + fks.ColumnName + ") IS NULL; " ; return trigger; } public static TriggerSchema GenerateUpdateTrigger(ForeignKeySchema fks) { TriggerSchema trigger = new TriggerSchema(); trigger.Name = MakeTriggerName(fks, "fku"); trigger.Type = TriggerType.Before; trigger.Event = TriggerEvent.Update; trigger.Table = fks.TableName; string triggerName = trigger.Name; string nullString = ""; if (fks.IsNullable) { nullString = " NEW." + fks.ColumnName + " IS NOT NULL AND"; } trigger.Body = "SELECT RAISE(ROLLBACK, 'update on table " + fks.TableName + " violates foreign key constraint " + triggerName + "')" + " WHERE" + nullString + " (SELECT " + fks.ForeignColumnName + " FROM " + fks.ForeignTableName + " WHERE " + fks.ForeignColumnName + " = NEW." + fks.ColumnName + ") IS NULL; "; return trigger; } public static TriggerSchema GenerateDeleteTrigger(ForeignKeySchema fks) { TriggerSchema trigger = new TriggerSchema(); trigger.Name = MakeTriggerName(fks, "fkd"); trigger.Type = TriggerType.Before; trigger.Event = TriggerEvent.Delete; trigger.Table = fks.ForeignTableName; string triggerName = trigger.Name; if (!fks.CascadeOnDelete) { trigger.Body = "SELECT RAISE(ROLLBACK, 'delete on table " + fks.ForeignTableName + " violates foreign key constraint " + triggerName + "')" + " WHERE (SELECT " + fks.ColumnName + " FROM " + fks.TableName + " WHERE " + fks.ColumnName + " = OLD." + fks.ForeignColumnName + ") IS NOT NULL; "; } else { trigger.Body = "DELETE FROM [" + fks.TableName + "] WHERE " + fks.ColumnName + " = OLD." + fks.ForeignColumnName + "; "; } return trigger; } } }