aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-10-07 14:42:44 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-10-07 14:42:44 +0300
commit20b54cfc2b40bb69d1d6558c7fac6cc412c98da0 (patch)
tree5428e4e0428e0f9334bc76202d8a88005959e830 /Software/Visual_Studio/MachineStudio
parent0b40fe3742d90cdb7a4abab88207d0552dd4e3a7 (diff)
downloadTango-20b54cfc2b40bb69d1d6558c7fac6cc412c98da0.tar.gz
Tango-20b54cfc2b40bb69d1d6558c7fac6cc412c98da0.zip
Implemented RML import/export.
Fixed issue with MS in 1920x1080. Added IP Address & Up Time to PPC. Added ExternalBridge Icon IsInSession Indication. Fixed issue with ExternalBridgeService disconnection.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs91
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml76
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml4
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs7
5 files changed, 148 insertions, 32 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index 27d43bd20..4ab3bb1bb 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -2565,7 +2565,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
private async void ImportJobFile()
{
OpenFileDialog dlg = new OpenFileDialog();
- dlg.Title = "Import Job File";
+ dlg.Title = "Import Job Files";
dlg.Filter = "Twine Job Files|*.job";
dlg.Multiselect = true;
if (dlg.ShowDialog().Value)
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
index a76799881..ee21b9ac3 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs
@@ -181,6 +181,10 @@ namespace Tango.MachineStudio.RML.ViewModels
public RelayCommand CloneRmlCommand { get; set; }
+ public RelayCommand ExportRMLFileCommand { get; set; }
+
+ public RelayCommand ImportRMLFileCommand { get; set; }
+
public MainViewVM(INotificationProvider notificationProvider)
{
_notification = notificationProvider;
@@ -199,6 +203,9 @@ namespace Tango.MachineStudio.RML.ViewModels
ImportForwardDataCommand = new RelayCommand(ImportCCTData, () => ActiveRML != null && IsFree);
ExportForwardDataCommand = new RelayCommand(ExportCCTData, () => ActiveRML != null && SelectedCCT != null && IsFree);
+
+ ExportRMLFileCommand = new RelayCommand(ExportRmlFile, () => SelectedRML != null && IsFree);
+ ImportRMLFileCommand = new RelayCommand(ImportRmlFile, () => IsFree);
}
public override void OnApplicationReady()
@@ -769,5 +776,89 @@ namespace Tango.MachineStudio.RML.ViewModels
}
#endregion
+
+ #region RML Import / Export
+
+ private async void ImportRmlFile()
+ {
+ OpenFileDialog dlg = new OpenFileDialog();
+ dlg.Title = "Import Thread Files";
+ dlg.Filter = "Twine Thread Files|*.rml";
+ dlg.Multiselect = true;
+
+ if (dlg.ShowDialog().Value)
+ {
+ using (_notification.PushTaskItem($"Importing thread files..."))
+ {
+ try
+ {
+ IsFree = false;
+
+ LogManager.Log($"Importing thread files...");
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ foreach (var file in dlg.FileNames)
+ {
+ var json = File.ReadAllText(file);
+ var rmlFile = await Rml.FromRmlFile(db, json);
+
+ db.Rmls.Add(rmlFile);
+ }
+
+ await db.SaveChangesAsync();
+ }
+
+ IsFree = true;
+
+ _notification.ShowInfo($"Threads imported successfully.");
+
+ LoadRmls();
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error importing thread file.");
+ _notification.ShowError($"An error occurred while trying to import the selected thread file.\n{ex.FlattenMessage()}");
+ }
+ finally
+ {
+ IsFree = true;
+ }
+ }
+ }
+ }
+
+ private async void ExportRmlFile()
+ {
+ SaveFileDialog dlg = new SaveFileDialog();
+ dlg.Title = "Export Thread File";
+ dlg.Filter = "Twine Thread Files|*.rml";
+ dlg.DefaultExt = ".rml";
+ dlg.FileName = SelectedRML.Name;
+
+ if (dlg.ShowDialog().Value)
+ {
+ using (_notification.PushTaskItem($"Exporting Thread '{SelectedRML.Name}'..."))
+ {
+ try
+ {
+ LogManager.Log($"Exporting Thread file {SelectedRML.Name}");
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ var rmlJsonFile = await SelectedRML.ToRmlFile(db);
+ File.WriteAllText(dlg.FileName, rmlJsonFile);
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Error exporting Thread file.");
+ _notification.ShowError($"An error occurred while trying to export thread '{SelectedRML.Name}'.\n{ex.FlattenMessage()}");
+ }
+ }
+ }
+ }
+
+ #endregion
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml
index fdfc00ba6..288f00a3d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlsView.xaml
@@ -19,38 +19,58 @@
</UserControl.Resources>
<Grid>
- <DockPanel Margin="100" MaxWidth="1200">
+ <DockPanel Margin="100 100 100 50" MaxWidth="1200">
<Grid DockPanel.Dock="Top">
<Image Source="../Images/threads.png" Width="300" Margin="10" />
</Grid>
<Grid DockPanel.Dock="Bottom">
- <StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0 0 0 0">
- <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource RedBrush300}" BorderBrush="{StaticResource RedBrush300}" Command="{Binding RemoveRmlCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Delete" Width="20" Height="20" />
- <TextBlock Margin="5 0 0 0" FontSize="16">DELETE</TextBlock>
+ <StackPanel>
+ <Grid>
+ <StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0 0 0 0">
+ <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource RedBrush300}" BorderBrush="{StaticResource RedBrush300}" Command="{Binding RemoveRmlCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Delete" Width="20" Height="20" />
+ <TextBlock Margin="5 0 0 0" FontSize="16">DELETE</TextBlock>
+ </StackPanel>
+ </Button>
+ <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource OrangeBrush300}" BorderBrush="{StaticResource OrangeBrush300}" Command="{Binding CloneRmlCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="ContentCopy" Width="20" Height="20" />
+ <TextBlock Margin="5 0 0 0" FontSize="16">DUPLICATE</TextBlock>
+ </StackPanel>
+ </Button>
+ <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource GreenBrush300}" BorderBrush="{StaticResource GreenBrush300}" Command="{Binding AddRmlCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Plus" Width="20" Height="20" />
+ <TextBlock Margin="5 0 0 0" FontSize="16">NEW MEDIA</TextBlock>
+ </StackPanel>
+ </Button>
</StackPanel>
- </Button>
- <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource OrangeBrush300}" BorderBrush="{StaticResource OrangeBrush300}" Command="{Binding CloneRmlCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="ContentCopy" Width="20" Height="20" />
- <TextBlock Margin="5 0 0 0" FontSize="16">DUPLICATE</TextBlock>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
+ <Button Margin="50 0 0 0" MinWidth="200" Height="60" Command="{Binding ManageRmlCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="Pencil" Width="24" Height="24" />
+ <TextBlock Margin="10 0 0 0" FontSize="18">EDIT</TextBlock>
+ </StackPanel>
+ </Button>
</StackPanel>
- </Button>
- <Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="{StaticResource GreenBrush300}" BorderBrush="{StaticResource GreenBrush300}" Command="{Binding AddRmlCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Plus" Width="20" Height="20" />
- <TextBlock Margin="5 0 0 0" FontSize="16">NEW MEDIA</TextBlock>
- </StackPanel>
- </Button>
- </StackPanel>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
- <Button Margin="50 0 0 0" MinWidth="200" Height="60" Command="{Binding ManageRmlCommand}">
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Pencil" Width="24" Height="24" />
- <TextBlock Margin="10 0 0 0" FontSize="18">EDIT</TextBlock>
- </StackPanel>
- </Button>
+ </Grid>
+
+ <StackPanel Orientation="Horizontal" Margin="0 40 0 0">
+ <Button Command="{Binding ImportRMLFileCommand}" Foreground="{StaticResource BlackForegroundBrush}" FontSize="16" Style="{StaticResource emptyButton}" Cursor="Hand">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="FileImport" VerticalAlignment="Center" Width="30" Height="30" />
+ <TextBlock VerticalAlignment="Center" Margin="10 0 0 0" TextDecorations="Underline">Import Thread File</TextBlock>
+ </StackPanel>
+ </Button>
+
+ <Button Margin="30 0 0 0" Command="{Binding ExportRMLFileCommand}" Foreground="{StaticResource BlackForegroundBrush}" FontSize="16" Style="{StaticResource emptyButton}" Cursor="Hand">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="FileExport" VerticalAlignment="Center" Width="30" Height="30" />
+ <TextBlock VerticalAlignment="Center" Margin="10 0 0 0" TextDecorations="Underline">Export Thread File</TextBlock>
+ </StackPanel>
+ </Button>
+ </StackPanel>
</StackPanel>
</Grid>
<Grid>
@@ -63,11 +83,11 @@
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
- <DataGridTextColumn Header="NAME" Binding="{Binding Name}" Width="Auto" />
+ <DataGridTextColumn Header="NAME" Binding="{Binding Name}" Width="140" />
<DataGridTextColumn Header="MANUFACTURER" Binding="{Binding Manufacturer}" Width="Auto" />
<DataGridTextColumn Header="MATERIAL" Binding="{Binding MediaMaterial.Name}" Width="Auto" />
<DataGridTextColumn Header="PURPOSE" Binding="{Binding MediaPurpose.Name}" Width="Auto" />
- <DataGridTextColumn Header="CCT" Binding="{Binding Cct.FileName}" Width="Auto" />
+ <DataGridTextColumn Header="CCT" Binding="{Binding Cct.FileName}" Width="110" />
<DataGridTextColumn Header="CCT VER" Binding="{Binding ColorConversionVersion}" Width="70" />
<DataGridTextColumn Header="LAST UPDATED" Binding="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="Auto" />
<DataGridTemplateColumn Header="LIQUID FACTORS" Width="1*">
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
index eecbcf8ad..a76749b05 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
@@ -15,8 +15,8 @@
<Grid.Background>
<ImageBrush ImageSource="/Images/White-Abstract.png" Stretch="Fill"></ImageBrush>
</Grid.Background>
- <!--<Viewbox Stretch="None" x:Name="viewbox">-->
- <Grid x:Name="grid" Width="1920" Height="1100">
+ <!--<Viewbox Stretch="Fill" x:Name="viewbox">-->
+ <Grid x:Name="grid" Width="1920" Height="1145">
<Grid>
<sharedControls:NavigationControl TransitionAlwaysFades="True" TransitionType="Zoom" x:Name="NavigationControl" x:FieldModifier="public">
<views:LoadingView sharedControls:NavigationControl.NavigationName="LoadingView"></views:LoadingView>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs
index d0eec65e2..915deb484 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs
@@ -105,19 +105,24 @@ namespace Tango.MachineStudio.UI
switch (ratio)
{
case 16d / 9d:
- grid.Height = 1000;
+ grid.Height = 1145;
+ grid.Width = 2000;
break;
case 16d / 10d:
grid.Height = 1145;
+ grid.Width = 1920;
break;
case 4d / 3d:
grid.Height = 1280;
+ grid.Width = 1920;
break;
case 1366d / 768d:
grid.Height = 1100;
+ grid.Width = 1920;
break;
default:
grid.Height = 1145;
+ grid.Width = 1920;
break;
}
}