public RangeDropDownControl(HCItemProperty itemProperty)
        {
            InitializeComponent();

            AddOkCancelButtons(out _, out _);

            this.itemProperty = itemProperty;

            rangeAttr = (RangeAttribute)itemProperty.Property.GetCustomAttributes(typeof(RangeAttribute)).FirstOrDefault();
            if (rangeAttr == null)
            {
                rangeAttr = new RangeAttribute(0, 100);                   // default
            }
            SetupUIApplicableRange();

            minTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged);
            maxTrackBar.ValueChanged += new EventHandler(anyTrackBar_ValueChanged);

            object obj = ReferenceUtility.GetUnreferencedValue(itemProperty.GetValues()[0]);

            value = RangeConverter.ObjectToRange(obj);

            propertyItemForUndoSupport = itemProperty.GetItemInHierarchyToRestoreValues();
            propertyItemForUndoSupport.SaveValuesToRestore();

            UpdateTrackBarsAndTextBoxes();

            EditorThemeUtility.ApplyDarkThemeToForm(this);
        }
Exemple #2
0
        public void GET_ALL_POINTS_FROM_2_TO_6()
        {
            RangeConverter rangeConverter = new RangeConverter();

            // input
            string set    = "[2,6)";
            var    subSet = new List <int>()
            {
                2, 3, 4, 5
            };
            int  countListExperated        = 4;
            bool experatedElementsInResult = true;

            // Test
            IEnumerable <int> result = rangeConverter.GetAllPoints(set);

            // Assert

            var forAllElementsExists = result.All(e => subSet.Contains(e));


            Assert.AreEqual(countListExperated, result.Count());

            Assert.AreEqual(forAllElementsExists, experatedElementsInResult);
        }
 private void UpdateItemProperty()
 {
     if (itemProperty != null && itemProperty.CanEditValue())
     {
         var type = ReferenceUtility.GetUnreferencedType(itemProperty.Property.Type).GetNetType();
         //var type = itemProperty.Property.Type.GetNetUnreferencedType();
         itemProperty.SetValue(RangeConverter.ConvertRange(value, type), false);
     }
     valueWasChanged = true;
 }
Exemple #4
0
        public void RangeConverter_RoundTrip_Ok()
        {
            var d1 = "val1";
            var d2 = "val2";

            var repr = RangeConverter <DateTime> .Join(d1, d2);

            RangeConverter <DateTime> .Split(repr, out var c1, out var c2).Should().BeTrue();

            c1.Should().Be(d1);
            c2.Should().Be(d2);
        }
Exemple #5
0
        public void CONTAIN_RANGE_2_To_5_NOT_CONTAIN_3_TO_10()
        {
            RangeConverter rangeConverter = new RangeConverter();

            // input
            string set             = "[2,5)";
            string otherSet        = "[3,10)";
            bool   resultExperated = false;

            // Test
            bool result = rangeConverter.RangeContain(set, otherSet);

            // Assert
            Assert.AreEqual(resultExperated, result);
        }
        public async Task SetPickerValue_CheckDateRange_SetPickerDate_CheckValue()
        {
            var comp = ctx.RenderComponent <MudDateRangePicker>();
            // select elements needed for the test
            var picker = comp.Instance;

            picker.Text.Should().BeNullOrEmpty();
            picker.DateRange.Should().Be(null);
            await comp.InvokeAsync(() => picker.Text = RangeConverter <DateTime> .Join(new DateTime(2021, 01, 01).ToShortDateString(), new DateTime(2021, 01, 10).ToShortDateString()));

            picker.DateRange.Start.Should().Be(new DateTime(2021, 01, 01));
            picker.DateRange.End.Should().Be(new DateTime(2021, 01, 10));
            await comp.InvokeAsync(() => picker.DateRange = new DateRange(new DateTime(2020, 12, 26), new DateTime(2021, 02, 01)));

            picker.Text.Should().Be(RangeConverter <DateTime> .Join(new DateTime(2020, 12, 26).ToShortDateString(), new DateTime(2021, 02, 01).ToShortDateString()));
        }
        public void SetPickerValue_CheckText()
        {
            var comp = ctx.RenderComponent <MudDateRangePicker>(
                Parameter(nameof(MudDateRangePicker.DateRange), new DateRange(DateTime.Now, DateTime.Now.AddDays(5))));
            // select elements needed for the test
            var picker = comp.Instance;

            var textStart = DateTime.Now.ToIsoDateString();
            var textEnd   = DateTime.Now.AddDays(5).ToIsoDateString();

            picker.Text.Should().Be(RangeConverter <DateTime> .Join(textStart, textEnd));
            var inputs = comp.FindAll("input");

            (inputs[0] as IHtmlInputElement).Value.Should().Be(textStart);
            (inputs[1] as IHtmlInputElement).Value.Should().Be(textEnd);
        }
