aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-01-08 14:37:29 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-01-08 14:37:29 +0200
commit0ec56a54ca0c64a2f7ba402a1b99b3c217cd5ae5 (patch)
treefde0d6465b2246c297278904f666909c229b35dd /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs
parentf7cd23fa57b58bf86b71cae469f37c03913a9a80 (diff)
downloadTango-0ec56a54ca0c64a2f7ba402a1b99b3c217cd5ae5.tar.gz
Tango-0ec56a54ca0c64a2f7ba402a1b99b3c217cd5ae5.zip
Implemented auto scaling of machine studio to screen resolution.
Modified machine connection icons again. Added Embedded device name to settings. Added port USB and TCP to settings.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs8
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs32
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml37
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs2
4 files changed, 65 insertions, 14 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs
index 8e0eafa3a..5b30b0cd3 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/StubManager.cs
@@ -20,7 +20,7 @@ namespace Tango.MachineStudio.Stubs
/// </summary>
public class StubManager
{
- private ITransportAdapter _adapter; //Holds the USB transport adapter.
+ public ITransportAdapter Adapter { get; private set; }
/// <summary>
/// Occurs when the stub has failed to execute.
@@ -48,7 +48,7 @@ namespace Tango.MachineStudio.Stubs
/// <param name="adapter">The adapter.</param>
public StubManager(ITransportAdapter adapter)
{
- _adapter = adapter;
+ Adapter = adapter;
}
/// <summary>
@@ -121,13 +121,13 @@ namespace Tango.MachineStudio.Stubs
Task.Factory.StartNew(() =>
{
- _adapter.Write(requestData);
+ Adapter.Write(requestData);
DateTime startTime = DateTime.Now;
MessageContainer responseContainer = null;
- _adapter.DataAvailable += (sender, data) =>
+ Adapter.DataAvailable += (sender, data) =>
{
responseContainer = MessageFactory.ParseContainer(data);
};
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
index 48297c418..2490f9cb3 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
@@ -24,7 +24,7 @@ namespace Tango.MachineStudio.Stubs.ViewModels
/// Represents the script execution utility main view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class MainViewVM : ViewModel
+ public class MainViewVM : ViewModel , IShutdownRequestBlocker
{
private UsbTransportAdapter _adapter; //Holds the USB transport adapter.
private StubManager _stubManager;
@@ -41,7 +41,19 @@ namespace Tango.MachineStudio.Stubs.ViewModels
public bool UseConnectedMachine
{
get { return _useConnectedMachine; }
- set { _useConnectedMachine = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ set
+ {
+ _useConnectedMachine = value;
+
+ if (_useConnectedMachine && !ApplicationManager.IsMachineConnected)
+ {
+ _notification.ShowError("No connected machine found.");
+ _useConnectedMachine = false;
+ }
+
+ RaisePropertyChangedAuto();
+ InvalidateRelayCommands();
+ }
}
/// <summary>
@@ -251,13 +263,13 @@ namespace Tango.MachineStudio.Stubs.ViewModels
"COM9",
};
- SelectedPort = SettingsManager.Default.StubsUI.SelectedPort != null ? SettingsManager.Default.StubsUI.SelectedPort : Ports.First();
+ SelectedPort = SettingsManager.Default.MachineStudio.StubsModule.SelectedPort != null ? SettingsManager.Default.MachineStudio.StubsModule.SelectedPort : Ports.First();
Status = "Ready";
- if (SettingsManager.Default.StubsUI.LastTabs.Count > 0)
+ if (SettingsManager.Default.MachineStudio.StubsModule.LastTabs.Count > 0)
{
- foreach (var file in SettingsManager.Default.StubsUI.LastTabs)
+ foreach (var file in SettingsManager.Default.MachineStudio.StubsModule.LastTabs)
{
if (File.Exists(file))
{
@@ -269,8 +281,6 @@ namespace Tango.MachineStudio.Stubs.ViewModels
{
CreateNewTab();
}
-
- Application.Current.Exit += Current_Exit;
}
#endregion
@@ -513,11 +523,17 @@ namespace Tango.MachineStudio.Stubs.ViewModels
Status = "Completed";
}
- private void Current_Exit(object sender, ExitEventArgs e)
+ /// <summary>
+ /// Called when [shutdown request].
+ /// </summary>
+ /// <returns></returns>
+ public Task<bool> OnShutdownRequest()
{
SettingsManager.Default.MachineStudio.StubsModule.SelectedPort = SelectedPort;
SettingsManager.Default.MachineStudio.StubsModule.LastTabs = CodeTabs.Select(x => x.File).ToList();
SettingsManager.SaveDefaultSettings();
+
+ return Task.FromResult(true);
}
#endregion
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml
index 7f6039110..f1254db47 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml
@@ -199,7 +199,42 @@
<Grid>
<TabControl x:Name="tabControl" Margin="5" ItemsSource="{Binding CodeTabs}" SelectedItem="{Binding SelectedCodeTab}">
-
+ <TabControl.Resources>
+ <Style BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type TabItem}">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=IsSelected}" Value="True">
+ <Setter Property="Background" Value="#007ACC"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ <Setter Property="mahapps:ControlsHelper.HeaderFontSize" Value="12"></Setter>
+ <Setter Property="HeaderTemplate">
+ <Setter.Value>
+ <DataTemplate>
+ <Border>
+ <StackPanel Orientation="Horizontal">
+ <mahapps:ProgressRing Width="5" Height="5" Margin="0 0 5 0" Foreground="White" Visibility="{Binding IsRunning,Converter={StaticResource BooleanToVisibilityConverter}}"></mahapps:ProgressRing>
+ <TextBlock Text="{Binding Title}" ToolTip="{Binding File}" Foreground="Gainsboro" VerticalAlignment="Center"></TextBlock>
+ <Button Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CloseTabCommand}" CommandParameter="{Binding}" Margin="5 0 0 0" Cursor="Hand" Width="24" Height="24" VerticalAlignment="Center" Style="{DynamicResource MetroCircleButtonStyle}" mahapps:ButtonHelper.PreserveTextCase="True" BorderThickness="0">
+ <StackPanel Orientation="Horizontal">
+ <fa:ImageAwesome Width="10" Height="10" Icon="Close" Foreground="Gainsboro"></fa:ImageAwesome>
+ </StackPanel>
+ </Button>
+ </StackPanel>
+ </Border>
+ </DataTemplate>
+ </Setter.Value>
+ </Setter>
+ <Setter Property="ContentTemplate">
+ <Setter.Value>
+ <DataTemplate>
+ <Grid Background="#181818">
+ <controls:ScriptEditorControl Text="{Binding Code,Mode=TwoWay}" InsertSnippetCommand="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.InsertSnippetCommand,Mode=TwoWay}" SaveCommand="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SaveCommand}" HighlightTypes="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.HighlightTypes}" RunCommand="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.RunCommand}" StopCommand="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.StopCommand}" />
+ </Grid>
+ </DataTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+ </TabControl.Resources>
</TabControl>
<Grid HorizontalAlignment="Right" Margin="0 45 40 0" VerticalAlignment="Top" Visibility="{Binding IsRunning,Converter={StaticResource BooleanToVisibilityConverter}}">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs
index 5eee980de..16de196e1 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Views/MainView.xaml.cs
@@ -32,7 +32,7 @@ namespace Tango.MachineStudio.Stubs.Views
private void MainView_Loaded(object sender, RoutedEventArgs e)
{
- ServiceLocator.Current.GetInstance<MainViewVM>().CodeTabs.RemoveAt(0);
+ //ServiceLocator.Current.GetInstance<MainViewVM>().CodeTabs.RemoveAt(0);
}
//Auto scroll to bottom of response log each time it is changed.