aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Graphics/database.svg
blob: 6dfb37069b64f9d6c89675352cc4db2c680ef0f7 (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
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 57 57" style="enable-background:new 0 0 57 57;" xml:space="preserve">
<g>
	<g>
		<path style="fill:#545E73;" d="M49.455,8L49.455,8C48.724,3.538,38.281,0,25.5,0S2.276,3.538,1.545,8l0,0H1.5v0.5V20v0.5V21v11
			v0.5V33v12h0.045c0.731,4.461,11.175,8,23.955,8s23.224-3.539,23.955-8H49.5V33v-0.5V32V21v-0.5V20V8.5V8H49.455z"/>
		<g>
			<path style="fill:#38454F;" d="M25.5,41c-13.255,0-24-3.806-24-8.5V45h0.045c0.731,4.461,11.175,8,23.955,8
				s23.224-3.539,23.955-8H49.5V32.5C49.5,37.194,38.755,41,25.5,41z"/>
			<path style="fill:#38454F;" d="M1.5,32v0.5c0-0.168,0.018-0.334,0.045-0.5H1.5z"/>
			<path style="fill:#38454F;" d="M49.455,32c0.027,0.166,0.045,0.332,0.045,0.5V32H49.455z"/>
		</g>
		<g>
			<path style="fill:#556080;" d="M25.5,29c-13.255,0-24-3.806-24-8.5V33h0.045c0.731,4.461,11.175,8,23.955,8
				s23.224-3.539,23.955-8H49.5V20.5C49.5,25.194,38.755,29,25.5,29z"/>
			<path style="fill:#556080;" d="M1.5,20v0.5c0-0.168,0.018-0.334,0.045-0.5H1.5z"/>
			<path style="fill:#556080;" d="M49.455,20c0.027,0.166,0.045,0.332,0.045,0.5V20H49.455z"/>
		</g>
		<ellipse style="fill:#91BAE1;" cx="25.5" cy="8.5" rx="24" ry="8.5"/>
		<g>
			<path style="fill:#8697CB;" d="M25.5,17c-13.255,0-24-3.806-24-8.5V21h0.045c0.731,4.461,11.175,8,23.955,8
				s23.224-3.539,23.955-8H49.5V8.5C49.5,13.194,38.755,17,25.5,17z"/>
			<path style="fill:#8697CB;" d="M1.5,8v0.5c0-0.168,0.018-0.334,0.045-0.5H1.5z"/>
			<path style="fill:#8697CB;" d="M49.455,8C49.482,8.166,49.5,8.332,49.5,8.5V8H49.455z"/>
		</g>
	</g>
	<g>
		<path style="fill:#BDC3C7;" d="M55.5,43.846l-1.444-0.278c-2.143-0.412-3.125-2.916-1.835-4.675l0.907-1.236l-1.958-1.958
			l-1.217,0.825c-1.806,1.224-4.272,0.148-4.604-2.008L45.115,33h-2.769l-0.359,1.865c-0.403,2.096-2.818,3.096-4.585,1.899
			l-1.572-1.065l-1.958,1.958l0.907,1.236c1.29,1.76,0.308,4.263-1.835,4.675L31.5,43.846v2.769l1.515,0.233
			c2.157,0.332,3.232,2.797,2.008,4.604l-0.825,1.217l1.958,1.958l1.236-0.907c1.76-1.29,4.263-0.308,4.675,1.835L42.346,57h2.769
			l0.164-1.066c0.339-2.204,2.896-3.263,4.694-1.944l0.869,0.638l1.958-1.958l-0.825-1.217c-1.224-1.806-0.148-4.272,2.008-4.604
			l1.515-0.233V43.846z"/>
		<g>
			<circle style="fill:#FFFFFF;" cx="43.5" cy="45" r="4"/>
			<path style="fill:#ECF0F1;" d="M43.5,50c-2.757,0-5-2.243-5-5s2.243-5,5-5s5,2.243,5,5S46.257,50,43.5,50z M43.5,42
				c-1.654,0-3,1.346-3,3s1.346,3,3,3s3-1.346,3-3S45.154,42,43.5,42z"/>
		</g>
	</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
<controls:View x:Class="Tango.MachineStudio.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:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
             xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
             xmlns:dockablz="clr-namespace:Dragablz.Dockablz;assembly=Dragablz"
             xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
             xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
             xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
             xmlns:local="clr-namespace:Tango.MachineStudio.UI.Views"
             xmlns:commonConverters="clr-namespace:Tango.MachineStudio.Common.Converters;assembly=Tango.MachineStudio.Common"
             mc:Ignorable="d" 
             d:DesignHeight="720" d:DesignWidth="1270" Background="Transparent" DataContext="{Binding MainViewVM, Source={StaticResource Locator}}" x:Name="control">

    <UserControl.Resources>
        <converters:StringEllipsisConverter x:Key="StringEllipsisConverter" />
        <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />
        <converters:NullObjectToBooleanConverter x:Key="NullObjectToBooleanConverter" />
        <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
        <converters:StringToWordsConverter x:Key="StringToWordsConverter" />
        <commonConverters:PermissionToVisibilityConverter x:Key="PermissionToVisibilityConverter" />
        <converters:VersionToShortVersionConverter x:Key="VersionToShortVersionConverter" />
    </UserControl.Resources>

    <Grid>
        <Grid.Style>
            <Style TargetType="Grid">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding NotificationProvider.HasTaskItems}" Value="True">
                        <Setter Property="Cursor" Value="AppStarting"></Setter>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding NotificationProvider.HasTaskItems}" Value="False">
                        <Setter Property="Cursor" Value="Arrow"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Grid.Style>

        <materialDesign:DrawerHost IsLeftDrawerOpen="{Binding Source={x:Reference MenuToggleButton}, Path=IsChecked}">
            <materialDesign:DrawerHost.LeftDrawerContent>
                <DockPanel LastChildFill="False">
                    <StackPanel MinWidth="300" DockPanel.Dock="Top">
                        <Grid>
                            <ToggleButton Style="{StaticResource MaterialDesignHamburgerToggleButton}" 
                                    HorizontalAlignment="Right" Margin="16"
                                    IsChecked="{Binding Source={x:Reference MenuToggleButton}, Path=IsChecked, Mode=TwoWay}" />

                            <StackPanel Margin="5 0 0 0" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
                                <Image Source="/Images/account.png" RenderOptions.BitmapScalingMode="Fant" VerticalAlignment="Center" Width="50" Height="50"></Image>
                                <StackPanel Margin="0 5 0 0">
                                    <TextBlock FontSize="16" TextTrimming="CharacterEllipsis" MaxWidth="170" FontStyle="Italic" FontWeight="Bold" Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding AuthenticationProvider.CurrentUser.Contact.FullName}"></TextBlock>
                                    <TextBlock FontSize="12" TextTrimming="CharacterEllipsis" MaxWidth="170" FontStyle="Italic" Margin="10 5 0 0" VerticalAlignment="Center">
                                        <Run Text="{Binding AuthenticationProvider.CurrentUser.Organization.Name}"></Run>
                                        ,
                                        <Run Text="{Binding AuthenticationProvider.CurrentUser.Roles[0].Name}">
                                            <Run.ToolTip>
                                                <ItemsControl ItemsSource="{Binding AuthenticationProvider.CurrentUser.Roles}">
                                                    <ItemsControl.ItemTemplate>
                                                        <DataTemplate>
                                                            <StackPanel Orientation="Horizontal" Margin="2">
                                                                <materialDesign:PackIcon Kind="AccountKey" Width="16" Height="16" />
                                                                <TextBlock Margin="5 0 0 0" Text="{Binding Name}"></TextBlock>
                                                             </StackPanel>
                                                        </DataTemplate>
                                                    </ItemsControl.ItemTemplate>
                                                </ItemsControl>
                                            </Run.ToolTip>
                                        </Run>
                                        <Run>...</Run>
                                    </TextBlock>
                                </StackPanel>
                            </StackPanel>
                        </Grid>
                        <StackPanel Margin="0 16 0 0">
                            <ListBoxItem>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="PreviewMouseUp">
                                        <i:InvokeCommandAction Command="{Binding HomeCommand}"></i:InvokeCommandAction>
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <StackPanel Orientation="Horizontal">
                                    <materialDesign:PackIcon VerticalAlignment="Center" Kind="Home" Width="32" Height="32"></materialDesign:PackIcon>
                                    <TextBlock FontSize="16" VerticalAlignment="Center" Margin="10 0 0 0">Home</TextBlock>
                                </StackPanel>
                            </ListBoxItem>
                        </StackPanel>
                        <StackPanel Margin="10 10 0 0">
                            <TextBlock Foreground="Silver" FontSize="16" FontWeight="Bold" FontStyle="Italic">MODULES</TextBlock>
                            <Separator Background="Gainsboro" />
                        </StackPanel>
                        <ListBox ItemsSource="{Binding StudioModuleLoader.UserModules}" HorizontalContentAlignment="Stretch" FontSize="14">
                            <ListBox.ItemContainerStyle>
                                <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
                                    <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
                                    <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
                                    <Setter Property="Visibility" Value="{Binding InNewWindow,Converter={StaticResource BooleanToVisibilityInverseConverter}}"></Setter>
                                </Style>
                            </ListBox.ItemContainerStyle>
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <Grid Background="Transparent">
                                        <i:Interaction.Triggers>
                                            <i:EventTrigger EventName="PreviewMouseUp">
                                                <i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.StartModuleCommand}" CommandParameter="{Binding}"></i:InvokeCommandAction>
                                            </i:EventTrigger>
                                        </i:Interaction.Triggers>

                                        <StackPanel Orientation="Horizontal" Margin="0 0 0 0" ToolTip="{Binding Description}">
                                            <Ellipse Height="35" Width="35" VerticalAlignment="Center">
                                                <Ellipse.Fill>
                                                    <ImageBrush ImageSource="{Binding Image}" RenderOptions.BitmapScalingMode="Fant" />
                                                </Ellipse.Fill>
                                            </Ellipse>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Name}"></TextBlock>
                                        </StackPanel>
                                    </Grid>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
                    </StackPanel>

                    <StackPanel DockPanel.Dock="Bottom">
                        <Separator Margin="0 10 0 0" Background="Gainsboro" />
                        <ListBoxItem>
                            <i:Interaction.Triggers>
                                <i:EventTrigger EventName="PreviewMouseUp">
                                    <i:InvokeCommandAction Command="{Binding SignoutCommand}"></i:InvokeCommandAction>
                                </i:EventTrigger>
                            </i:Interaction.Triggers>
                            <StackPanel Orientation="Horizontal">
                                <materialDesign:PackIcon VerticalAlignment="Center" Kind="Logout" Width="32" Height="32"></materialDesign:PackIcon>
                                <TextBlock FontSize="16" VerticalAlignment="Center" Margin="10 0 0 0">Sign out</TextBlock>
                            </StackPanel>
                        </ListBoxItem>
                    </StackPanel>
                </DockPanel>
            </materialDesign:DrawerHost.LeftDrawerContent>
            <DockPanel>
                <materialDesign:ColorZone Padding="16" materialDesign:ShadowAssist.ShadowDepth="Depth2"
                                            Mode="PrimaryMid" DockPanel.Dock="Top">
                    <DockPanel>
                        <ToggleButton Style="{StaticResource MaterialDesignHamburgerToggleButton}" IsChecked="{Binding IsMenuOpened}"
                                        x:Name="MenuToggleButton"/>
                        <materialDesign:PopupBox DockPanel.Dock="Right" PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
                            <StackPanel>
                                <Button Command="{Binding ConnectCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="LanConnect" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Machine Connection</TextBlock>
                                    </StackPanel>
                                </Button>
                                <Button Command="{Binding DisconnectCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="LanDisconnect" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Disconnect Machine</TextBlock>
                                    </StackPanel>
                                </Button>
                                <Separator/>
                                <Button IsEnabled="{Binding IsModuleLoaded}" Command="{Binding OpenModuleInWindowCommand,Mode=TwoWay}" CommandParameter="{Binding CurrentModule}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="ArrowTopRight" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Open Module In New Window</TextBlock>
                                    </StackPanel>
                                </Button>
                                <Separator/>
                                <Button Command="{Binding UpdateCenterCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="Download" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Update Center</TextBlock>
                                    </StackPanel>
                                </Button>
                                <Separator/>
                                <Button Command="{Binding ToggleSpeechCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Width="24" Height="24">
                                            <materialDesign:PackIcon.Style>
                                                <Style TargetType="materialDesign:PackIcon">
                                                    <Setter Property="Kind" Value="VolumeHigh"></Setter>
                                                    <Style.Triggers>
                                                        <DataTrigger Binding="{Binding SpeechProvider.Mute}" Value="True">
                                                            <Setter Property="Kind" Value="VolumeOff"></Setter>
                                                        </DataTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </materialDesign:PackIcon.Style>
                                        </materialDesign:PackIcon>
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Speech</TextBlock>
                                    </StackPanel>
                                </Button>
                                <StackPanel Visibility="{Binding AuthenticationProvider.CurrentUser,Converter={StaticResource PermissionToVisibilityConverter},ConverterParameter={x:Static enumerations:Permissions.RunDeveloperConsole}}">
                                    <Separator/>
                                    <Button Command="{Binding OpenDeveloperConsoleCommand}">
                                        <StackPanel Orientation="Horizontal">
                                            <materialDesign:PackIcon Kind="Console" Width="24" Height="24" />
                                            <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Developer Console</TextBlock>
                                        </StackPanel>
                                    </Button>
                                    <Separator/>
                                </StackPanel>
                                <Button Command="{Binding AboutCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="Information" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">About</TextBlock>
                                    </StackPanel>
                                </Button>
                                <Separator/>
                                <Button Command="{Binding ExitCommand}">
                                    <StackPanel Orientation="Horizontal">
                                        <materialDesign:PackIcon Kind="CloseCircleOutline" Width="24" Height="24" />
                                        <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Exit</TextBlock>
                                    </StackPanel>
                                </Button>
                            </StackPanel>
                        </materialDesign:PopupBox>
                        <Grid>
                            <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Height="60" HorizontalAlignment="Center">
                                <Image Source="/Images/machine-trans.png" RenderOptions.BitmapScalingMode="Fant"></Image>
                                <TextBlock Text="Machine Studio" VerticalAlignment="Center" Margin="20 0 0 0" FontSize="36"/>
                            </StackPanel>

                            <Grid HorizontalAlignment="Right">
                                <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                                    <Grid Margin="0 0 20 0">
                                        <ItemsControl ItemsSource="{Binding NotificationProvider.BarItems}">
                                            <ItemsControl.ItemsPanel>
                                                <ItemsPanelTemplate>
                                                    <StackPanel Orientation="Horizontal" IsItemsHost="True" VerticalAlignment="Center"></StackPanel>
                                                </ItemsPanelTemplate>
                                            </ItemsControl.ItemsPanel>
                                            <ItemsControl.ItemTemplate>
                                                <DataTemplate>
                                                    <ContentControl Margin="0 0 10 0" Content="{Binding Element}" VerticalAlignment="Center"></ContentControl>
                                                </DataTemplate>
                                            </ItemsControl.ItemTemplate>
                                        </ItemsControl>
                                    </Grid>

                                    <Button VerticalAlignment="Center" Margin="10 0 0 0" Style="{StaticResource MaterialDesignFlatButton}" FontSize="12" ToolTip="Connect to machine on the local network" BorderThickness="0" Command="{Binding ConnectCommand}">
                                        <StackPanel Orientation="Horizontal">
                                            <Grid>
                                                <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
                                                    <TextBlock Text="Machine Connection" VerticalAlignment="Center" Foreground="White"></TextBlock>
                                                    <materialDesign:PackIcon Margin="10 0 0 0" Width="24" Height="24">
                                                        <materialDesign:PackIcon.Style>
                                                            <Style TargetType="materialDesign:PackIcon">
                                                                <Setter Property="Foreground" Value="#333333"></Setter>
                                                                <Setter Property="Kind" Value="LanDisconnect"></Setter>
                                                                <Style.Triggers>
                                                                    <DataTrigger Binding="{Binding ApplicationManager.IsMachineConnected,Mode=OneWay}" Value="True">
                                                                        <Setter Property="Foreground" Value="#03FF8E"></Setter>
                                                                        <Setter Property="Kind" Value="LanConnect"></Setter>
                                                                    </DataTrigger>
                                                                </Style.Triggers>
                                                            </Style>
                                                        </materialDesign:PackIcon.Style>
                                                    </materialDesign:PackIcon>
                                                </StackPanel>
                                            </Grid>
                                        </StackPanel>
                                    </Button>

                                    <ToggleButton Visibility="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.HasEvents,Converter={StaticResource BooleanToVisibilityConverter},FallbackValue=Collapsed,TargetNullValue=Collapsed,Mode=OneWay}" IsChecked="{Binding IsMachineErrorsOpened}" Style="{StaticResource emptyToggleButton}" Margin="0 0 10 0" Cursor="Hand">
                                        <ToggleButton.ToolTip>
                                            <TextBlock>
                                                <Run>Press to view</Run>
                                                <Run Text="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events.Count,Mode=OneWay}"></Run>
                                                <Run>hardware messages</Run>
                                            </TextBlock>
                                        </ToggleButton.ToolTip>
                                        <Grid RenderTransformOrigin="0.5,0.5">
                                            <Grid.Style>
                                                <Style TargetType="Grid">
                                                    <Setter Property="Opacity" Value="1"></Setter>
                                                    <Style.Triggers>
                                                        <DataTrigger Binding="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.HasEvents}" Value="True">
                                                            <DataTrigger.EnterActions>
                                                                <BeginStoryboard>
                                                                    <Storyboard>
                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Duration="00:00:01" RepeatBehavior="Forever">
                                                                            <DiscreteDoubleKeyFrame KeyTime="00:00:00" Value="1" />
                                                                            <DiscreteDoubleKeyFrame KeyTime="00:00:0.5" Value="0" />
                                                                        </DoubleAnimationUsingKeyFrames>
                                                                    </Storyboard>
                                                                </BeginStoryboard>
                                                            </DataTrigger.EnterActions>
                                                            <DataTrigger.ExitActions>
                                                                <BeginStoryboard>
                                                                    <Storyboard>
                                                                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Duration="00:00:00">
                                                                            <DiscreteDoubleKeyFrame KeyTime="00:00:00" Value="1" />
                                                                        </DoubleAnimationUsingKeyFrames>
                                                                    </Storyboard>
                                                                </BeginStoryboard>
                                                            </DataTrigger.ExitActions>
                                                        </DataTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </Grid.Style>
                                            <Image Source="/Images/warning.png" Width="50" />
                                        </Grid>
                                    </ToggleButton>

                                    <Button Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding UpdateCenterCommand}" Visibility="{Binding IsUpdateAvailable,Converter={StaticResource BooleanToVisibilityConverter}}">
                                        <Button.ToolTip>
                                            <TextBlock>
                                                <Run>Version</Run>
                                                <Run Text="{Binding LatestVersion,Converter={StaticResource VersionToShortVersionConverter},ConverterParameter='3'}"></Run>
                                                <Run>is available !</Run>
                                            </TextBlock>
                                        </Button.ToolTip>
                                        <Image Source="/Images/update.png" Width="32" RenderTransformOrigin="0.5,0.5" RenderOptions.BitmapScalingMode="Fant">
                                            <Image.RenderTransform>
                                                <ScaleTransform ScaleX="1" ScaleY="1" />
                                            </Image.RenderTransform>
                                            <Image.Style>
                                                <Style TargetType="Image">
                                                    <Style.Triggers>
                                                        <EventTrigger RoutedEvent="Loaded">
                                                            <EventTrigger.Actions>
                                                                <BeginStoryboard>
                                                                    <Storyboard>
                                                                        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleX" From="0.9" To="1.1" Duration="00:00:0.5" RepeatBehavior="Forever" AutoReverse="True"></DoubleAnimation>
                                                                        <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" From="0.9" To="1.1" Duration="00:00:0.5" RepeatBehavior="Forever" AutoReverse="True"></DoubleAnimation>
                                                                    </Storyboard>
                                                                </BeginStoryboard>
                                                            </EventTrigger.Actions>
                                                        </EventTrigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </Image.Style>
                                        </Image>
                                    </Button>

                                    <Button Cursor="Hand" Command="{Binding ReportIssueCommand}" IsEnabled="{Binding TFSClient.IsInitialized}">
                                        <Button.Style>
                                            <Style TargetType="Button" BasedOn="{StaticResource emptyButton}">
                                                <Setter Property="ToolTip" Value="Report issue"></Setter>
                                                <Setter Property="Opacity" Value="1"></Setter>
                                                <Style.Triggers>
                                                    <Trigger Property="IsEnabled" Value="False">
                                                        <Setter Property="ToolTip" Value="The team foundation service is not available."></Setter>
                                                        <Setter Property="Opacity" Value="0.5"></Setter>
                                                    </Trigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Button.Style>
                                        <Image Margin="10 0 0 0" Source="/Images/bug.png" Width="24" RenderOptions.BitmapScalingMode="Fant" />
                                    </Button>
                                    <Button Cursor="Hand" Command="{Binding OpenResolvedBugsCommand}">
                                        <Button.Style>
                                            <Style TargetType="Button" BasedOn="{StaticResource emptyButton}">
                                                <Setter Property="Visibility"  Value="Visible"></Setter>
                                                <Style.Triggers>
                                                    <EventTrigger RoutedEvent="Loaded">
                                                        <EventTrigger.Actions>
                                                            <BeginStoryboard>
                                                                <Storyboard>
                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Duration="00:00:01" RepeatBehavior="Forever">
                                                                        <DiscreteDoubleKeyFrame KeyTime="00:00:00" Value="1" />
                                                                        <DiscreteDoubleKeyFrame KeyTime="00:00:0.5" Value="0" />
                                                                    </DoubleAnimationUsingKeyFrames>
                                                                </Storyboard>
                                                            </BeginStoryboard>
                                                        </EventTrigger.Actions>
                                                    </EventTrigger>
                                                    <DataTrigger Binding="{Binding TFSClient.ResolvedWorkItems.Count}" Value="0">
                                                        <Setter Property="Visibility" Value="Collapsed"></Setter>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </Button.Style>
                                        <Button.ToolTip>
                                            <TextBlock>
                                                <Run>There are</Run>
                                                <Run Text="{Binding TFSClient.ResolvedWorkItems.Count,Mode=OneWay}"></Run>
                                                <Run>issues waiting for your approval</Run>
                                            </TextBlock>
                                        </Button.ToolTip>
                                        <Image Margin="10 0 0 0" Source="/Images/bug-resolved.png" Width="24" RenderOptions.BitmapScalingMode="Fant" />
                                    </Button>
                                </StackPanel>
                            </Grid>
                        </Grid>
                    </DockPanel>
                </materialDesign:ColorZone>

                <Grid>
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="1*"/>
                        </Grid.RowDefinitions>

                        <Grid Grid.Row="1">
                            <controls:NavigationControl x:Name="NavigationControl" TransitionAlwaysFades="True" TransitionType="Zoom">
                                <Grid controls:NavigationControl.NavigationName="Home">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="150"/>
                                        <RowDefinition Height="*"/>
                                    </Grid.RowDefinitions>
                                    <Grid>
                                        <StackPanel Margin="30 20" HorizontalAlignment="Left">
                                            <TextBlock FontSize="35">Welcome to Machine Studio</TextBlock>
                                            <TextBlock HorizontalAlignment="Left" Margin="350 5 0 0" FontStyle="Italic" FontSize="16">The below modules are displayed according to your user roles and permissions.</TextBlock>
                                        </StackPanel>
                                    </Grid>

                                    <Grid Grid.Row="2">
                                        <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                                            <ItemsControl ItemsSource="{Binding StudioModuleLoader.UserModules}" Margin="10" IsEnabled="{Binding IsApplicationReady}">
                                                <ItemsControl.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <WrapPanel IsItemsHost="True"></WrapPanel>
                                                    </ItemsPanelTemplate>
                                                </ItemsControl.ItemsPanel>

                                                <ItemsControl.ItemTemplate>
                                                    <DataTemplate>
                                                        <materialDesign:Card Width="300" Margin="10" Height="400" Visibility="{Binding InNewWindow,Converter={StaticResource BooleanToVisibilityInverseConverter}}">
                                                            <Grid>
                                                                <Grid.RowDefinitions>
                                                                    <RowDefinition Height="180" />
                                                                    <RowDefinition Height="*" />
                                                                    <RowDefinition Height="Auto" />
                                                                </Grid.RowDefinitions>
                                                                <Image Source="{Binding Image,Mode=OneWay}" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant" />
                                                                <Rectangle VerticalAlignment="Bottom" Stroke="Silver"></Rectangle>
                                                                <Button Tag="{Binding}" AutomationProperties.AutomationId="{Binding Name}" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.StartModuleCommand}" CommandParameter="{Binding}" Grid.Row="0" Margin="0,0,20,-35" HorizontalAlignment="Right" Width="70" Height="70" VerticalAlignment="Bottom" Style="{StaticResource MaterialDesignFloatingActionMiniButton}" ToolTip="Start this module">
                                                                    <materialDesign:PackIcon Kind="Play" Width="30" Height="30" />
                                                                </Button>
                                                                <StackPanel Grid.Row="1" Margin="8,24,8,0">
                                                                    <TextBlock FontWeight="Bold" FontSize="20" Text="{Binding Name,Mode=OneWay}"></TextBlock>
                                                                    <TextBlock VerticalAlignment="Center" Margin="0 5 0 0" FontSize="14" TextWrapping="Wrap" Text="{Binding Description,Mode=OneWay}"></TextBlock>
                                                                </StackPanel>
                                                                <StackPanel Grid.Row="2" Margin="8" HorizontalAlignment="Right" Orientation="Horizontal">
                                                                    <materialDesign:PopupBox Padding="2,0,2,0" Style="{StaticResource MaterialDesignToolPopupBox}">
                                                                        <StackPanel>
                                                                            <Button Command="{Binding Source={x:Reference control},Path=DataContext.OpenModuleInWindowCommand}" CommandParameter="{Binding}">
                                                                                <StackPanel Orientation="Horizontal">
                                                                                    <materialDesign:PackIcon Kind="ArrowTopRight" Width="24" Height="24" />
                                                                                    <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Start in new window</TextBlock>
                                                                                </StackPanel>
                                                                            </Button>
                                                                            <Button>
                                                                                <StackPanel Orientation="Horizontal">
                                                                                    <materialDesign:PackIcon Kind="Settings" Width="24" Height="24" />
                                                                                    <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Settings</TextBlock>
                                                                                </StackPanel>
                                                                            </Button>
                                                                        </StackPanel>
                                                                    </materialDesign:PopupBox>
                                                                </StackPanel>
                                                            </Grid>
                                                        </materialDesign:Card>
                                                    </DataTemplate>
                                                </ItemsControl.ItemTemplate>
                                            </ItemsControl>
                                        </ScrollViewer>
                                    </Grid>
                                </Grid>
                            </controls:NavigationControl>
                        </Grid>
                    </Grid>

                    <Border HorizontalAlignment="Right" Margin="0 -1 10 0" VerticalAlignment="Top" Width="300" Height="Auto" CornerRadius="0 0 30 30" BorderThickness="1 0 1 1" BorderBrush="DimGray">
                        <Border.Style>
                            <Style TargetType="Border">
                                <Setter Property="RenderTransform">
                                    <Setter.Value>
                                        <ScaleTransform ScaleX="1" ScaleY="0"></ScaleTransform>
                                    </Setter.Value>
                                </Setter>
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding NotificationProvider.HasTaskItems}" Value="True">
                                        <DataTrigger.EnterActions>
                                            <BeginStoryboard HandoffBehavior="Compose">
                                                <Storyboard>
                                                    <DoubleAnimation Storyboard.TargetProperty="RenderTransform.ScaleY" FillBehavior="HoldEnd" To="1" Duration="00:00:0.2"></DoubleAnimation>
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </DataTrigger.EnterActions>
                                        <DataTrigger.ExitActions>
                                            <BeginStoryboard HandoffBehavior="Compose">
                                                <Storyboard>
                                                    <DoubleAnimation FillBehavior="HoldEnd" Storyboard.TargetProperty="RenderTransform.ScaleY" To="0" From="1" Duration="00:00:0.5"></DoubleAnimation>
                                                </Storyboard>
                                            </BeginStoryboard>
                                        </DataTrigger.ExitActions>
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Border.Style>
                        <Border.Background>
                            <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                                <GradientStop Color="#03A9F4"/>
                                <GradientStop Color="#0081BB" Offset="1"/>
                            </LinearGradientBrush>
                        </Border.Background>

                        <ItemsControl ItemsSource="{Binding NotificationProvider.TaskItems}">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <Border Margin="5">
                                        <StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="20 0 0 0">
                                            <mahapps:ProgressRing Width="24" Height="24" Foreground="White"></mahapps:ProgressRing>
                                            <TextBlock Text="{Binding Message,Converter={StaticResource StringEllipsisConverter},ConverterParameter=35}" Foreground="White" VerticalAlignment="Center" Margin="10 0 0 0" TextWrapping="Wrap"></TextBlock>
                                        </StackPanel>
                                    </Border>
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
                        </ItemsControl>
                    </Border>

                    <Grid HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10" Visibility="{Binding IsMachineErrorsOpened,Converter={StaticResource BooleanToVisibilityConverter}}">
                        <Border Width="350" Background="#FFF1F1F1" BorderBrush="White" CornerRadius="5" Padding="5">
                            <Border.Effect>
                                <DropShadowEffect ShadowDepth="0" BlurRadius="10" />
                            </Border.Effect>

                            <ItemsControl ItemsSource="{Binding ApplicationManager.ConnectedMachine.MachineEventsStateProvider.Events}">
                                <ItemsControl.ItemTemplate>
                                    <DataTemplate DataType="{x:Type entities:MachinesEvent}">
                                        <Border BorderThickness="0 0 0 1" BorderBrush="#E1E1E1" Padding="5">
                                            <DockPanel>
                                                <Grid DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center">
                                                    <ContentControl>
                                                        <ContentControl.Style>
                                                            <Style TargetType="ContentControl">
                                                                <Setter Property="Content" Value="{x:Null}"></Setter>
                                                                <Style.Triggers>
                                                                    <DataTrigger Binding="{Binding EventType.RequiresUserIntervention}" Value="True">
                                                                        <Setter Property="Content">
                                                                            <Setter.Value>
                                                                                <Button ToolTip="Resolve issue" Style="{StaticResource emptyButton}" Cursor="Hand" Margin="5" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.ResolveMachineEventCommand}" CommandParameter="{Binding}">
                                                                                    <Image Source="/Images/settings.png" Width="24">
                                                                                        <Image.Style>
                                                                                            <Style TargetType="Image">
                                                                                                <Style.Triggers>
                                                                                                    <EventTrigger RoutedEvent="Loaded">
                                                                                                        <EventTrigger.Actions>
                                                                                                            <BeginStoryboard>
                                                                                                                <Storyboard>
                                                                                                                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Duration="00:00:01" RepeatBehavior="Forever">
                                                                                                                        <DiscreteDoubleKeyFrame KeyTime="00:00:00" Value="1" />
                                                                                                                        <DiscreteDoubleKeyFrame KeyTime="00:00:0.5" Value="0" />
                                                                                                                    </DoubleAnimationUsingKeyFrames>
                                                                                                                </Storyboard>
                                                                                                            </BeginStoryboard>
                                                                                                        </EventTrigger.Actions>
                                                                                                    </EventTrigger>
                                                                                                </Style.Triggers>
                                                                                            </Style>
                                                                                        </Image.Style>
                                                                                    </Image>
                                                                                </Button>
                                                                            </Setter.Value>
                                                                        </Setter>
                                                                    </DataTrigger>
                                                                </Style.Triggers>
                                                            </Style>
                                                        </ContentControl.Style>
                                                    </ContentControl>
                                                </Grid>
                                                <StackPanel>
                                                    <StackPanel Orientation="Horizontal">
                                                        <materialDesign:PackIcon Width="24" Height="24">
                                                            <materialDesign:PackIcon.Style>
                                                                <Style TargetType="materialDesign:PackIcon">
                                                                    <Setter Property="Kind" Value="AlertCircle"></Setter>
                                                                    <Setter Property="Foreground" Value="#464646"></Setter>
                                                                    <Style.Triggers>
                                                                        <DataTrigger Binding="{Binding Category}" Value="Warning">
                                                                            <Setter Property="Kind" Value="Alert"></Setter>
                                                                            <Setter Property="Foreground" Value="#FFA300"></Setter>
                                                                        </DataTrigger>
                                                                        <DataTrigger Binding="{Binding Category}" Value="Error">
                                                                            <Setter Property="Kind" Value="AlertOctagon"></Setter>
                                                                            <Setter Property="Foreground" Value="#FF5C5C"></Setter>
                                                                        </DataTrigger>
                                                                        <DataTrigger Binding="{Binding Category}" Value="Critical">
                                                                            <Setter Property="Kind" Value="BellPlus"></Setter>
                                                                            <Setter Property="Foreground" Value="Red"></Setter>
                                                                        </DataTrigger>
                                                                    </Style.Triggers>
                                                                </Style>
                                                            </materialDesign:PackIcon.Style>
                                                        </materialDesign:PackIcon>

                                                        <StackPanel Margin="10 0 0 0" VerticalAlignment="Top">
                                                            <TextBlock Text="{Binding EventType.Name}"></TextBlock>
                                                            <TextBlock Margin="0 5 0 0" Text="{Binding Description}" FontSize="10" Foreground="DimGray" TextWrapping="Wrap"></TextBlock>
                                                        </StackPanel>
                                                    </StackPanel>
                                                </StackPanel>
                                            </DockPanel>
                                        </Border>
                                    </DataTemplate>
                                </ItemsControl.ItemTemplate>
                            </ItemsControl>
                        </Border>

                        <Canvas HorizontalAlignment="Center">
                            <Polygon Points="12,0 0,31 24,31" Fill="#FFF1F1F1" Canvas.Top="-30" Canvas.Left="90"></Polygon>
                        </Canvas>
                    </Grid>
                </Grid>
            </DockPanel>
        </materialDesign:DrawerHost>
    </Grid>
</controls:View>