Beispiel #1
0
        public static void SelectMaxInComponent(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("Max"), id, reference.Value, false, false);

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

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

            Manager.NativeManager.PopItemWidth();;
        }
Beispiel #2
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();
        }
Beispiel #3
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)
            {
                Manager.NativeManager.Text(Resources.GetString("DynamicEq"));
                Manager.NativeManager.SameLine();

                var nextParam = DynamicSelector.Select("Max", id_d1, binding.DynamicEquationMax, false, false);

                if (binding.DynamicEquationMax != nextParam)
                {
                    binding.SetDynamicEquationMax(nextParam);
                }

                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)
            {
                Manager.NativeManager.Text(Resources.GetString("DynamicEq"));
                Manager.NativeManager.SameLine();

                var nextParam = DynamicSelector.Select("Min", id_d2, binding.DynamicEquationMin, false, false);

                if (binding.DynamicEquationMin != nextParam)
                {
                    binding.SetDynamicEquationMin(nextParam);
                }

                Popup();
            }


            Manager.NativeManager.PopItemWidth();

            valueChangingProp.Disable();
        }
Beispiel #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;

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

            if (Manager.NativeManager.DragFloat3EfkEx(id, internalValue, step,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      float.MinValue, float.MaxValue,
                                                      "X:" + "%.3f", "Y:" + "%.3f", "Z:" + "%.3f"))
            {
                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 (binding.DynamicEquation.Value != nextParam)
                {
                    binding.DynamicEquation.SetValue(nextParam);
                }

                Popup();
            }

            if (binding.IsDynamicEquationEnabled)
            {
                DynamicSelector.SelectInComponent(id_d, binding.DynamicEquation);
                Popup();
            }

            valueChangingProp.Disable();
        }