internal PortFilterComponent(PortFilter filter, PortFilterType type, PortDeleteFilter onDeleted) { this.Filter = filter; int selected = 0; if (ItemCategories.NumToName.TryGetValue(this.Filter.Category, out string category)) { selected = ItemCategories.Names.IndexOf(category); } this.Dropdown = new DropdownComponent(ItemCategories.Names, "", 300) { visible = true, SelectionIndex = selected }; this.Dropdown.DropDownOptionSelected += DropDownOptionSelected; this.DeleteButton = new ButtonComponent("", Sprites.Icons.Sheet, Sprites.Icons.Clear, 2, true) { visible = true, HoverText = "Delete" }; this.DeleteButton.ButtonPressed += () => onDeleted(Filter); if (type == PortFilterType.REQUESTS) { BuildSlider(); } }
internal PortFiltersPage(List <PortFilter> filters, Action onChanged, PortFilterType type) { this.Filters = filters; this.OnChanged = onChanged; this.Type = type; foreach (var filter in Filters) { Components.Add(new PortFilterComponent(filter, Type, DeleteFilter)); } }