Пример #1
0
        public override void Update()
        {
            isPopupShown = false;

            if (binding == null)
            {
                return;
            }

            valueChangingProp.Enable(binding);

            internalValue[0] = binding.Value;

            if (Manager.NativeManager.DragFloat(id, internalValue, binding.Step / 10.0f, binding.RangeMin, binding.RangeMax))
            {
                if (EnableUndo)
                {
                    binding.SetValue(internalValue[0], isActive);
                }
                else
                {
                    binding.SetValueDirectly(internalValue[0]);
                }
            }

            Popup();

            var isActive_Current = Manager.NativeManager.IsItemActive();

            if (isActive && !isActive_Current)
            {
                FixValue();
            }

            isActive = isActive_Current;

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectInComponent(id_d, binding.DynamicEquation);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquation);
                }
                Popup();
            }

            valueChangingProp.Disable();
        }
Пример #2
0
        public static void SelectInComponent(string id, Data.Value.DynamicEquationReference reference)
        {
            Manager.NativeManager.Text(Resources.GetString("DynamicEq"));
            Manager.NativeManager.SameLine();

            var nextParam = DynamicSelector.Select("", id, reference.Value, false, false);

            if (Manager.NativeManager.IsItemHovered())
            {
                DynamicEquationCodeTooltip.Render(reference);
            }

            if (reference.Value != nextParam)
            {
                reference.SetValue(nextParam);
            }
        }
Пример #3
0
        public static void SelectMinInComponent(string id, Data.Value.DynamicEquationReference reference)
        {
            Manager.NativeManager.PushItemWidth(Manager.NativeManager.GetColumnWidth() - 48 * Manager.DpiScale);

            Manager.NativeManager.Text(Resources.GetString("DynamicEq"));
            Manager.NativeManager.SameLine();

            var nextParam = DynamicSelector.Select(Resources.GetString("Min"), id, reference.Value, false, false);

            if (Manager.NativeManager.IsItemHovered())
            {
                DynamicEquationCodeTooltip.Render(reference);
            }

            if (reference.Value != nextParam)
            {
                reference.SetValue(nextParam);
            }

            Manager.NativeManager.PopItemWidth();;
        }
Пример #4
0
        public override void Update()
        {
            isPopupShown = false;

            if (binding == null)
            {
                return;
            }

            valueChangingProp.Enable(binding);

            float step = 1.0f;

            if (binding != null)
            {
                internalValue[0] = binding.X.Value;
                internalValue[1] = binding.Y.Value;
                internalValue[2] = binding.Z.Value;
                internalValue[3] = binding.W.Value;

                step = Binding.X.Step / 10.0f;
            }

            if (Manager.NativeManager.ColorEdit4(id, internalValue, swig.ColorEditFlags.HDR | swig.ColorEditFlags.Float))
            {
                FixValueInternal(isActive);
            }

            var isActive_Current = Manager.NativeManager.IsItemActive();

            Popup();

            if (isActive && !isActive_Current)
            {
                FixValue();
            }

            isActive = isActive_Current;

            if (binding.IsDynamicEquationEnabled)
            {
                Manager.NativeManager.Text(Resources.GetString("DynamicEq"));
                Manager.NativeManager.SameLine();

                var nextParam = DynamicSelector.Select("", "", binding.DynamicEquation.Value, false, false);

                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquation);
                }

                if (binding.DynamicEquation.Value != nextParam)
                {
                    binding.DynamicEquation.SetValue(nextParam);
                }

                Popup();
            }

            valueChangingProp.Disable();
        }
Пример #5
0
        public override void Update()
        {
            isPopupShown = false;

            if (binding == null)
            {
                return;
            }

            valueChangingProp.Enable(binding);

            float step = 1.0f;

            if (binding != null)
            {
                if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude && !binding.IsDynamicEquationEnabled)
                {
                    internalValue1[0] = binding.X.Center;
                    internalValue1[1] = binding.Y.Center;
                    internalValue1[2] = binding.Z.Center;
                    internalValue2[0] = binding.X.Amplitude;
                    internalValue2[1] = binding.Y.Amplitude;
                    internalValue2[2] = binding.Z.Amplitude;
                }
                else
                {
                    internalValue1[0] = binding.X.Min;
                    internalValue1[1] = binding.Y.Min;
                    internalValue1[2] = binding.Z.Min;
                    internalValue2[0] = binding.X.Max;
                    internalValue2[1] = binding.Y.Max;
                    internalValue2[2] = binding.Z.Max;
                }

                step = Binding.X.Step / 10.0f;
            }

            var txt_r1 = string.Empty;
            var txt_r2 = string.Empty;

            if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude && !binding.IsDynamicEquationEnabled)
            {
                txt_r1 = Resources.GetString("Mean");
                txt_r2 = Resources.GetString("Deviation");
            }
            else
            {
                txt_r1 = Resources.GetString("Max");
                txt_r2 = Resources.GetString("Min");
            }

            Manager.NativeManager.PushItemWidth(Manager.NativeManager.GetColumnWidth() - 60);
            if (Manager.NativeManager.DragFloat3EfkEx(id1, internalValue1, step,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      "X:%.3f", "Y:%.3f", "Z:%.3f"))
            {
                if (EnableUndo)
                {
                    if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude && !binding.IsDynamicEquationEnabled)
                    {
                        binding.X.SetCenter(internalValue1[0], isActive);
                        binding.Y.SetCenter(internalValue1[1], isActive);
                        binding.Z.SetCenter(internalValue1[2], isActive);
                    }
                    else
                    {
                        binding.X.SetMin(internalValue1[0], isActive);
                        binding.Y.SetMin(internalValue1[1], isActive);
                        binding.Z.SetMin(internalValue1[2], isActive);
                    }
                }
                else
                {
                    throw new Exception("Not Implemented.");
                }
            }

            var isActive_Current = Manager.NativeManager.IsItemActive();

            Popup();

            Manager.NativeManager.SameLine();
            Manager.NativeManager.Text(txt_r1);

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectMaxInComponent(id_d1, binding.DynamicEquationMax);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquationMax);
                }
                Popup();
            }

            if (Manager.NativeManager.DragFloat3EfkEx(id2, internalValue2, step,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      "X:" + "%.3f", "Y:" + "%.3f", "Z:" + "%.3f"))
            {
                if (EnableUndo)
                {
                    if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude && !binding.IsDynamicEquationEnabled)
                    {
                        binding.X.SetAmplitude(internalValue2[0], isActive);
                        binding.Y.SetAmplitude(internalValue2[1], isActive);
                        binding.Z.SetAmplitude(internalValue2[2], isActive);
                    }
                    else
                    {
                        binding.X.SetMax(internalValue2[0], isActive);
                        binding.Y.SetMax(internalValue2[1], isActive);
                        binding.Z.SetMax(internalValue2[2], isActive);
                    }
                }
                else
                {
                    throw new Exception("Not Implemented.");
                }
            }

            isActive_Current |= Manager.NativeManager.IsItemActive();

            if (isActive && !isActive_Current)
            {
                FixValue();
            }

            isActive = isActive_Current;

            Popup();

            Manager.NativeManager.SameLine();
            Manager.NativeManager.Text(txt_r2);

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectMinInComponent(id_d2, binding.DynamicEquationMin);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquationMin);
                }
                Popup();
            }


            Manager.NativeManager.PopItemWidth();

            valueChangingProp.Disable();
        }
