public VariableCompleter(VariableEditingHandler handler) : base(handler.variableField != null ? handler.variableField.textField : null) { m_Handler = handler; getFilterFromTextCallback = (text) => text != null?text.TrimStart('-') : null; dataSourceCallback = () => { return(StyleVariableUtilities.GetAllAvailableVariables(handler.inspector.currentVisualElement, GetCompatibleStyleValueTypes(handler), handler.inspector.document.fileSettings.editorExtensionMode)); }; makeItem = () => { var item = new VisualElement(); item.AddToClassList(s_ItemUssClassName); var nameLabel = new Label(); var editorOnlyLabel = new Label(BuilderConstants.EditorOnlyTag); nameLabel.AddToClassList(s_ItemNameLabelUssClassName); nameLabel.name = s_ItemNameLabelName; #if !UNITY_2019_4 // Cannot use USS because no way to do version checks in USS. // This is not available in 2019.4. nameLabel.style.textOverflow = TextOverflow.Ellipsis; #endif editorOnlyLabel.AddToClassList(s_ItemEditorOnlyLabelUssClassName); editorOnlyLabel.AddToClassList("unity-builder-tag-pill"); editorOnlyLabel.name = s_ItemEditorOnlyLabelName; item.Add(nameLabel); item.Add(editorOnlyLabel); return(item); }; bindItem = (e, i) => { var res = results[i]; e.Q <Label>(s_ItemNameLabelName).text = res.name; e.Q <Label>(s_ItemEditorOnlyLabelName).EnableInClassList(BuilderConstants.HiddenStyleClassName, !res.isEditorVar); }; m_DetailsView = new VariableInfoView(); m_DetailsView.AddToClassList(BuilderConstants.HiddenStyleClassName); detailsContent = m_DetailsView; onSelectionChange += data => { m_DetailsView.SetInfo(data); if (data != null) { m_DetailsView.RemoveFromClassList(BuilderConstants.HiddenStyleClassName); } else { m_DetailsView.AddToClassList(BuilderConstants.HiddenStyleClassName); } }; matcherCallback = Matcher; getTextFromDataCallback = GetVarName; }
public void SetInfo(VariableInfo info) { m_View.SetInfo(info); }