/// <summary>
        ///     Add a single reagent entry to the list
        /// </summary>
        private void AddReagentEntry(Solution.ReagentQuantity reagent)
        {
            var box  = new BoxContainer();
            var spin = new FloatSpinBox(1, 2);

            spin.Value            = reagent.Quantity.Float();
            spin.OnValueChanged  += (args) => SetReagent(args, reagent.ReagentId);
            spin.HorizontalExpand = true;

            box.AddChild(new Label()
            {
                Text = reagent.ReagentId, HorizontalExpand = true
            });
            box.AddChild(spin);

            ReagentList.AddChild(box);
        }
        /// <summary>
        ///     Update the capacity label and re-create the reagent list
        /// </summary>
        public void UpdateReagents()
        {
            ReagentList.DisposeAllChildren();

            if (_selectedSolution == null || _solutions == null)
            {
                return;
            }

            if (!_solutions.TryGetValue(_selectedSolution, out var solution))
            {
                return;
            }

            UpdateVolumeBox(solution);
            UpdateThermalBox(solution);

            foreach (var reagent in solution)
            {
                AddReagentEntry(reagent);
            }
        }
        /// <summary>
        ///     Update the capacity label and re-create the reagent list
        /// </summary>
        public void UpdateReagents()
        {
            ReagentList.DisposeAllChildren();

            if (_selectedSolution == null || _solutions == null)
            {
                return;
            }

            if (!_solutions.TryGetValue(_selectedSolution, out var solution))
            {
                return;
            }

            TotalLabel.Text = Loc.GetString("admin-solutions-window-capacity-label",
                                            ("currentVolume", solution.TotalVolume),
                                            ("maxVolume", solution.MaxVolume));

            foreach (var reagent in solution)
            {
                AddReagentEntry(reagent);
            }
        }