protected override AdvancedDropdownItem BuildRoot() { var rootItem = new AdvancedDropdownItem(m_Title); foreach (var column in m_Columns) { var path = column.path; var pos = path.LastIndexOf('/'); var name = pos == -1 ? column.name : path.Substring(pos + 1); var prefix = pos == -1 ? null : path.Substring(0, pos); AdvancedDropdownItem newItem = new AdvancedDropdownItem(name) { displayName = string.IsNullOrEmpty(column.content.text) ? column.content.tooltip : SearchColumn.ParseName(column.content.text), icon = column.content.image as Texture2D, tooltip = column.content.tooltip, userData = column }; var parent = rootItem; if (prefix != null) { parent = MakeParents(prefix, column, rootItem); } if (FindItem(name, parent) == null) { parent.AddChild(newItem); } } rootItem.SortChildren(SortColumnProviders); foreach (var c in rootItem.children) { c.SortChildren(SortColumns, true); } return(rootItem); }
public static SearchColumn CreateColumn(string path, string selector = null, string provider = null, SearchColumnFlags options = SearchColumnFlags.Default) { var pname = SearchColumn.ParseName(path); return(new SearchColumn(path, selector ?? path, provider, new GUIContent(pname), options)); }