예제 #1
0
                    public ParameterItem(ListItem owner, ParameterData data)
                    {
                        this._OwnerListItem = owner;
                        this._Data          = data;
                        this.Height         = 24;
                        this.Padding        = new Thickness(0, 4);

                        this.ColumnDefinitions.Add(1, GridUnitType.Star);
                        this.ColumnDefinitions.Add(2, GridUnitType.Star);
                        this.ColumnDefinitions.Add(2, GridUnitType.Star);

                        _EnumType = new UI.EnumPopup()
                        {
                            Column = 0, Margin = new Thickness(2, 0)
                        };
                        _EnumType.Value         = _Data.Type;
                        _EnumType.ValueChanged += _EnumType_ValueChanged;
                        this.Controls.Add(_EnumType);

                        _TxtName = new UI.TextField()
                        {
                            Column = 1, Text = data.Name, Margin = new Thickness(2, 0)
                        };
                        _TxtName.TextChanged += _TxtName_TextChanged;
                        this.Controls.Add(_TxtName);

                        _IntValue = new UI.IntField()
                        {
                            Column = 2, Margin = new Thickness(2, 0, 6, 0), Visibility = Framework.UI.Visibility.Hidden
                        };
                        this.Controls.Add(_IntValue);
                        _IntValue.ValueChanged += _IntField_ValueChanged;


                        _BoolValue = new UI.ToggleButton()
                        {
                            Column = 2, Margin = new Thickness(2, 0, 6, 0), Visibility = Framework.UI.Visibility.Hidden
                        };
                        this.Controls.Add(_BoolValue);
                        _BoolValue.Changed += _ToggleButton_Changed;

                        _FloatValue = new UI.FloatField()
                        {
                            Column = 2, Margin = new Thickness(2, 0, 6, 0), Visibility = Framework.UI.Visibility.Hidden
                        };
                        this.Controls.Add(_FloatValue);
                        _FloatValue.ValueChanged += _FloatField_ValueChanged;

                        _StringValue = new UI.TextField()
                        {
                            Column = 2, Text = _Data.Value, Margin = new Thickness(2, 0, 6, 0), Visibility = Framework.UI.Visibility.Hidden
                        };
                        this.Controls.Add(_StringValue);
                        _StringValue.TextChanged += _TextField_TextChanged;

                        UpdateValue();
                    }
예제 #2
0
 public IntegerProperties(ExposeProperties owner, PropertyInfo info, ExposePropertyAttribute attribute)
     : base(owner, attribute.Order, info)
 {
     _Field = new Skill.Editor.UI.IntField();
     _Field.ValueChanged  += IntField_ValueChanged;
     _Field.Label.text     = attribute.Name;
     _Field.Label.tooltip  = attribute.Description;
     _Field.ChangeOnReturn = false;
 }
예제 #3
0
 protected override void CreateCustomFileds()
 {
     base.CreateCustomFileds();
     _Item = (ParameterItem)Object;
     if (_Item.Data.Type == AnimationTreeParameterType.Float)
     {
         _FloatField               = new UI.FloatField();
         _FloatField.Label.text    = "Default Value";
         _FloatField.ValueChanged += _FloatField_ValueChanged;
         Controls.Add(_FloatField);
     }
     else
     {
         _IntField               = new UI.IntField();
         _IntField.Label.text    = "Default Value";
         _IntField.ValueChanged += _IntField_ValueChanged;
         Controls.Add(_IntField);
     }
 }
예제 #4
0
            public ArrayProperties(ExposeProperties owner, PropertyInfo info, ExposePropertyAttribute attribute)
                : base(owner, attribute.Order, info)
            {
                _Fields    = new List <ControlProperties>();
                _SizeField = new IntField()
                {
                    Value = 0, ChangeOnReturn = true
                };
                _SizeField.ValueChanged += _SizeField_ValueChanged;
                _Panel = new Framework.UI.StackPanel()
                {
                    Orientation = Framework.UI.Orientation.Vertical
                };
                _Panel.Margin = new Framework.UI.Thickness(4, 0, 0, 0);
                _Panel.Controls.Add(_SizeField);

                _Expander = new VerticalExpander(_Panel);

                _Expander.Foldout.Content.text    = attribute.Name;
                _Expander.Foldout.Content.tooltip = attribute.Description;
            }
