//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(); } } }
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); } }
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; }