using System;
using System.Collections.Generic;
using System.Diagnostics;
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.BL;
using Tango.BL.Entities;
using Tango.Core.DI;
using Tango.PPC.Jobs.ViewContracts;
using Tango.PPC.Jobs.ViewModels;
using static Tango.SharedUI.Controls.NavigationControl;
namespace Tango.PPC.Jobs.Views
{
///
/// Interaction logic for JobView.xaml
///
public partial class JobView : UserControl, INavigationView, IJobView
{
private JobViewVM _vm;
private bool _is_edit_docked;
public JobView()
{
InitializeComponent();
Loaded += (_, __) =>
{
_vm = DataContext as JobViewVM;
};
TangoIOC.Default.Register(this);
}
public void OnNavigatedTo()
{
}
private void OnBrushStopFieldValueChanged(object sender, Touch.Controls.DoubleValueChangedEventArgs e)
{
_vm.OnBrushStopFieldValueChanged((sender as FrameworkElement).DataContext as BrushStop);
}
public async void DisplaySampleDye()
{
//expander_sample_dye.IsExpanded = true;
//await Task.Delay(500);
//scrollViewer.ScrollToElement(expander_sample_dye);
}
public async void DisplayFineTuning()
{
//expander_fine_tuning.IsExpanded = true;
//await Task.Delay(500);
//scrollViewer.ScrollToElement(expander_fine_tuning);
}
public void OnNavigatedFrom()
{
}
private void scrollViewer_Scrolling(object sender, Touch.Controls.DoubleValueChangedEventArgs e)
{
if (_vm.Job != null && _vm.Job.Segments != null && _vm.Job.Segments.Count > 3)
{
var position = scrollViewer.GetElementPosition(listSegments);
var stackOutputPosition = scrollViewer.GetElementPosition(stackOutput);
if (stackOutputPosition.Y > 100)
{
if (position.Y < 110 && !_is_edit_docked)
{
DockEditing();
}
else if (position.Y > 110 && _is_edit_docked)
{
FloatEditing();
}
}
else
{
borderEditDock.Visibility = Visibility.Collapsed;
}
}
else if (_is_edit_docked)
{
FloatEditing();
}
}
private void DockEditing()
{
_is_edit_docked = true;
borderDockFloat.Child = null;
borderEditDock.Child = dockEdit;
borderEditDock.Visibility = Visibility.Visible;
}
private void FloatEditing()
{
_is_edit_docked = false;
borderEditDock.Child = null;
borderDockFloat.Child = dockEdit;
borderEditDock.Visibility = Visibility.Collapsed;
}
private void OnLiquidVolumeFieldValueChanged(object sender, Touch.Controls.DoubleValueChangedEventArgs e)
{
var liquidVolume = (sender as FrameworkElement).DataContext as LiquidVolume;
if (liquidVolume != null)
{
_vm.OnBrushStopFieldValueChanged(liquidVolume.BrushStop);
}
}
public void ScrollToTop()
{
FloatEditing();
scrollViewer.ScrollToTop();
}
}
}