Exemplo n.º 1
0
        //private void _editor_OnPropertyChanged(UIActionEvent e, UIElement sender) {
        //    foreach (var child in _inspectorList.Elements) {
        //        UITableBar uibar = (UITableBar)child;
        //        if (uibar.Right is IUIUpdateable) {
        //            (uibar.Right as IUIUpdateable).UpdateValue();
        //        }
        //    }
        //}

        private void _editor_OnSizerChanged(UIActionEvent e, UIElement sender)
        {
            foreach (var child in _inspectorList.Elements)
            {
                UITableBar uibar = (UITableBar)child;
                if (uibar.Right is IUIUpdateable)
                {
                    (uibar.Right as IUIUpdateable).UpdateValue();
                }
            }
        }
Exemplo n.º 2
0
        public void Add(UIElement element)
        {
            _inspectorList.Clear();
            foreach (var info in element.GetType().GetProperties())
            {
                if (info.IsDefined(typeof(Attributes.EditorPropertyIgnoreAttribute), true))
                {
                    continue;
                }
                int       height = 30;
                UIElement right  = GetRightElement(info, element, ref height);
                var       left   = new UILabel()
                {
                    Text        = info.Name,
                    Size        = new Vector2(-10, 20),
                    SizeStyle   = SizeStyle.Inline,
                    AnchorPoint = new Vector2(0, 0.5f),
                    Pivot       = new Vector2(0, 0.5f),
                    Position    = new Vector2(5, 0),
                };

                var item = new UITableBar(left, right)
                {
                    SizeFactor = new Vector2(1, 0),
                    Size       = new Vector2(0, height),
                };
                XmlNode info2 = null;
                if ((info2 = UIEditor.Instance.Documentation.GetPropertyInfo(info.DeclaringType.FullName + "." + info.Name)) != null)
                {
                    string desc = info2.InnerText.Trim();
                    item.LeftTooltip = desc;
                    left.Tooltip     = desc;
                }
                _inspectorList.AddElement(item);
            }
        }
