aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Modules/Tango.PPC.Jobs/Views/JobView.xaml.cs
blob: 85ed8176ca6018fe6e9206f03bf41e6da91c6679 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
{
    /// <summary>
    /// Interaction logic for JobView.xaml
    /// </summary>
    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<IJobView>(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();
        }
    }
}
an class="k">static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(StubMotorHomeMarkRequest)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast<const ::google::protobuf::Message*>(&_StubMotorHomeMarkRequest_default_instance_), }; namespace { void protobuf_AssignDescriptors() { AddDescriptors(); ::google::protobuf::MessageFactory* factory = NULL; AssignDescriptors( "StubMotorHomeMarkRequest.proto", schemas, file_default_instances, TableStruct::offsets, factory, file_level_metadata, NULL, NULL); } void protobuf_AssignDescriptorsOnce() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors); } void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD; void protobuf_RegisterTypes(const ::std::string&) { protobuf_AssignDescriptorsOnce(); ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 1); } } // namespace void TableStruct::InitDefaultsImpl() { GOOGLE_PROTOBUF_VERIFY_VERSION; ::google::protobuf::internal::InitProtobufDefaults(); _StubMotorHomeMarkRequest_default_instance_._instance.DefaultConstruct(); ::google::protobuf::internal::OnShutdownDestroyMessage( &_StubMotorHomeMarkRequest_default_instance_);} void InitDefaults() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &TableStruct::InitDefaultsImpl); } namespace { void AddDescriptorsImpl() { InitDefaults(); static const char descriptor[] GOOGLE_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { "\n\036StubMotorHomeMarkRequest.proto\022\017Tango." "PMR.Stubs\"P\n\030StubMotorHomeMarkRequest\022\020\n" "\010Motor_ID\030\001 \001(\r\022\"\n\032Set_Home_Mark_GO_Home" "_Mark\030\002 \001(\rB\033\n\031com.twine.tango.pmr.stubs" "b\006proto3" }; ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( descriptor, 168); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "StubMotorHomeMarkRequest.proto", &protobuf_RegisterTypes); } } // anonymous namespace void AddDescriptors() { static GOOGLE_PROTOBUF_DECLARE_ONCE(once); ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl); } // Force AddDescriptors() to be called at dynamic initialization time. struct StaticDescriptorInitializer { StaticDescriptorInitializer() { AddDescriptors(); } } static_descriptor_initializer; } // namespace protobuf_StubMotorHomeMarkRequest_2eproto // =================================================================== #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int StubMotorHomeMarkRequest::kMotorIDFieldNumber; const int StubMotorHomeMarkRequest::kSetHomeMarkGOHomeMarkFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 StubMotorHomeMarkRequest::StubMotorHomeMarkRequest() : ::google::protobuf::Message(), _internal_metadata_(NULL) { if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) { protobuf_StubMotorHomeMarkRequest_2eproto::InitDefaults(); } SharedCtor(); // @@protoc_insertion_point(constructor:Tango.PMR.Stubs.StubMotorHomeMarkRequest) } StubMotorHomeMarkRequest::StubMotorHomeMarkRequest(const StubMotorHomeMarkRequest& from) : ::google::protobuf::Message(), _internal_metadata_(NULL), _cached_size_(0) { _internal_metadata_.MergeFrom(from._internal_metadata_); ::memcpy(&motor_id_, &from.motor_id_, static_cast<size_t>(reinterpret_cast<char*>(&set_home_mark_go_home_mark_) - reinterpret_cast<char*>(&motor_id_)) + sizeof(set_home_mark_go_home_mark_)); // @@protoc_insertion_point(copy_constructor:Tango.PMR.Stubs.StubMotorHomeMarkRequest) } void StubMotorHomeMarkRequest::SharedCtor() { ::memset(&motor_id_, 0, static_cast<size_t>( reinterpret_cast<char*>(&set_home_mark_go_home_mark_) - reinterpret_cast<char*>(&motor_id_)) + sizeof(set_home_mark_go_home_mark_)); _cached_size_ = 0; } StubMotorHomeMarkRequest::~StubMotorHomeMarkRequest() { // @@protoc_insertion_point(destructor:Tango.PMR.Stubs.StubMotorHomeMarkRequest) SharedDtor(); } void StubMotorHomeMarkRequest::SharedDtor() { } void StubMotorHomeMarkRequest::SetCachedSize(int size) const { GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); } const ::google::protobuf::Descriptor* StubMotorHomeMarkRequest::descriptor() { protobuf_StubMotorHomeMarkRequest_2eproto::protobuf_AssignDescriptorsOnce(); return protobuf_StubMotorHomeMarkRequest_2eproto::file_level_metadata[kIndexInFileMessages].descriptor; } const StubMotorHomeMarkRequest& StubMotorHomeMarkRequest::default_instance() { protobuf_StubMotorHomeMarkRequest_2eproto::InitDefaults(); return *internal_default_instance(); } StubMotorHomeMarkRequest* StubMotorHomeMarkRequest::New(::google::protobuf::Arena* arena) const { StubMotorHomeMarkRequest* n = new StubMotorHomeMarkRequest; if (arena != NULL) { arena->Own(n); } return n; } void StubMotorHomeMarkRequest::Clear() { // @@protoc_insertion_point(message_clear_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) ::google::protobuf::uint32 cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; ::memset(&motor_id_, 0, static_cast<size_t>( reinterpret_cast<char*>(&set_home_mark_go_home_mark_) - reinterpret_cast<char*>(&motor_id_)) + sizeof(set_home_mark_go_home_mark_)); _internal_metadata_.Clear(); } bool StubMotorHomeMarkRequest::MergePartialFromCodedStream( ::google::protobuf::io::CodedInputStream* input) { #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure ::google::protobuf::uint32 tag; // @@protoc_insertion_point(parse_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) for (;;) { ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); tag = p.first; if (!p.second) goto handle_unusual; switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { // uint32 Motor_ID = 1; case 1: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) { DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( input, &motor_id_))); } else { goto handle_unusual; } break; } // uint32 Set_Home_Mark_GO_Home_Mark = 2; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) { DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>( input, &set_home_mark_go_home_mark_))); } else { goto handle_unusual; } break; } default: { handle_unusual: if (tag == 0) { goto success; } DO_(::google::protobuf::internal::WireFormat::SkipField( input, tag, _internal_metadata_.mutable_unknown_fields())); break; } } } success: // @@protoc_insertion_point(parse_success:Tango.PMR.Stubs.StubMotorHomeMarkRequest) return true; failure: // @@protoc_insertion_point(parse_failure:Tango.PMR.Stubs.StubMotorHomeMarkRequest) return false; #undef DO_ } void StubMotorHomeMarkRequest::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { // @@protoc_insertion_point(serialize_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; // uint32 Motor_ID = 1; if (this->motor_id() != 0) { ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->motor_id(), output); } // uint32 Set_Home_Mark_GO_Home_Mark = 2; if (this->set_home_mark_go_home_mark() != 0) { ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->set_home_mark_go_home_mark(), output); } if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); } // @@protoc_insertion_point(serialize_end:Tango.PMR.Stubs.StubMotorHomeMarkRequest) } ::google::protobuf::uint8* StubMotorHomeMarkRequest::InternalSerializeWithCachedSizesToArray( bool deterministic, ::google::protobuf::uint8* target) const { (void)deterministic; // Unused // @@protoc_insertion_point(serialize_to_array_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; // uint32 Motor_ID = 1; if (this->motor_id() != 0) { target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->motor_id(), target); } // uint32 Set_Home_Mark_GO_Home_Mark = 2; if (this->set_home_mark_go_home_mark() != 0) { target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->set_home_mark_go_home_mark(), target); } if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); } // @@protoc_insertion_point(serialize_to_array_end:Tango.PMR.Stubs.StubMotorHomeMarkRequest) return target; } size_t StubMotorHomeMarkRequest::ByteSizeLong() const { // @@protoc_insertion_point(message_byte_size_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) size_t total_size = 0; if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance())); } // uint32 Motor_ID = 1; if (this->motor_id() != 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::UInt32Size( this->motor_id()); } // uint32 Set_Home_Mark_GO_Home_Mark = 2; if (this->set_home_mark_go_home_mark() != 0) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::UInt32Size( this->set_home_mark_go_home_mark()); } int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = cached_size; GOOGLE_SAFE_CONCURRENT_WRITES_END(); return total_size; } void StubMotorHomeMarkRequest::MergeFrom(const ::google::protobuf::Message& from) { // @@protoc_insertion_point(generalized_merge_from_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) GOOGLE_DCHECK_NE(&from, this); const StubMotorHomeMarkRequest* source = ::google::protobuf::internal::DynamicCastToGenerated<const StubMotorHomeMarkRequest>( &from); if (source == NULL) { // @@protoc_insertion_point(generalized_merge_from_cast_fail:Tango.PMR.Stubs.StubMotorHomeMarkRequest) ::google::protobuf::internal::ReflectionOps::Merge(from, this); } else { // @@protoc_insertion_point(generalized_merge_from_cast_success:Tango.PMR.Stubs.StubMotorHomeMarkRequest) MergeFrom(*source); } } void StubMotorHomeMarkRequest::MergeFrom(const StubMotorHomeMarkRequest& from) { // @@protoc_insertion_point(class_specific_merge_from_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) GOOGLE_DCHECK_NE(&from, this); _internal_metadata_.MergeFrom(from._internal_metadata_); ::google::protobuf::uint32 cached_has_bits = 0; (void) cached_has_bits; if (from.motor_id() != 0) { set_motor_id(from.motor_id()); } if (from.set_home_mark_go_home_mark() != 0) { set_set_home_mark_go_home_mark(from.set_home_mark_go_home_mark()); } } void StubMotorHomeMarkRequest::CopyFrom(const ::google::protobuf::Message& from) { // @@protoc_insertion_point(generalized_copy_from_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) if (&from == this) return; Clear(); MergeFrom(from); } void StubMotorHomeMarkRequest::CopyFrom(const StubMotorHomeMarkRequest& from) { // @@protoc_insertion_point(class_specific_copy_from_start:Tango.PMR.Stubs.StubMotorHomeMarkRequest) if (&from == this) return; Clear(); MergeFrom(from); } bool StubMotorHomeMarkRequest::IsInitialized() const { return true; } void StubMotorHomeMarkRequest::Swap(StubMotorHomeMarkRequest* other) { if (other == this) return; InternalSwap(other); } void StubMotorHomeMarkRequest::InternalSwap(StubMotorHomeMarkRequest* other) { using std::swap; swap(motor_id_, other->motor_id_); swap(set_home_mark_go_home_mark_, other->set_home_mark_go_home_mark_); _internal_metadata_.Swap(&other->_internal_metadata_); swap(_cached_size_, other->_cached_size_); } ::google::protobuf::Metadata StubMotorHomeMarkRequest::GetMetadata() const { protobuf_StubMotorHomeMarkRequest_2eproto::protobuf_AssignDescriptorsOnce(); return protobuf_StubMotorHomeMarkRequest_2eproto::file_level_metadata[kIndexInFileMessages]; } #if PROTOBUF_INLINE_NOT_IN_HEADERS // StubMotorHomeMarkRequest // uint32 Motor_ID = 1; void StubMotorHomeMarkRequest::clear_motor_id() { motor_id_ = 0u; } ::google::protobuf::uint32 StubMotorHomeMarkRequest::motor_id() const { // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.StubMotorHomeMarkRequest.Motor_ID) return motor_id_; } void StubMotorHomeMarkRequest::set_motor_id(::google::protobuf::uint32 value) { motor_id_ = value; // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.StubMotorHomeMarkRequest.Motor_ID) } // uint32 Set_Home_Mark_GO_Home_Mark = 2; void StubMotorHomeMarkRequest::clear_set_home_mark_go_home_mark() { set_home_mark_go_home_mark_ = 0u; } ::google::protobuf::uint32 StubMotorHomeMarkRequest::set_home_mark_go_home_mark() const { // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.StubMotorHomeMarkRequest.Set_Home_Mark_GO_Home_Mark) return set_home_mark_go_home_mark_; } void StubMotorHomeMarkRequest::set_set_home_mark_go_home_mark(::google::protobuf::uint32 value) { set_home_mark_go_home_mark_ = value; // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.StubMotorHomeMarkRequest.Set_Home_Mark_GO_Home_Mark) } #endif // PROTOBUF_INLINE_NOT_IN_HEADERS // @@protoc_insertion_point(namespace_scope) } // namespace Stubs } // namespace PMR } // namespace Tango // @@protoc_insertion_point(global_scope)