예제 #5
0
        private void CreateUI()
        {
            _Frame = new Skill.Editor.UI.EditorFrame("Frame", this);
            _Frame.Grid.RowDefinitions.Add(120, Skill.Framework.UI.GridUnitType.Pixel); // Panel
            _Frame.Grid.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);    // Empty
            _Frame.Grid.Padding = new Skill.Framework.UI.Thickness(2, 4);


            _Panel = new Skill.Framework.UI.Grid();
            _Panel.RowDefinitions.Add(36, Skill.Framework.UI.GridUnitType.Pixel); // Axis step
            _Panel.RowDefinitions.Add(24, Skill.Framework.UI.GridUnitType.Pixel); // _BtnLocal
            _Panel.RowDefinitions.Add(22, Skill.Framework.UI.GridUnitType.Pixel); // Duplicate
            _Panel.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);   // MoveButton
            _Panel.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);
            _Panel.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);
            _Frame.Controls.Add(_Panel);

            var margin    = new Skill.Framework.UI.Thickness(0, 4, 0, 0);
            var alignment = Skill.Framework.UI.VerticalAlignment.Top;

            Grid xyzStep = new Grid()
            {
                Row = 0, Column = 0, ColumnSpan = 2
            };

            xyzStep.ColumnDefinitions.Add(1, GridUnitType.Star);
            xyzStep.ColumnDefinitions.Add(1, GridUnitType.Star);
            xyzStep.ColumnDefinitions.Add(1, GridUnitType.Star);
            _Panel.Controls.Add(xyzStep);

            _XStep = new FieldComponent()
            {
                Column = 0, Value = _SerializedStep.x, Label = "X", Margin = new Thickness()
            };
            xyzStep.Controls.Add(_XStep);

            _YStep = new FieldComponent()
            {
                Column = 1, Value = _SerializedStep.y, Label = "Y", Margin = new Thickness(4, 0, 0, 0)
            };
            xyzStep.Controls.Add(_YStep);

            _ZStep = new FieldComponent()
            {
                Column = 2, Value = _SerializedStep.z, Label = "Z", Margin = new Thickness(4, 0, 0, 0)
            };
            xyzStep.Controls.Add(_ZStep);


            _BtnLocal = new Framework.UI.Button()
            {
                Row = 1, Column = 0, ColumnSpan = 2, Margin = margin
            };
            _BtnLocal.Content.text    = _SerializedLocal ? "Local" : "Global";
            _BtnLocal.Content.tooltip = "local or global space";
            _Panel.Controls.Add(_BtnLocal);

            _TbDuplicate = new Skill.Editor.UI.ToggleButton()
            {
                Row = 2, Column = 0, Left = true, IsChecked = _SerializedDuplicate, Margin = margin, VerticalAlignment = alignment
            };
            _TbDuplicate.Label.text    = "Duplicate";
            _TbDuplicate.Label.tooltip = "duplicate instance";
            _Panel.Controls.Add(_TbDuplicate);

            _IntInstance = new Skill.Editor.UI.IntField()
            {
                Row = 2, Column = 1, Value = _SerializedInstances, IsEnabled = false, Margin = margin, VerticalAlignment = alignment, ChangeOnReturn = false
            };
            _IntInstance.Label.tooltip = "duplicate instance";
            _Panel.Controls.Add(_IntInstance);

            _BtnMove = new Skill.Framework.UI.Button()
            {
                Row = 3, Column = 0, ColumnSpan = 2
            };
            SetMoveText();
            _Panel.Controls.Add(_BtnMove);

            _TbDuplicate.Changed      += _TbDuplicate_Changed;
            _IntInstance.ValueChanged += _IntInstance_ValueChanged;
            _XStep.ValueChanged       += _XYZStep_ValueChanged;
            _YStep.ValueChanged       += _XYZStep_ValueChanged;
            _ZStep.ValueChanged       += _XYZStep_ValueChanged;
            _BtnMove.Click            += _BtnMove_Click;
            _BtnLocal.Click           += _BtnLocal_Click;
        }