aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-17 16:43:40 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-17 16:43:40 +0200
commitae1cfd30f1efbd385eac04b3d02fa1ed161058a3 (patch)
tree5b77d7484e80491b06f1b726a57a61c782b5569e /Software/Visual_Studio
parent8270aa37dee33cda98603a995de823df393f7294 (diff)
downloadTango-ae1cfd30f1efbd385eac04b3d02fa1ed161058a3.tar.gz
Tango-ae1cfd30f1efbd385eac04b3d02fa1ed161058a3.zip
Add AppButtons to PPC.
Implemented Stop & Start job app buttons!
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StartPrintingButton.cs26
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StopPrintingButton.cs17
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj4
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs23
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs14
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml8
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/HotSpot/DefaultHotSpotProvider.cs6
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/AppButton.cs112
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/INotificationProvider.cs17
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Merged.xaml2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj3
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs31
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml16
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Converters/IsNullToVisibilityConverter.cs24
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj3
16 files changed, 284 insertions, 24 deletions
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StartPrintingButton.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StartPrintingButton.cs
new file mode 100644
index 000000000..8efd46e18
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StartPrintingButton.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.Commands;
+using Tango.Integration.Operation;
+using Tango.PPC.Common.Notifications;
+
+namespace Tango.PPC.Jobs.AppButtons
+{
+ public class StartPrintingButton : AppButton
+ {
+ public StartPrintingButton(RelayCommand command, IMachineOperator op) : base("START DYEING", command)
+ {
+ op.StatusChanged += Op_StatusChanged;
+
+ Op_StatusChanged(this, op.Status);
+ }
+
+ private void Op_StatusChanged(object sender, MachineStatuses status)
+ {
+ IsEnabled = status == MachineStatuses.ReadyToDye;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StopPrintingButton.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StopPrintingButton.cs
new file mode 100644
index 000000000..8c3b444b3
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/AppButtons/StopPrintingButton.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.PPC.Common.Notifications;
+
+namespace Tango.PPC.Jobs.AppButtons
+{
+ public class StopPrintingButton : AppButton
+ {
+ public StopPrintingButton() : base("STOP DYEING", true)
+ {
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj
index ddd8d1c07..8021e146f 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Tango.PPC.Jobs.csproj
@@ -145,6 +145,8 @@
<Compile Include="AppBarItems\JobProgressAppBarItemView.xaml.cs">
<DependentUpon>JobProgressAppBarItemView.xaml</DependentUpon>
</Compile>
+ <Compile Include="AppButtons\StartPrintingButton.cs" />
+ <Compile Include="AppButtons\StopPrintingButton.cs" />
<Compile Include="Controls\RunningJobViewer.xaml.cs">
<DependentUpon>RunningJobViewer.xaml</DependentUpon>
</Compile>
@@ -384,7 +386,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs
index 16ffdd906..264f41131 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobProgressViewVM.cs
@@ -8,6 +8,7 @@ using Tango.Integration.Operation;
using Tango.PPC.Common;
using Tango.PPC.Common.Navigation;
using Tango.PPC.Jobs.AppBarItems;
+using Tango.PPC.Jobs.AppButtons;
using Tango.PPC.Jobs.Dialogs;
using Tango.PPC.Jobs.Views;
@@ -19,6 +20,9 @@ namespace Tango.PPC.Jobs.ViewModels
/// <seealso cref="Tango.PPC.Common.PPCViewModel" />
public class JobProgressViewVM : PPCViewModel
{
+ private StopPrintingButton _stop_job_btn;
+ private JobHandler _handler;
+
#region Properties
private Job _job;
@@ -43,6 +47,20 @@ namespace Tango.PPC.Jobs.ViewModels
#endregion
+ public JobProgressViewVM()
+ {
+ _stop_job_btn = new StopPrintingButton();
+ _stop_job_btn.Pressed += _stop_job_btn_Pressed;
+ }
+
+ private void _stop_job_btn_Pressed()
+ {
+ if (_handler != null)
+ {
+ _handler.Cancel();
+ }
+ }
+
#region Override Methods
/// <summary>
@@ -81,6 +99,8 @@ namespace Tango.PPC.Jobs.ViewModels
{
NotificationProvider.CurrentAppBarItem.Close();
}
+
+ _stop_job_btn.Push();
}
#endregion
@@ -94,6 +114,7 @@ namespace Tango.PPC.Jobs.ViewModels
/// <param name="e">The <see cref="PrintingEventArgs"/> instance containing the event data.</param>
private void MachineOperator_PrintingStarted(object sender, PrintingEventArgs e)
{
+ _handler = e.JobHandler;
Job = e.Job;
e.JobHandler.StatusChanged += JobHandler_StatusChanged;
e.JobHandler.SpoolChangeRequired += JobHandler_SpoolChangeRequired;
@@ -131,6 +152,8 @@ namespace Tango.PPC.Jobs.ViewModels
{
NotificationProvider.CurrentAppBarItem.Close();
}
+
+ _stop_job_btn.Pop();
}
/// <summary>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
index 98f429889..6a05eee12 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/ViewModels/JobViewVM.cs
@@ -30,6 +30,7 @@ using Tango.PPC.Common.Models;
using Tango.Logging;
using Tango.PPC.Common.Messages;
using Tango.BL.Builders;
+using Tango.PPC.Jobs.AppButtons;
namespace Tango.PPC.Jobs.ViewModels
{
@@ -45,6 +46,7 @@ namespace Tango.PPC.Jobs.ViewModels
private Job _job_to_load;
private JobNavigationIntent _job_to_load_intent;
private static Dictionary<String, List<FineTuneItem>> _jobs_fine_tune_items;
+ private StartPrintingButton _start_printing_btn;
#region Properties
@@ -458,6 +460,8 @@ namespace Tango.PPC.Jobs.ViewModels
LogManager.Log("Directing view to display fine tuning region.");
View.DisplayFineTuning();
}
+
+ DyeCommand.RaiseCanExecuteChanged();
}
catch (Exception ex)
{
@@ -1017,6 +1021,8 @@ namespace Tango.PPC.Jobs.ViewModels
/// </summary>
public override void OnNavigatedTo()
{
+ _start_printing_btn.Push();
+
base.OnNavigatedTo();
LoadJob();
}
@@ -1026,6 +1032,8 @@ namespace Tango.PPC.Jobs.ViewModels
/// </summary>
public override void OnNavigatedFrom()
{
+ _start_printing_btn.Pop();
+
base.OnNavigatedFrom();
_job_to_load_intent = JobNavigationIntent.Default;
}
@@ -1055,6 +1063,12 @@ namespace Tango.PPC.Jobs.ViewModels
return result;
}
+ public override void OnApplicationReady()
+ {
+ base.OnApplicationReady();
+
+ _start_printing_btn = new StartPrintingButton(DyeCommand, MachineProvider.MachineOperator);
+ }
#endregion
#region INavigationObjectReceiver
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml
index ada22ce5a..9fb7ff5c0 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml
@@ -1029,18 +1029,18 @@
</Grid.Background>
<Rectangle Stroke="{StaticResource TangoDividerBrush}" StrokeThickness="1" VerticalAlignment="Top" />
</Grid>
- <Border Padding="20 20">
+ <!--<Border Padding="20 20">
<Grid>
<DockPanel>
<touch:TouchButton IsEnabled="{Binding MachineProvider.MachineOperator.CanPrint}" DockPanel.Dock="Right" Height="54" Padding="0" Width="184" CornerRadius="30" BlurRadius="20" HorizontalAlignment="Right" DelayCommand="{Binding DyeCommand}" DelayCommandDuration="00:00:0.3">
DYE
</touch:TouchButton>
- <!--Add this in case you want to display job summery on bottom panel-->
- <!--<localControls:JobSummeryViewer DataContext="{Binding Job}" Height="35" Margin="0 -20 30 0" />-->
+ --><!--Add this in case you want to display job summery on bottom panel-->
+ <!--<localControls:JobSummeryViewer DataContext="{Binding Job}" Height="35" Margin="0 -20 30 0" />--><!--
</DockPanel>
</Grid>
- </Border>
+ </Border>-->
</Grid>
<dragAndDrop:DraggingSurface x:Name="DraggingSurface" />
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/HotSpot/DefaultHotSpotProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/HotSpot/DefaultHotSpotProvider.cs
index 1126a84bc..5a6b2405c 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/HotSpot/DefaultHotSpotProvider.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/HotSpot/DefaultHotSpotProvider.cs
@@ -77,8 +77,12 @@ namespace Tango.PPC.Common.HotSpot
{
try
{
- CmdCommand command = new CmdCommand("netsh", $"wlan set hostednetwork mode=allow ssid='{"Tango_" + _machineProvider.Machine.SerialNumber}' key='{password}'");
+ CmdCommand command = new CmdCommand("netsh", $"wlan set hostednetwork mode=allow ssid='{"Tango-" + _machineProvider.Machine.SerialNumber}' key='{password}'");
await command.Run();
+
+ command = new CmdCommand("netsh", "wlan start hosted network");
+ await command.Run();
+
IsEnabled = true;
}
catch (Exception ex)
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
index ead508488..31e3290d8 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
@@ -136,7 +136,7 @@ namespace Tango.PPC.Common.MachineSetup
LogManager.Log("Installing remote assistance...");
UpdateProgress("Installing remote assistance", "Installing...");
- await _remoteAssistance.InstallRemoteAssistance();
+ //await _remoteAssistance.InstallRemoteAssistance();
//Create temporary folders for packages.
var _newPackageTempFolder = TemporaryManager.CreateFolder();
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/AppButton.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/AppButton.cs
new file mode 100644
index 000000000..d5d6a0891
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/AppButton.cs
@@ -0,0 +1,112 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core;
+using Tango.Core.Commands;
+using Tango.Core.DI;
+
+namespace Tango.PPC.Common.Notifications
+{
+ /// <summary>
+ /// Represents an app button that will be displayed in the layout view.
+ /// </summary>
+ /// <seealso cref="ExtendedObject" />
+ public abstract class AppButton : ExtendedObject
+ {
+ /// <summary>
+ /// Occurs when the button has been pressed.
+ /// </summary>
+ public event Action Pressed;
+
+ private String _text;
+ /// <summary>
+ /// Gets or sets the text.
+ /// </summary>
+ public String Text
+ {
+ get { return _text; }
+ set { _text = value; RaisePropertyChangedAuto(); }
+ }
+
+ private bool _isEnabled;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is enabled.
+ /// </summary>
+ public bool IsEnabled
+ {
+ get { return _isEnabled; }
+ set { _isEnabled = value; RaisePropertyChangedAuto(); }
+ }
+
+ private RelayCommand _command;
+ /// <summary>
+ /// Gets or sets the command.
+ /// </summary>
+ public RelayCommand Command
+ {
+ get { return _command; }
+ set { _command = value; RaisePropertyChangedAuto(); }
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="AppButton"/> class.
+ /// </summary>
+ public AppButton()
+ {
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="AppButton"/> class.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ /// <param name="isEnabled">if set to <c>true</c> [is enabled].</param>
+ /// <param name="onExecute">The on execute.</param>
+ /// <param name="canExecute">The can execute.</param>
+ public AppButton(String text, bool isEnabled) : this()
+ {
+ Text = text;
+ IsEnabled = isEnabled;
+ Command = new RelayCommand(() =>
+ {
+ Pressed?.Invoke();
+ });
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="AppButton"/> class.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ /// <param name="command">The command.</param>
+ public AppButton(String text, RelayCommand command) : this(text, true)
+ {
+ Command = command;
+ }
+
+ /// <summary>
+ /// Invalidates the button state.
+ /// </summary>
+ public void RaiseCanExecute()
+ {
+ Command.RaiseCanExecuteChanged();
+ }
+
+ /// <summary>
+ /// Pops this instance.
+ /// </summary>
+ public void Pop()
+ {
+ TangoIOC.Default.GetInstance<INotificationProvider>().PopAppButton(this);
+ }
+
+ /// <summary>
+ /// Pushes this instance.
+ /// </summary>
+ public void Push()
+ {
+ TangoIOC.Default.GetInstance<INotificationProvider>().PushAppButton(this);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/INotificationProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/INotificationProvider.cs
index c43e96b10..c4e82b7d2 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/INotificationProvider.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Notifications/INotificationProvider.cs
@@ -58,6 +58,11 @@ namespace Tango.PPC.Common.Notifications
FrameworkElement CurrentDialog { get; }
/// <summary>
+ /// Gets the current app button.
+ /// </summary>
+ AppButton CurrentAppButton { get; }
+
+ /// <summary>
/// Gets a value indicating whether this instance has a dialog.
/// </summary>
bool HasDialog { get; }
@@ -203,5 +208,17 @@ namespace Tango.PPC.Common.Notifications
/// Gets or sets a value indicating whether to allow notifications visibility.
/// </summary>
bool NotificationsVisible { get; set; }
+
+ /// <summary>
+ /// Pushes the app button.
+ /// </summary>
+ /// <param name="appButton">The app button.</param>
+ void PushAppButton(AppButton appButton);
+
+ /// <summary>
+ /// Pops the app button.
+ /// </summary>
+ /// <param name="appButton">The app button.</param>
+ void PopAppButton(AppButton appButton);
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Merged.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Merged.xaml
index 01d69ecc9..266bef3eb 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Merged.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resources/Merged.xaml
@@ -44,6 +44,8 @@
<converters:ByteArrayToFileSizeConverter x:Key="ByteArrayToFileSizeConverter" />
<converters:EnumToVisibilityConverter x:Key="EnumToVisibilityConverter" />
<converters:DateTimeUTCToStringConverter x:Key="DateTimeUTCToStringConverter" />
+ <converters:NullObjectToBooleanConverter x:Key="NullObjectToBooleanConverter" />
+ <converters:IsNullToVisibilityConverter x:Key="IsNullToVisibilityConverter" />
<Style TargetType="FrameworkElement">
<Setter Property="TextElement.FontFamily" Value="{StaticResource TangoFlexoFontFamily}"></Setter>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
index 2f95d5060..faea5ed41 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
@@ -150,6 +150,7 @@
<Compile Include="Navigation\INavigationObjectReceiver.cs" />
<Compile Include="Navigation\INavigationResultProvider.cs" />
<Compile Include="Notifications\AppBarItem.cs" />
+ <Compile Include="Notifications\AppButton.cs" />
<Compile Include="Notifications\ItemBase.cs" />
<Compile Include="Notifications\NotificationItem.cs" />
<Compile Include="Notifications\NotificationItems\MessageNotificationItem.cs" />
@@ -330,7 +331,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
index e7f51aeb6..9cd34e67c 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Notifications/DefaultNotificationProvider.cs
@@ -107,6 +107,16 @@ namespace Tango.PPC.UI.Notifications
}
}
+ private AppButton _currentAppButton;
+ /// <summary>
+ /// Gets the current app button.
+ /// </summary>
+ public AppButton CurrentAppButton
+ {
+ get { return _currentAppButton; }
+ private set { _currentAppButton = value; RaisePropertyChangedAuto(); }
+ }
+
/// <summary>
/// Gets a value indicating whether a dialog is available.
/// </summary>
@@ -504,5 +514,26 @@ namespace Tango.PPC.UI.Notifications
{
TaskBarItems.Remove(taskBarItem);
}
+
+ /// <summary>
+ /// Pushes the app button.
+ /// </summary>
+ /// <param name="appButton">The app button.</param>
+ public void PushAppButton(AppButton appButton)
+ {
+ CurrentAppButton = appButton;
+ }
+
+ /// <summary>
+ /// Pops the app button.
+ /// </summary>
+ /// <param name="appButton">The app button.</param>
+ public void PopAppButton(AppButton appButton)
+ {
+ if (CurrentAppButton == appButton)
+ {
+ CurrentAppButton = null;
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml
index b89b2c9de..042faaba8 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Views/LayoutView.xaml
@@ -126,21 +126,7 @@
<TextBlock Margin="0 10 0 0" Text="{Binding MachineProvider.MachineOperator.Status,Converter={StaticResource EnumToDescriptionConverter}}"></TextBlock>
</StackPanel>
- <Grid Margin="40 0 0 0">
- <Grid.Style>
- <Style TargetType="Grid">
- <Setter Property="Visibility" Value="Collapsed"></Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding MachineProvider.MachineOperator.IsPrinting}" Value="True">
- <Setter Property="Visibility" Value="Visible"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Grid.Style>
- <touch:TouchButton Height="54" Padding="0" Width="184" CornerRadius="30" BlurRadius="20" Command="{Binding StopPrintingCommand}">
- STOP
- </touch:TouchButton>
- </Grid>
+ <touch:TouchButton Margin="40 0 0 0" Height="54" Padding="50 0" MinWidth="184" CornerRadius="30" BlurRadius="20" Command="{Binding NotificationProvider.CurrentAppButton.Command}" IsEnabled="{Binding NotificationProvider.CurrentAppButton.IsEnabled}" Content="{Binding NotificationProvider.CurrentAppButton.Text}" Visibility="{Binding NotificationProvider.CurrentAppButton,Converter={StaticResource IsNullToVisibilityConverter}}"></touch:TouchButton>
</StackPanel>
</Grid>
<Grid>
diff --git a/Software/Visual_Studio/Tango.SharedUI/Converters/IsNullToVisibilityConverter.cs b/Software/Visual_Studio/Tango.SharedUI/Converters/IsNullToVisibilityConverter.cs
new file mode 100644
index 000000000..4ce6d2f36
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SharedUI/Converters/IsNullToVisibilityConverter.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Tango.SharedUI.Converters
+{
+ public class IsNullToVisibilityConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return value != null ? Visibility.Visible : Visibility.Collapsed;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj b/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
index 04147e866..65aaf2a6f 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
+++ b/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
@@ -102,6 +102,7 @@
<Compile Include="Converters\EnumToXamlVectorConverter.cs" />
<Compile Include="Converters\IsEqualConverter.cs" />
<Compile Include="Converters\IsNotConverter.cs" />
+ <Compile Include="Converters\IsNullToVisibilityConverter.cs" />
<Compile Include="Converters\IsSegmentGradientConverter.cs" />
<Compile Include="Converters\IsSegmentGradientToVisibilityConverter.cs" />
<Compile Include="Converters\LastItemInContainerToBooleanConverter.cs" />
@@ -231,7 +232,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file