Exemplo n.º 3
0
        public ColorChooser(string name) : base(name)
        {
            IsActive = false;
            _window  = new UIWindow()
            {
                Size              = new Vector2(270, 420),
                AnchorPoint       = new Vector2(0.5f, 0.5f),
                CloseButtonOffset = new Vector2(0, 0),
            };
            _window.OnClose += _window_OnClose;
            ZIndex           = 0.15f;

            // 下半部分
            var chooser = new UIElement()
            {
                SizeFactor  = new Vector2(1f, 0.5f),
                AnchorPoint = new Vector2(0.5f, 1f),
                Pivot       = new Vector2(0.5f, 1f),
            };
            var chooserContainer = new UIElement()
            {
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
                Size       = new Vector2(-20, -20),
                Position   = new Vector2(10, 10),
            };

            var labelR = new UILabel()
            {
                AnchorPoint = new Vector2(0, 0.5f),
                Pivot       = new Vector2(0, 0.5f),
                Text        = "R",
                TextColor   = Color.Red,
            };

            _R = new UIValueSlider()
            {
                Min        = 0,
                Max        = 255,
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
            };
            var R = new UITableBar(labelR, _R)
            {
                SizeFactor = new Vector2(1f, 0f),
                Size       = new Vector2(0, 30f),
                Division   = 0.15f,
                Pivot      = new Vector2(0, 0),
            };

            AppendChild(_window);
            _window.AppendChild(chooser);
            chooser.AppendChild(chooserContainer);
            chooserContainer.AppendChild(R);
            var labelG = new UILabel()
            {
                AnchorPoint = new Vector2(0, 0.5f),
                Pivot       = new Vector2(0, 0.5f),
                Text        = "G",
                TextColor   = Color.LimeGreen,
            };

            _G = new UIValueSlider()
            {
                Min        = 0,
                Max        = 255,
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
            };
            var G = new UITableBar(labelG, _G)
            {
                SizeFactor = new Vector2(1f, 0f),
                Size       = new Vector2(0, 30f),
                Division   = 0.15f,
                Pivot      = new Vector2(0, 0),
                Position   = new Vector2(0, 40),
            };

            chooserContainer.AppendChild(G);
            var labelB = new UILabel()
            {
                AnchorPoint = new Vector2(0, 0.5f),
                Pivot       = new Vector2(0, 0.5f),
                Text        = "B",
                TextColor   = Color.Cyan,
            };

            _B = new UIValueSlider()
            {
                Min        = 0,
                Max        = 255,
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
            };
            var B = new UITableBar(labelB, _B)
            {
                SizeFactor = new Vector2(1f, 0f),
                Size       = new Vector2(0, 30f),
                Division   = 0.15f,
                Pivot      = new Vector2(0, 0),
                Position   = new Vector2(0, 80),
            };

            chooserContainer.AppendChild(B);
            var labelA = new UILabel()
            {
                AnchorPoint = new Vector2(0, 0.5f),
                Pivot       = new Vector2(0, 0.5f),
                Text        = "A",
                TextColor   = Color.White,
            };

            _A = new UIValueSlider()
            {
                Min        = 0,
                Max        = 255,
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
            };
            var A = new UITableBar(labelA, _A)
            {
                SizeFactor = new Vector2(1f, 0f),
                Size       = new Vector2(0, 30f),
                Division   = 0.15f,
                Pivot      = new Vector2(0, 0),
                Position   = new Vector2(0, 120),
            };

            chooserContainer.AppendChild(A);


            var labelHex = new UILabel()
            {
                AnchorPoint = new Vector2(0, 0.5f),
                Pivot       = new Vector2(0, 0.5f),
                Text        = "Hex",
                TextColor   = Color.White,
            };

            _hex = new UILabel()
            {
                Pivot       = new Vector2(0, 0.5f),
                AnchorPoint = new Vector2(0, 0.5f),
                Position    = new Vector2(20, 0),
            };
            var hex = new UITableBar(labelHex, _hex)
            {
                SizeFactor = new Vector2(1f, 0f),
                Size       = new Vector2(0, 30f),
                Division   = 0.15f,
                Pivot      = new Vector2(0, 0),
                Position   = new Vector2(0, 160),
            };

            _preview = new ColorPreviwer()
            {
                SizeFactor  = new Vector2(0f, 0f),
                Size        = new Vector2(72f, 24f),
                Pivot       = new Vector2(1, 1),
                AnchorPoint = new Vector2(1, 1),
                Position    = new Vector2(0, -3),
            };
            chooserContainer.AppendChild(hex);
            chooserContainer.AppendChild(_preview);



            // 上半部分

            var colorView = new UIElement()
            {
                SizeFactor  = new Vector2(1f, 0.5f),
                AnchorPoint = new Vector2(0.5f, 0f),
                Pivot       = new Vector2(0.5f, 0f),
                Position    = new Vector2(0, 30),
                Size        = new Vector2(0, -30f),
            };
            var colorViewContainer = new UIElement()
            {
                Pivot      = new Vector2(0, 0),
                SizeFactor = new Vector2(1, 1),
                Size       = new Vector2(-20, -20),
                Position   = new Vector2(10, 10),
            };

            _window.AppendChild(colorView);
            colorView.AppendChild(colorViewContainer);


            _colorBar = new UIColorBar()
            {
                Pivot       = new Vector2(1f, 1f),
                AnchorPoint = new Vector2(1f, 1f),
                SizeFactor  = new Vector2(0f, 1f),
                Size        = new Vector2(25f, -5f),
                Position    = new Vector2(-20, 0),
            };
            _colorRect = new UIColorRect()
            {
                Pivot       = new Vector2(0f, 0.5f),
                AnchorPoint = new Vector2(0f, 0.5f),
                Size        = new Vector2(128, 128),
                Position    = new Vector2(30, 0),
            };
            colorViewContainer.AppendChild(_colorBar);
            colorViewContainer.AppendChild(_colorRect);

            _R.OnValueChanged         += _R_OnValueChanged;
            _G.OnValueChanged         += _R_OnValueChanged;
            _B.OnValueChanged         += _R_OnValueChanged;
            _A.OnValueChanged         += _R_OnValueChanged;
            _colorBar.OnValueChanged  += _colorBar_OnValueChanged;
            _colorRect.OnValueChanged += _colorBar_OnValueChanged;
        }