Beispiel #1
0
        protected override DropdownElement RebuildTree()
        {
            DropdownElement dropdownElement = new DropdownElement("ROOT");

            string[] submenus         = Unsupported.GetSubmenus("Component");
            string[] submenusCommands = Unsupported.GetSubmenusCommands("Component");
            for (int i = 0; i < submenus.Length; i++)
            {
                if (!(submenusCommands[i] == "ADD"))
                {
                    string   text  = submenus[i];
                    string[] array = text.Split(new char[]
                    {
                        '/'
                    });
                    DropdownElement dropdownElement2 = dropdownElement;
                    for (int j = 0; j < array.Length; j++)
                    {
                        string path = array[j];
                        if (j == array.Length - 1)
                        {
                            ComponentDropdownElement componentDropdownElement = new ComponentDropdownElement(LocalizationDatabase.GetLocalizedString(path), text, submenusCommands[i]);
                            componentDropdownElement.SetParent(dropdownElement2);
                            dropdownElement2.AddChild(componentDropdownElement);
                        }
                        else
                        {
                            DropdownElement dropdownElement3 = dropdownElement2.children.SingleOrDefault((DropdownElement c) => c.name == path);
                            if (dropdownElement3 == null)
                            {
                                dropdownElement3 = new GroupDropdownElement(path);
                                dropdownElement3.SetParent(dropdownElement2);
                                dropdownElement2.AddChild(dropdownElement3);
                            }
                            dropdownElement2 = dropdownElement3;
                        }
                    }
                }
            }
            dropdownElement = dropdownElement.children.Single <DropdownElement>();
            dropdownElement.SetParent(null);
            GroupDropdownElement groupDropdownElement = new GroupDropdownElement("New script");

            groupDropdownElement.AddChild(new NewScriptDropdownElement());
            groupDropdownElement.SetParent(dropdownElement);
            dropdownElement.AddChild(groupDropdownElement);
            return(dropdownElement);
        }
Beispiel #2
0
        protected override DropdownElement RebuildSearch()
        {
            DropdownElement dropdownElement = base.RebuildSearch();

            if (dropdownElement != null)
            {
                GroupDropdownElement     groupDropdownElement     = new GroupDropdownElement("New script");
                NewScriptDropdownElement newScriptDropdownElement = new NewScriptDropdownElement();
                newScriptDropdownElement.className = this.m_Search;
                groupDropdownElement.AddChild(newScriptDropdownElement);
                newScriptDropdownElement.SetParent(groupDropdownElement);
                groupDropdownElement.SetParent(dropdownElement);
                dropdownElement.AddChild(groupDropdownElement);
            }
            return(dropdownElement);
        }
        protected virtual DropdownElement RebuildSearch()
        {
            DropdownElement result;

            if (string.IsNullOrEmpty(this.m_Search))
            {
                result = null;
            }
            else
            {
                string[] array = this.m_Search.ToLower().Split(new char[]
                {
                    ' '
                });
                List <DropdownElement> list  = new List <DropdownElement>();
                List <DropdownElement> list2 = new List <DropdownElement>();
                foreach (DropdownElement current in this.m_MainTree.GetSearchableElements())
                {
                    string text  = current.name.ToLower().Replace(" ", "");
                    bool   flag  = true;
                    bool   flag2 = false;
                    for (int i = 0; i < array.Length; i++)
                    {
                        string value = array[i];
                        if (!text.Contains(value))
                        {
                            flag = false;
                            break;
                        }
                        if (i == 0 && text.StartsWith(value))
                        {
                            flag2 = true;
                        }
                    }
                    if (flag)
                    {
                        if (flag2)
                        {
                            list.Add(current);
                        }
                        else
                        {
                            list2.Add(current);
                        }
                    }
                }
                list.Sort();
                list2.Sort();
                GroupDropdownElement groupDropdownElement = new GroupDropdownElement("Search");
                foreach (DropdownElement current2 in list)
                {
                    groupDropdownElement.AddChild(current2);
                }
                foreach (DropdownElement current3 in list2)
                {
                    groupDropdownElement.AddChild(current3);
                }
                result = groupDropdownElement;
            }
            return(result);
        }