aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Images/CSharpProject.png
blob: 5b0f29960aff48c99a67f7d0c0d560984c89bc60 (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 10 00 00 00 10 08 06 00 00 00 1f f3 ff .PNG........IHDR................
0020 61 00 00 00 09 70 48 59 73 00 00 0e c3 00 00 0e c3 01 c7 6f a8 64 00 00 00 7a 49 44 41 54 78 5e a....pHYs..........o.d...zIDATx^
0040 bd 92 31 0e 85 20 0c 86 39 94 83 33 c7 f3 06 78 08 99 65 96 43 a8 ab ba fa de d2 15 f3 93 38 d0 ..1.....9..3...x..e.C.........8.
0060 84 a1 36 da e4 0b 6d 08 5f 7e 02 46 5d 44 94 34 64 41 db 35 4f 28 05 bf f3 2f e1 45 81 1f 7c b2 ..6...m._~.F]D.4dA.5O(.../.E..|.
0080 d6 02 f4 10 a0 bf d7 aa a0 38 bc 6f 47 9e 97 79 c5 cc a9 0b b0 19 a7 c8 e3 f2 04 22 81 2c 81 73 .........8.oG..y...........".,.s
00a0 3d bf 82 28 41 21 01 61 0c ea 67 fc 46 a0 ff ca 1a 8c b6 2e 7d 96 c8 9e fa b6 b6 b3 00 00 00 00 =..(A!.a..g.F.......}...........
00c0 49 45 4e 44 ae 42 60 82 IEND.B`.
<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>