public AddPackageByNameDropdown OpenAddPackageByNameDropdown(string url) { var dropdown = new AddPackageByNameDropdown(m_ResourceLoader, m_PackageFiltering, m_UpmClient, m_PackageDatabase, m_PageManager, PackageManagerWindow.instance); var packageNameAndVersion = url.Replace(PackageManagerWindow.k_UpmUrl, string.Empty); var packageName = string.Empty; var packageVersion = string.Empty; if (packageNameAndVersion.Contains("@")) { var values = packageNameAndVersion.Split('@'); if (values.Count() > 1) { packageName = values[0]; packageVersion = values[1]; } } else { packageName = packageNameAndVersion; } DropdownElement.ShowDropdown(this, dropdown); // We need to set the name and version after the dropdown is shown, // so that the OnTextFieldChange of placeholder gets called dropdown.packageNameField.value = packageName; dropdown.packageVersionField.value = packageVersion; return(dropdown); }
public static void ShowDropdown(VisualElement parent, DropdownContent content) { if (parent == null || content == null) { return; } instance = new DropdownElement(); instance.Add(content); instance.m_Content = content; parent.Add(instance); content.OnDropdownShown(); }
internal void Hide() { if (parent == null || instance == null) { return; } foreach (var element in parent.Children()) { element.SetEnabled(true); } parent.Remove(instance); instance = null; m_Content.OnDropdownClosed(); }