aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Emulations/Emulators/MachineEventState.cs
blob: 188747646206099ccacf836c8625c61032bead55 (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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.Core;
using Tango.PMR.Diagnostics;

namespace Tango.Emulations.Emulators
{
    public class MachineEventState : ExtendedObject
    {
        private EventType _eventType;

        public EventType EventType
        {
            get { return _eventType; }
            set { _eventType = value; RaisePropertyChangedAuto(); }
        }

        public String Description
        {
            get { return _eventType.ToDescription(); }
        }

        private bool _isActive;

        public bool IsActive
        {
            get { return _isActive; }
            set { _isActive = value; RaisePropertyChangedAuto(); }
        }

        public static List<MachineEventState> GetAllEventsStates()
        {
            List<MachineEventState> states = new List<MachineEventState>();

            foreach (var value in Enum.GetValues(typeof(EventType)).OfType<EventType>())
            {
                states.Add(new MachineEventState() { EventType = value });
            }

            return states;
        }
    }
}
e.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<UserControl x:Class="Tango.PPC.MachineSettings.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:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
             xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
             xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
             xmlns:vm="clr-namespace:Tango.PPC.MachineSettings.ViewModels"
             xmlns:connectivity="clr-namespace:Tango.PPC.Common.Connectivity;assembly=Tango.PPC.Common"
             xmlns:global="clr-namespace:Tango.PPC.MachineSettings"
             xmlns:local="clr-namespace:Tango.PPC.MachineSettings.Views"
             mc:Ignorable="d" 
             d:DesignHeight="3000" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">

    <Grid Background="{StaticResource TangoMidBackgroundBrush}" IsEnabled="{Binding IsFree}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="1*"/>
        </Grid.RowDefinitions>

        <Border Padding="20" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}">
            <Border.Effect>
                <DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
            </Border.Effect>
            <TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold">Settings</TextBlock>
        </Border>

        <Grid Grid.Row="1">
            <DockPanel>
                <Grid Background="{StaticResource TangoPrimaryBackgroundBrush}" DockPanel.Dock="Bottom">
                    <StackPanel Margin="50 20" Orientation="Horizontal" HorizontalAlignment="Right">
                        <!--<touch:TouchButton Style="{StaticResource TangoHollowButton}" Width="200" Height="60" CornerRadius="30" Margin="0 0 30 0" Command="{Binding DiscardCommand}">DISCARD</touch:TouchButton>-->
                        <touch:TouchButton Width="200" Height="60" CornerRadius="30" Command="{Binding SaveCommand}">SAVE</touch:TouchButton>
                    </StackPanel>
                </Grid>

                <Grid ClipToBounds="True">
                    <Grid x:Name="Container">
                        <touch:LightTouchScrollViewer>
                            <StackPanel Margin="50">
                                <!--WIFI-->
                                <touch:TouchExpander Header="Connectivity" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel Margin="10 30 10 10">
                                        <connectivity:AvailableWiFiConnectionsControl DataContext="{Binding ConnectivityProvider}" />

                                        <controls:TableGrid Margin="10" RowHeight="60" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <TextBlock VerticalAlignment="Center">Enable Hot Spot</TextBlock>
                                            <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableHotSpot}"></touch:TouchToggleSlider>


                                            <TextBlock VerticalAlignment="Bottom">Hot Spot Password</TextBlock>
                                            <touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding HotSpotPassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
                                        </controls:TableGrid>

                                        <DockPanel Margin="10 -40 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Enabling a hot-spot will create a wireless network dedicated to this machine.
                                            </TextBlock>
                                        </DockPanel>
                                    </StackPanel>
                                </touch:TouchExpander>

                                <!--EXTERNAL BRIDGE-->
                                <touch:TouchExpander Margin="0 20 0 0" Header="External Bridge" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel>
                                        <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <TextBlock VerticalAlignment="Center">Enable External Bridge Service</TextBlock>
                                            <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableExternalBridge}"></touch:TouchToggleSlider>

                                            <TextBlock VerticalAlignment="Bottom">External Bridge Password</TextBlock>
                                            <touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding ExternalBridgePassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
                                        </controls:TableGrid>

                                        <DockPanel Margin="10 -50 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Enabling the external bridge service allows external Twine applications to interact with this machine over the local network.
                                            </TextBlock>
                                        </DockPanel>
                                    </StackPanel>
                                </touch:TouchExpander>

                                <!--JOBS-->
                                <touch:TouchExpander Margin="0 20 0 0" Header="JOBS" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel>
                                        <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <TextBlock VerticalAlignment="Center">Supported Job Types</TextBlock>
                                            <ItemsControl ItemsSource="{Binding SelectedJobTypes}">
                                                <ItemsControl.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
                                                    </ItemsPanelTemplate>
                                                </ItemsControl.ItemsPanel>
                                                <ItemsControl.ItemTemplate>
                                                    <DataTemplate>
                                                        <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
                                                            <touch:TouchToggleButton.Style>
                                                                <Style TargetType="touch:TouchToggleButton">
                                                                    <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
                                                                    <Style.Triggers>
                                                                        <Trigger Property="IsChecked" Value="True">
                                                                            <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
                                                                        </Trigger>
                                                                    </Style.Triggers>
                                                                </Style>
                                                            </touch:TouchToggleButton.Style>
                                                        </touch:TouchToggleButton>
                                                    </DataTemplate>
                                                </ItemsControl.ItemTemplate>
                                            </ItemsControl>

                                            <TextBlock VerticalAlignment="Center">Supported Color Spaces/Catalogs</TextBlock>
                                            <ItemsControl ItemsSource="{Binding SelectedColorSpaces}">
                                                <ItemsControl.ItemsPanel>
                                                    <ItemsPanelTemplate>
                                                        <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
                                                    </ItemsPanelTemplate>
                                                </ItemsControl.ItemsPanel>
                                                <ItemsControl.ItemTemplate>
                                                    <DataTemplate>
                                                        <touch:TouchToggleButton IsChecked="{Binding IsSelected}" Content="{Binding Data}" CornerRadius="5" CheckedContent="{Binding Data}" Padding="10" Margin="5">
                                                            <touch:TouchToggleButton.Style>
                                                                <Style TargetType="touch:TouchToggleButton">
                                                                    <Setter Property="Background" Value="{StaticResource TangoGrayBrush}"></Setter>
                                                                    <Style.Triggers>
                                                                        <Trigger Property="IsChecked" Value="True">
                                                                            <Setter Property="Background" Value="{StaticResource TangoMidAccentBrush}"></Setter>
                                                                        </Trigger>
                                                                    </Style.Triggers>
                                                                </Style>
                                                            </touch:TouchToggleButton.Style>
                                                        </touch:TouchToggleButton>
                                                    </DataTemplate>
                                                </ItemsControl.ItemTemplate>
                                            </ItemsControl>

                                            <TextBlock VerticalAlignment="Bottom">Default Thread</TextBlock>
                                            <touch:TouchComboBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" ItemsSource="{Binding Rmls}" SelectedItem="{Binding DefaultRML}" DisplayMemberPath="Name"></touch:TouchComboBox>

                                            <TextBlock VerticalAlignment="Bottom">Default Spool</TextBlock>
                                            <touch:TouchComboBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" ItemsSource="{Binding Adapter.SpoolTypes}" SelectedItem="{Binding DefaultSpoolType}" DisplayMemberPath="Name"></touch:TouchComboBox>

                                            <TextBlock VerticalAlignment="Bottom">Default Segment Length</TextBlock>
                                            <touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="1" Maximum="1000" Value="{Binding Settings.DefaultSegmentLength}" HasDecimalPoint="True" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox>

                                        </controls:TableGrid>

                                        <DockPanel Margin="10 -50 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Job settings allows you to set the default configuration for new jobs.
                                            </TextBlock>
                                        </DockPanel>
                                    </StackPanel>
                                </touch:TouchExpander>

                                <!--REMOTE ASSISTANCE-->
                                <touch:TouchExpander Margin="0 20 0 0" Header="Remote Assistance" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel>
                                        <controls:TableGrid Margin="10" RowHeight="70" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <TextBlock VerticalAlignment="Center">Enable Remote Assistance</TextBlock>
                                            <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableRemoteAssistance}"></touch:TouchToggleSlider>
                                        </controls:TableGrid>

                                        <DockPanel Margin="10 -50 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Enable remote assistance for Twine's technicians.
                                            </TextBlock>
                                        </DockPanel>
                                    </StackPanel>
                                </touch:TouchExpander>

                                <!--LOCK SCREEN-->
                                <touch:TouchExpander Margin="0 20 0 0" Header="Lock Screen" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel>
                                        <controls:TableGrid Margin="10" RowHeight="60" MakeFirstColumnVerticalAlignmentBottom="False" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <TextBlock VerticalAlignment="Center">Enable Lock Screen</TextBlock>
                                            <touch:TouchToggleSlider Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Margin="0 0 110 0" Width="90" IsChecked="{Binding EnableLockScreen}"></touch:TouchToggleSlider>

                                            <TextBlock VerticalAlignment="Bottom">Lock Screen Timeout (m)</TextBlock>
                                            <touch:TouchNumericTextBox HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Minimum="1" Maximum="60" Value="{Binding LockScreenTimeoutMinutes}" HasDecimalPoint="False" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchNumericTextBox>

                                            <TextBlock VerticalAlignment="Bottom">Lock Screen Password</TextBlock>
                                            <touch:TouchTextBox IsPassword="True" Watermark="•••••••" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="200" Text="{Binding LockScreenPassword}" KeyboardContainer="{Binding ElementName=Container}"></touch:TouchTextBox>
                                        </controls:TableGrid>

                                        <DockPanel Margin="10 -50 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Enable the lock screen to protect the panel from unauthorized access.
                                            </TextBlock>
                                        </DockPanel>
                                    </StackPanel>
                                </touch:TouchExpander>

                                <!--SYNCHRONIZATION-->
                                <touch:TouchExpander Margin="0 20 0 0" Header="Cloud Synchronization" IsExpanded="True" FontSize="{StaticResource TangoExpanderHeaderFontSize}">
                                    <StackPanel Margin="10 30 10 10">

                                        <DockPanel TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <StackPanel>
                                                <TextBlock VerticalAlignment="Center">Auto Update Check</TextBlock>
                                                <DockPanel Margin="0 5 0 0">
                                                    <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                                    <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Automatically check for software and database updates.
                                                    </TextBlock>
                                                </DockPanel>
                                            </StackPanel>
                                            <touch:TouchToggleSlider Margin="0 0 100 0" DockPanel.Dock="Right" Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Width="90" IsChecked="{Binding AutoCheckForUpdates}"></touch:TouchToggleSlider>
                                        </DockPanel>

                                        <DockPanel Margin="0 40 0 0" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <StackPanel>
                                                <TextBlock VerticalAlignment="Center">Synchronize Jobs</TextBlock>
                                                <DockPanel Margin="0 5 0 0">
                                                    <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                                    <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Synchronize your jobs with twine's cloud services.
                                                    </TextBlock>
                                                </DockPanel>
                                            </StackPanel>
                                            <touch:TouchToggleSlider Margin="0 0 100 0" DockPanel.Dock="Right" Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Width="90" IsChecked="{Binding SynchronizeJobs}"></touch:TouchToggleSlider>
                                        </DockPanel>

                                        <DockPanel Margin="0 40 0 0" TextElement.FontSize="{StaticResource TangoDefaultFontSize}">
                                            <StackPanel>
                                                <TextBlock VerticalAlignment="Center">Synchronize Diagnostics Data</TextBlock>
                                                <DockPanel Margin="0 5 0 0">
                                                    <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                                    <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Help us improve your experience using this system.
                                                    </TextBlock>
                                                </DockPanel>
                                            </StackPanel>
                                            <touch:TouchToggleSlider Margin="0 0 100 0" DockPanel.Dock="Right" Style="{StaticResource TangoToggleButtonGrayAccent}" HorizontalAlignment="Right" Width="90" IsChecked="{Binding SynchronizeDiagnostics}"></touch:TouchToggleSlider>
                                        </DockPanel>

                                        <DockPanel Margin="0 40 0 0">
                                            <touch:TouchIcon VerticalAlignment="Top" Icon="InformationOutline" Foreground="{StaticResource TangoGrayTextBrush}"></touch:TouchIcon>
                                            <TextBlock Margin="10 0 0 0" VerticalAlignment="Top" TextWrapping="Wrap" FontSize="{StaticResource TangoSmallFontSize}" Foreground="{StaticResource TangoGrayTextBrush}">
                                                Once enabled, synchronization occurres automatically in the background. you can choose to synchronize right now.
                                            </TextBlock>
                                        </DockPanel>
                                        <touch:TouchButton Command="{Binding SynchronizeCommand}" IsEnabled="{Binding MachineDataSynchronizer.IsEnabled}" HorizontalAlignment="Left" Margin="25 10 0 0" Style="{StaticResource TangoHollowButton}" FontSize="{StaticResource TangoDefaultFontSize}" Padding="15 10"  CornerRadius="22">Synchronize Now</touch:TouchButton>
                                    </StackPanel>
                                </touch:TouchExpander>
                            </StackPanel>
                        </touch:LightTouchScrollViewer>
                    </Grid>
                </Grid>
            </DockPanel>
        </Grid>
    </Grid>
</UserControl>