示例#1
0
        void Start()
        {
            _Frame = new Skill.Framework.UI.Frame("Frame");
            _Frame.Grid.ColumnDefinitions.Add(160, Skill.Framework.UI.GridUnitType.Pixel);
            _Frame.Grid.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);

            _PnlButtons = new Skill.Framework.UI.StackPanel()
            {
                Column = 0
            };
            _Frame.Controls.Add(_PnlButtons);

            if (Controller != null)
            {
                if (Controller.Triggers != null)
                {
                    foreach (var t in Controller.Triggers)
                    {
                        if (t != null)
                        {
                            Skill.Framework.UI.Button button = new Skill.Framework.UI.Button();
                            button.Height       = 30;
                            button.Content.text = t;
                            button.Tag          = t;
                            button.Margin       = new Skill.Framework.UI.Thickness(2);
                            button.Click       += button_Click;
                            _PnlButtons.Controls.Add(button);
                        }
                    }
                }
            }
        }
示例#2
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;
            }
示例#3
0
        private void CreateUI()
        {
            _Frame = new Skill.Editor.UI.EditorFrame("Frame", this);
            _Frame.Grid.RowDefinitions.Add(2, Skill.Framework.UI.GridUnitType.Pixel);
            _Frame.Grid.RowDefinitions.Add(18, Skill.Framework.UI.GridUnitType.Pixel);
            _Frame.Grid.RowDefinitions.Add(4, Skill.Framework.UI.GridUnitType.Pixel);
            _Frame.Grid.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);
            _Frame.Grid.RowDefinitions.Add(32, Skill.Framework.UI.GridUnitType.Pixel);

            _TxtFilter = new Skill.Editor.UI.TextField()
            {
                Row = 1
            };
            _Frame.Controls.Add(_TxtFilter);

            _ButtonsPanel = new Skill.Framework.UI.StackPanel()
            {
                Row = 4, Orientation = Skill.Framework.UI.Orientation.Horizontal
            };
            _Frame.Controls.Add(_ButtonsPanel);

            if (_Browser == null)
            {
                _Browser = new TextKeyBrowser()
                {
                    Row = 3
                }
            }
            ;
            _Frame.Controls.Add(_Browser);

            _BtnSelect = new Skill.Framework.UI.Button()
            {
                Width = 100, Margin = new Skill.Framework.UI.Thickness(2), HorizontalAlignment = Skill.Framework.UI.HorizontalAlignment.Left, IsEnabled = _Browser.SelectedItem != null
            };
            _BtnSelect.Content.text = "Select";
            _ButtonsPanel.Controls.Add(_BtnSelect);

            _BtnCancel = new Skill.Framework.UI.Button()
            {
                Width = 100, Margin = new Skill.Framework.UI.Thickness(2), HorizontalAlignment = Skill.Framework.UI.HorizontalAlignment.Left
            };
            _BtnCancel.Content.text = "Cancel";
            _ButtonsPanel.Controls.Add(_BtnCancel);



            _Browser.SelectedDoubleClick += _Browser_SelectedDoubleClick;
            _TxtFilter.TextChanged       += _TxtFilter_TextChanged;
            _BtnSelect.Click             += _BtnSelect_Click;
            _BtnCancel.Click             += _BtnCancel_Click;
            _Browser.SelectionChanged    += _Browser_SelectionChanged;
        }

        void _Browser_SelectedDoubleClick(object sender, System.EventArgs e)
        {
            OnSelect();
        }

        void _TxtFilter_TextChanged(object sender, System.EventArgs e)
        {
            _Browser.Filter(_TxtFilter.Text);
            Skill.Editor.UI.EditorFrame.RepaintParentEditorWindow(_Frame.Grid);
        }

        void _Browser_SelectionChanged(object sender, System.EventArgs e)
        {
            _BtnSelect.IsEnabled = _Browser.SelectedIndex >= 0;
            Skill.Editor.UI.EditorFrame.RepaintParentEditorWindow(_Frame.Grid);
        }

        void _BtnCancel_Click(object sender, System.EventArgs e)
        {
            this.Close();
        }

        void _BtnSelect_Click(object sender, System.EventArgs e)
        {
            OnSelect();
        }
示例#4
0
        private void CreateUI()
        {
            _Frame = new Skill.Editor.UI.EditorFrame("Frame", this);

            _Frame.Grid.ColumnDefinitions.Add(58, Skill.Framework.UI.GridUnitType.Pixel); // SourceLabel
            _Frame.Grid.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);   // Source
            _Frame.Grid.ColumnDefinitions.Add(2, Skill.Framework.UI.GridUnitType.Pixel);  // Splitter
            _Frame.Grid.ColumnDefinitions.Add(80, Skill.Framework.UI.GridUnitType.Pixel); // DestinationLabel
            _Frame.Grid.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);   // Destination

            _Frame.Grid.RowDefinitions.Add(16, Skill.Framework.UI.GridUnitType.Pixel);    // ObjectFields
            _Frame.Grid.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star);      // Components
            _Frame.Grid.RowDefinitions.Add(36, Skill.Framework.UI.GridUnitType.Pixel);    // _BtnCopy

            _Splitter = new Framework.UI.Label()
            {
                Row = 0, Column = 2, RowSpan = 2
            };
            _Frame.Controls.Add(_Splitter);

            _SourceLabel = new Framework.UI.Label()
            {
                Row = 0, Column = 0, Text = "Source", Margin = new Framework.UI.Thickness(2, 0)
            };
            _Frame.Controls.Add(_SourceLabel);

            _Source = new Skill.Editor.UI.ObjectField <GameObject>()
            {
                Row = 0, Column = 1, AllowSceneObjects = true
            };
            _Frame.Controls.Add(_Source);

            _DestinationLabel = new Framework.UI.Label()
            {
                Row = 0, Column = 3, Text = "Destination", Margin = new Framework.UI.Thickness(2, 0)
            };
            _Frame.Controls.Add(_DestinationLabel);

            _Destination = new Skill.Editor.UI.ObjectField <GameObject>()
            {
                Row = 0, Column = 4, AllowSceneObjects = true
            };
            _Frame.Controls.Add(_Destination);

            _ComponentsBackground = new Skill.Framework.UI.Label()
            {
                Row = 1, Column = 0, ColumnSpan = 5
            };
            _Frame.Controls.Add(_ComponentsBackground);

            _SourceComponents = new Skill.Framework.UI.StackPanel()
            {
                Row = 1, Column = 0, ColumnSpan = 2
            };
            _Frame.Controls.Add(_SourceComponents);

            _DestinationComponents = new Skill.Framework.UI.StackPanel()
            {
                Row = 1, Column = 3, ColumnSpan = 2
            };
            _Frame.Controls.Add(_DestinationComponents);

            _BtnCopy = new Skill.Framework.UI.Button()
            {
                Row = 2, Column = 0, ColumnSpan = 5
            };
            _BtnCopy.Content.text = "Copy and Paste";
            _Frame.Controls.Add(_BtnCopy);

            _BtnCopy.Click             += _BtnCopy_Click;
            _Source.ObjectChanged      += _Source_ObjectChanged;
            _Destination.ObjectChanged += _Destination_ObjectChanged;

            EnableControls(false);

            _Splitter.BringToFront();
        }