aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/MainView.xaml
blob: 2e36347a3837bb172f37148585586792fb5dd615 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
12
<UserControl x:Class="Tango.PPC.UI.Views.MainView"
             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:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:commonControls="clr-namespace:Tango.PPC.Common.Controls;assembly=Tango.PPC.Common"
			 xmlns:vm="clr-namespace:Tango.PPC.UI.ViewModels"
			 xmlns:global="clr-namespace:Tango.PPC.UI"
             xmlns:operations="clr-namespace:Tango.Integration.Operation;assembly=Tango.Integration"
             xmlns:local="clr-namespace:Tango.PPC.UI.Views"
             xmlns:notifications="clr-namespace:Tango.PPC.UI.Notifications"
             xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
             xmlns:components="clr-namespace:Tango.Touch.Components;assembly=Tango.Touch"
             xmlns:localConverters="clr-namespace:Tango.PPC.UI.Converters"
             mc:Ignorable="d" 
             d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">

    <UserControl.Resources>
        <localConverters:ItemBaseConverter x:Key="ItemBaseConverter" />
    </UserControl.Resources>

    <Grid>
        <touch:TouchPanel 
            HasMessageBox="{Binding NotificationProvider.HasMessageBox}" 
            CurrentMessageBox="{Binding NotificationProvider.CurrentMessageBox}" 
            HasDialog="{Binding NotificationProvider.HasDialog}"
            CurrentDialog="{Binding NotificationProvider.CurrentDialog}"
            IsBusy="{Binding NotificationProvider.IsInGlobalBusyState}"
            BusyMessage="{Binding NotificationProvider.GlobalBusyMessage}">
            <touch:TouchPanel.TaskBarElement>
                <Border DockPanel.Dock="Top" Background="Black" Padding="5">
                    <DockPanel>
                        <TextBlock VerticalAlignment="Center" DockPanel.Dock="Right" Text="{Binding CurrentDateTime,StringFormat='g'}" FontSize="16" Foreground="{StaticResource TangoPrimaryBackgroundBrush}"></TextBlock>
                        <touch:TouchIcon Width="20" Height="20" VerticalAlignment="Center">
                            <touch:TouchIcon.Style>
                                <Style TargetType="touch:TouchIcon" BasedOn="{StaticResource {x:Type touch:TouchIcon}}">
                                    <Setter Property="Icon" Value="WifiStrengthOff"></Setter>
                                    <Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding ConnectivityProvider.IsConnected}" Value="True">
                                            <Setter Property="Icon" Value="Wifi"></Setter>
                                            <Setter Property="Foreground" Value="{StaticResource TangoSuccessBrush}"></Setter>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </touch:TouchIcon.Style>
                        </touch:TouchIcon>

                        <touch:TouchIcon Margin="10 0 0 0" Width="18" Height="18" VerticalAlignment="Center">
                            <touch:TouchIcon.Style>
                                <Style TargetType="touch:TouchIcon" BasedOn="{StaticResource {x:Type touch:TouchIcon}}">
                                    <Setter Property="Icon" Value="LanDisconnect"></Setter>
                                    <Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding ConnectivityProvider.IsLanConnected}" Value="True">
                                            <Setter Property="Icon" Value="LanConnect"></Setter>
                                            <Setter Property="Foreground" Value="{StaticResource TangoSuccessBrush}"></Setter>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </touch:TouchIcon.Style>
                        </touch:TouchIcon>

                        <touch:TouchIcon Margin="10 0 0 0" Width="18" Height="18" VerticalAlignment="Center" Foreground="{StaticResource TangoSuccessBrush}" Icon="AccessPointNetwork" Visibility="{Binding HotSpotProvider.IsEnabled,Converter={StaticResource BooleanToVisibilityConverter}}" />

                        <touch:TouchIcon Margin="10 0 0 0" Width="18" Height="18" VerticalAlignment="Center" Icon="Bridge" Visibility="{Binding ExternalBridgeService.Enabled,Converter={StaticResource BooleanToVisibilityConverter}}">
                            <touch:TouchIcon.Style>
                                <Style TargetType="touch:TouchIcon">
                                    <Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding ExternalBridgeService.HasSessions}" Value="True">
                                            <Setter Property="Foreground" Value="{StaticResource TangoSuccessBrush}"></Setter>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </touch:TouchIcon.Style>
                        </touch:TouchIcon>

                        <touch:TouchIcon Margin="10 0 0 0" Width="18" Height="18" VerticalAlignment="Center" Foreground="{StaticResource TangoSuccessBrush}" Icon="RemoteDesktop" Visibility="{Binding RemoteDesktopService.InSession,Converter={StaticResource BooleanToVisibilityConverter}}" />

                        <ItemsControl ItemsSource="{Binding NotificationProvider.TaskBarItems}">
                            <ItemsControl.ItemsPanel>
                                <ItemsPanelTemplate>
                                    <StackPanel Orientation="Horizontal" />
                                </ItemsPanelTemplate>
                            </ItemsControl.ItemsPanel>
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <ContentControl Width="20" Height="20" VerticalAlignment="Center" Margin="10 0 0 0" Content="{Binding Converter={StaticResource ItemBaseConverter}}"/>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>

                        <Image Margin="10 0 0 0" Width="18" Height="18" VerticalAlignment="Center" RenderOptions.BitmapScalingMode="Fant">
                            <Image.Style>
                                <Style TargetType="Image">
                                    <Setter Property="Source" Value="/Images/GlobalStatus/machine-off.png"></Setter>
                                    <Style.Triggers>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.Disconnected}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/machine-off.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.PowerUp}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/getting-ready.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.Standby}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/standby.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.ReadyToDye}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/ready-to-dye.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.GettingReady}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/getting-ready.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.Printing}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/dyeing.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.ShuttingDown}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/shutting-down.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.Error}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/error.png"></Setter>
                                        </DataTrigger>
                                        <DataTrigger Binding="{Binding MachineProvider.MachineOperator.Status}" Value="{x:Static operations:MachineStatuses.Service}">
                                            <Setter Property="Source" Value="/Images/GlobalStatus/service.png"></Setter>
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </Image.Style>
                        </Image>
                        <Grid></Grid>
                    </DockPanel>
                </Border>
            </touch:TouchPanel.TaskBarElement>

            <controls:NavigationControl TransitionAlwaysFades="True" KeepElementsAttached="False" UseDefferedRendering="True" TransitionType="Zoom" x:Name="NavigationControl" x:FieldModifier="public">
                <local:LoadingView></local:LoadingView>
                <local:LoadingErrorView></local:LoadingErrorView>
                <local:NoPermissionsView></local:NoPermissionsView>
                <local:LoginView></local:LoginView>
                <local:LayoutView></local:LayoutView>
                <local:ExternalBridgeView></local:ExternalBridgeView>
                <local:MachineSetupView></local:MachineSetupView>
                <local:MachineUpdateView></local:MachineUpdateView>
                <local:RestartingSystemView></local:RestartingSystemView>
                <local:EmergencyView></local:EmergencyView>
                <local:RestartingView></local:RestartingView>
            </controls:NavigationControl>
        </touch:TouchPanel>
    </Grid>
</UserControl>
class="w"> Visibility = Visibility.Hidden; Notify("Running in background..."); } e.Cancel = !_canClose; } private void Notify(String text) { this.BeginInvoke(() => { _icon.ShowBalloonTip(500, Title, text, ToolTipIcon.Info); }); } } }