Пример #6
0
        public override void Update()
        {
            isPopupShown = false;
            if (binding == null)
            {
                return;
            }

            valueChangingProp.Enable(binding);

            if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude)
            {
                internalValue[0] = binding.GetCenter();
                internalValue[1] = binding.GetAmplitude();
            }
            else
            {
                internalValue[0] = binding.GetMin();
                internalValue[1] = binding.GetMax();
            }


            var txt_r1 = string.Empty;
            var txt_r2 = string.Empty;

            var range_1_min = float.MinValue;
            var range_1_max = float.MaxValue;
            var range_2_min = float.MinValue;
            var range_2_max = float.MaxValue;

            if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude)
            {
                txt_r1 = Resources.GetString("Mean");
                txt_r2 = Resources.GetString("Deviation");

                range_1_min = binding.ValueMin;
                range_1_max = binding.ValueMax;
            }
            else
            {
                txt_r1 = Resources.GetString("Max");
                txt_r2 = Resources.GetString("Min");

                range_1_min = binding.ValueMin;
                range_1_max = binding.ValueMax;
                range_2_min = binding.ValueMin;
                range_2_max = binding.ValueMax;
            }

            if (Manager.NativeManager.DragFloat2EfkEx(id, internalValue, binding.Step / 10.0f,
                                                      range_1_min, range_1_max,
                                                      range_2_min, range_2_max,
                                                      txt_r1 + ":" + "%.3f", txt_r2 + ":" + "%.3f"))
            {
                if (EnableUndo)
                {
                    if (binding.DrawnAs == Data.DrawnAs.CenterAndAmplitude)
                    {
                        binding.SetCenter(internalValue[0], isActive);
                        binding.SetAmplitude(internalValue[1], isActive);
                    }
                    else
                    {
                        binding.SetMin(internalValue[0], isActive);
                        binding.SetMax(internalValue[1], isActive);
                    }
                }
                else
                {
                    throw new Exception("Not Implemented.");
                }
            }

            Popup();

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectMaxInComponent(id_d1, binding.DynamicEquationMax);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquationMax);
                }
                Popup();
            }

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectMinInComponent(id_d2, binding.DynamicEquationMin);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquationMin);
                }
                Popup();
            }

            var isActive_Current = Manager.NativeManager.IsItemActive();

            if (isActive && !isActive_Current)
            {
                FixValue();
            }

            isActive = isActive_Current;

            Popup();

            valueChangingProp.Disable();
        }
Пример #7
0
        public override void Update()
        {
            isPopupShown = false;

            if (binding != null)
            {
                internalValue[0] = binding.Value;
                isInfinite[0]    = binding.Infinite.Value;
            }

            valueChangingProp.Enable(binding);

            Manager.NativeManager.PushItemWidth(60);

            if (Manager.NativeManager.DragInt(id1, internalValue, binding.Value.Step, binding.Value.Min, binding.Value.Max))
            {
                if (EnableUndo)
                {
                    binding.Value.SetValue(internalValue[0], isActive);
                }
                else
                {
                    binding.Value.SetValueDirectly(internalValue[0]);
                }
            }

            Popup();

            Manager.NativeManager.PopItemWidth();

            var isActive_Current = Manager.NativeManager.IsItemActive();

            if (isActive && !isActive_Current)
            {
                FixValue();
            }

            isActive = isActive_Current;

            Manager.NativeManager.SameLine();

            var inf = Resources.GetString("Infinite");

            if (Manager.NativeManager.Checkbox(inf + id2, isInfinite))
            {
                if (EnableUndo)
                {
                    binding.Infinite.SetValue(isInfinite[0]);
                }
                else
                {
                    binding.Infinite.SetValueDirectly(isInfinite[0]);
                }
            }

            Popup();

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectInComponent(id_d, binding.DynamicEquation);
                if (Manager.NativeManager.IsItemHovered())
                {
                    DynamicEquationCodeTooltip.render(binding.DynamicEquation);
                }
                Popup();
            }

            valueChangingProp.Disable();
        }