aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/InsufficientLiquidQuantityView.xaml.cs
blob: 51cfb1e7323cb8f051c0a27efd586bde533840f5 (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
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Tango.Integration.Operation;
using static Tango.Integration.Operation.InsufficientLiquidQuantityException;

namespace Tango.MachineStudio.Developer.Views
{
    /// <summary>
    /// Interaction logic for InsufficientLiquidQuantityView.xaml
    /// </summary>
    public partial class InsufficientLiquidQuantityView : UserControl
    {
        public InsufficientLiquidQuantityView()
        {
            InitializeComponent();
        }

        private void IdsPackLoaded(object sender, RoutedEventArgs e)
        {
            Border border = sender as Border;
            Grid parent = border.Parent as Grid;
            IDSPackLevel packLevel = border.DataContext as IDSPackLevel;

            border.Width = ((double)packLevel.Current / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualWidth;
        }

        private void Limit_Loaded(object sender, RoutedEventArgs e)
        {
            Rectangle rect = sender as Rectangle;
            Grid parent = rect.Parent as Grid;
            IDSPackLevel packLevel = rect.DataContext as IDSPackLevel;

            var left = ((double)packLevel.Required / (double)MachineOperator.MAX_DISPENSER_NANOLITER) * parent.ActualWidth;
            rect.Margin = new Thickness(left, 0, 0, 0);

            if (packLevel.IsValid)
            {
                rect.Visibility = Visibility.Hidden;
            }
        }
    }
}
{ } /// <summary> /// Called when the user has navigated out of the module. /// </summary> public virtual void OnNavigatedFrom() { IsVisible = false; IsModuleLoaded = false; } /// <summary> /// Called when the user has navigated in to the module. /// </summary> public virtual void OnNavigatedTo() { IsVisible = true; IsModuleLoaded = true; } /// <summary> /// Called before the application is shutting down. /// Return false to cancel the shutdown in case an important process is in progress. /// </summary> /// <returns></returns> public virtual Task<bool> OnShutdownRequest() { return Task.FromResult(true); } /// <summary> /// Called when application is shutting down. /// </summary> public virtual void OnShuttingDown() { } /// <summary> /// Called when the application has been started /// </summary> public virtual void OnApplicationStarted() { } } /// <summary> /// Represents a Machine Studio view model /// </summary> /// <typeparam name="Module">The type of the module.</typeparam> /// <seealso cref="Tango.SharedUI.ViewModel" /> /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" /> public abstract class StudioViewModel<Module> : ViewModel, IStudioViewModel where Module : IStudioModule { public bool IsVisible { get; private set; } /// <summary> /// Gets or sets a value indicating whether this view model studio module is currently loaded. /// </summary> public bool IsModuleLoaded { get; private set; } /// <summary> /// Initializes a new instance of the <see cref="StudioViewModel{Module}"/> class. /// </summary> public StudioViewModel() : base() { } /// <summary> /// Called when another module has wants to navigate to this module with some arguments. /// </summary> /// <param name="args">The arguments.</param> public virtual void OnModuleRequest(params object[] args) { } /// <summary> /// Called when the user has navigated out of the module. /// </summary> public virtual void OnNavigatedFrom() { IsVisible = false; IsModuleLoaded = false; } /// <summary> /// Called when the user has navigated in to the module. /// </summary> public virtual void OnNavigatedTo() { IsVisible = true; IsModuleLoaded = true; } /// <summary> /// Called before the application is shutting down. /// Return false to cancel the shutdown in case an important process is in progress. /// </summary> /// <returns></returns> public virtual Task<bool> OnShutdownRequest() { return Task.FromResult(true); } /// <summary> /// Called when application is shutting down. /// </summary> public virtual void OnShuttingDown() { } /// <summary> /// Called when the application has been started /// </summary> public virtual void OnApplicationStarted() { } } /// <summary> /// Represents a Machine Studio view model. /// </summary> /// <typeparam name="Module">The type of the module.</typeparam> /// <typeparam name="T"></typeparam> /// <seealso cref="Tango.SharedUI.ViewModel" /> /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" /> public abstract class StudioViewModel<Module, T> : ViewModel<T>, IStudioViewModel where Module : IStudioModule where T : IView { /// <summary> /// Initializes a new instance of the <see cref="StudioViewModel{Module, T}"/> class. /// </summary> /// <param name="view">The view.</param> public StudioViewModel(T view) : base(view) { } /// <summary> /// Called when the application has been started /// </summary> public virtual void OnApplicationStarted() { } /// <summary> /// Called when another module has wants to navigate to this module with some arguments. /// </summary> /// <param name="args">The arguments.</param> public virtual void OnModuleRequest(params object[] args) { } /// <summary> /// Called when the user has navigated out of the module. /// </summary> public virtual void OnNavigatedFrom() { } /// <summary> /// Called when the user has navigated in to the module. /// </summary> public virtual void OnNavigatedTo() { } /// <summary> /// Called before the application is shutting down. /// Return false to cancel the shutdown in case an important process is in progress. /// </summary> /// <returns></returns> public virtual Task<bool> OnShutdownRequest() { return Task.FromResult(true); } /// <summary> /// Called when application is shutting down. /// </summary> public virtual void OnShuttingDown() { } } }