private void CreateFrame() { SetLabel(Proxy.Label, Proxy.Tooltip); _addButton = AddHeaderButton(_addIcon.Texture, Proxy.AddTooltip, AddButtonUssClassName, AddItem); _addButton.SetEnabled(false); _removeButtons = Content.Query <IconButton>(className: RemoveButtonUssClassName).Build(); _keyField = new TextField(); _keyField.AddToClassList(HeaderKeyTextUssClassName); _keyField.RegisterValueChangedCallback(evt => AddKeyChanged(evt.newValue)); _keyField.Q(TextField.textInputUssName).RegisterCallback <KeyDownEvent>(evt => KeyPressed(evt)); var keyPlaceholder = new PlaceholderControl(Proxy.AddPlaceholder); keyPlaceholder.AddToField(_keyField); Header.Add(_keyField); _keyField.PlaceInFront(Label); var empty = new TextElement { text = Proxy.EmptyLabel, tooltip = Proxy.EmptyTooltip }; empty.AddToClassList(EmptyLabelUssClassName); Content.Add(empty); _itemsContainer = new VisualElement(); _itemsContainer.AddToClassList(ItemsUssClassName); Content.Add(_itemsContainer); }
public override VisualElement CreatePropertyGUI(SerializedProperty property) { var element = this.CreateNextElement(property); var placeholderAttribute = attribute as PlaceholderAttribute; var textField = element.Q <TextField>(); if (textField != null) { var placeholder = new PlaceholderControl(placeholderAttribute.Text); placeholder.AddToField(textField); return(element); } else { Debug.LogWarningFormat(_invalidDrawerWarning, property.propertyPath); return(new FieldContainer(property.displayName)); } }