Exemple #8
0
        public void INTEGER_RANGE_2_6_NOT_CONTAIN_Minus_1_1_6_10()
        {
            RangeConverter rangeConverter = new RangeConverter();

            // input
            string set    = "[2,6)";
            var    subSet = new List <int>()
            {
                -1, 1, 6, 10
            };
            bool resultExperated = false;

            // Test
            bool result = rangeConverter.IntegerContain(set, subSet);

            // Assert
            Assert.AreEqual(resultExperated, result);
        }
Exemple #9
0
        public void END_POINTS_2_6_END_2_5()
        {
            RangeConverter rangeConverter = new RangeConverter();

            // input
            string set       = "[2,6)";
            var    endPoints = new int[2] {
                2, 5
            };

            bool resultExperated = true;

            // Test
            bool result = rangeConverter.EndPoints(set, endPoints);

            // Assert
            Assert.AreEqual(resultExperated, result);
        }
Exemple #10
0
        public void INTEGER_RANGE_2_6_CONTAIN_2_4()
        {
            RangeConverter rangeConverter = new RangeConverter();

            // input
            string set    = "[2,6)";
            var    subSet = new List <int>()
            {
                2, 4
            };
            bool resultExperated = true;

            // Test
            bool result = rangeConverter.IntegerContain(set, subSet);

            // Assert
            Assert.AreEqual(resultExperated, result);
        }
Exemple #11
0
        public GamepadService(ISteeringConfig config, int controllerIndex, int updateFrequency)
        {
            if (updateFrequency <= 0)
            {
                throw new ArgumentException("Update frequency should be positive");
            }

            _config = config;
            //divide by 128 to get -255 <=> 255 range on thumbstick
            _rangeConverter = new RangeConverter(128f, 255);
            _gamepadModel   = new GamepadModel();

            var controller = XboxController.RetrieveController(controllerIndex);

            controller.StateChanged       += StateChanged;
            XboxController.UpdateFrequency = updateFrequency;

            _lowPassFilterTimer          = new Timer(10);
            _lowPassFilterTimer.Elapsed += LowPassFilterTimerOnElapsed;
        }
Exemple #12
0
        public override System.Windows.Data.BindingBase Save()
        {
            if (channel != null)
            {
                System.Windows.Data.Binding bind = new System.Windows.Data.Binding("Value");
                ChannelDataProvider         cdp  = new ChannelDataProvider();
                cdp.ChannelName          = channel.PluginId + "." + channel.Name;
                bind.Source              = cdp;
                bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                cdp.Refresh();

                ComposingConverter conv = new ComposingConverter();
                if (checkBox1.Checked)
                {
                    RangeConverter rc = new RangeConverter();
                    rc.Min = Decimal.ToDouble(minEdit.Value);
                    rc.Max = Decimal.ToDouble(maxEdit.Value);
                    conv.Converters.Add(rc);
                }

                conv.Converters.Add(new Kent.Boogaart.Converters.TypeConverter(cdp.Channel.Type, Property.PropertyType));
                bind.Converter = conv;

                bind.Mode = BindingMode.TwoWay;


                DependencyObject   depObj;
                DependencyProperty depProp;
                if (Property.GetWpfObjects(out depObj, out depProp))
                {
                    bind.FallbackValue = depObj.GetValue(depProp);
                }

                return(bind);
            }
            else
            {
                return(base.Save());
            }
        }
Exemple #13
0
        public override void Initialize(object element, PropertyWrapper property, System.Windows.Data.BindingBase binding)
        {
            base.Initialize(element, property, binding);

            System.Windows.Data.Binding bind = binding as System.Windows.Data.Binding;
            if (bind != null)
            {
                ChannelDataProvider cdp = (ChannelDataProvider)bind.Source;
                AddChannel(cdp.Channel);

                ComposingConverter conv = bind.Converter as ComposingConverter;
                foreach (IValueConverter converter in conv.Converters)
                {
                    if (converter is RangeConverter)
                    {
                        checkBox1.Checked = true;
                        RangeConverter rc = converter as RangeConverter;
                        minEdit.Value = (Decimal)rc.Min;
                        maxEdit.Value = (Decimal)rc.Max;
                    }
                }
            }
        }