예제 #1
0
 public NumberInput(NumberInputType t, object owner, PropertyInfo p)
 {
     InitializeComponent();
     initing       = true;
     NumberType    = t;
     property      = p;
     propertyOwner = owner;
     Input.Text    = p.GetValue(owner).ToString();
 }
예제 #2
0
 public EditorInt32ValueAttribute(
     string name = null,
     NumberInputType numberInputType = NumberInputType.Drag,
     float max  = float.MaxValue,
     float min  = float.MinValue,
     float step = 0.1f)
     : base(name, numberInputType, max, min, step)
 {
 }
예제 #3
0
 public void UpdateValue(NumberInputType t, object o)
 {
     initing = true;
     if (t == NumberInputType.Int)
     {
         Input.Text = string.Format("{0:0}", Convert.ToInt32(o));
     }
     else
     {
         Input.Text = string.Format("{0:0.000}", Convert.ToSingle(o));
     }
 }
        public EditInputRendererTree()
        {
            var dateTimeInputRenderer = new DateTimeInputRenderer();
            var textInputRenderer     = new TextInputRenderer();
            var numberInputRenderer   = new NumberInputType();
            var selectInputRenderer   = new SelectInputRenderer();

            numberInputRenderer.SetSuccessor(dateTimeInputRenderer);
            dateTimeInputRenderer.SetSuccessor(selectInputRenderer);
            selectInputRenderer.SetSuccessor(textInputRenderer);

            rendererTree = numberInputRenderer;
        }
예제 #5
0
        public void Set(NumberInputType t, object owner, PropertyInfo p)
        {
            initing       = true;
            NumberType    = t;
            property      = p;
            propertyOwner = owner;

            if (t == NumberInputType.Int)
            {
                Input.Text = string.Format("{0:0}", Convert.ToInt32(p.GetValue(owner)));
            }
            else
            {
                Input.Text = string.Format("{0:0.000}", Convert.ToSingle(p.GetValue(owner)));
            }
        }
예제 #6
0
        public VectorInput(PropertyInfo prop, object owner, NodeType type = NodeType.Float4, NumberInputType ntype = NumberInputType.Float)
        {
            InitializeComponent();
            property      = prop;
            propertyOwner = owner;

            switch (type)
            {
            case NodeType.Float2:
                ZPos.Visibility = Visibility.Collapsed;
                WPos.Visibility = Visibility.Collapsed;
                break;

            case NodeType.Float3:
                ZPos.Visibility = Visibility.Visible;
                WPos.Visibility = Visibility.Collapsed;
                break;

            case NodeType.Float4:
                ZPos.Visibility = Visibility.Visible;
                WPos.Visibility = Visibility.Visible;
                break;
            }

            object b = prop.GetValue(owner);

            if (b == null)
            {
                pc = new VectorPropertyContainer(new MVector());
            }
            else
            {
                MVector vec = (MVector)b;
                pc = new VectorPropertyContainer(vec);
            }

            pc.OnUpdate += Pc_OnUpdate;

            var xprop = pc.GetType().GetProperty("XProp");
            var yprop = pc.GetType().GetProperty("YProp");
            var zprop = pc.GetType().GetProperty("ZProp");
            var wprop = pc.GetType().GetProperty("WProp");

            XPos.Set(ntype, pc, xprop);
            YPos.Set(ntype, pc, yprop);
            ZPos.Set(ntype, pc, zprop);
            WPos.Set(ntype, pc, wprop);
        }