package advancedsystemsmanager.flow.menus; import advancedsystemsmanager.api.ISystemType; import advancedsystemsmanager.flow.FlowComponent; import advancedsystemsmanager.flow.elements.Variable; import advancedsystemsmanager.registry.ConnectionSet; import advancedsystemsmanager.util.SystemCoord; import java.util.Iterator; import java.util.Set; public class MenuContainerTypesVariable extends MenuContainerTypes { public MenuContainerTypesVariable(FlowComponent parent) { super(parent); } @Override public boolean isVisible() { return getParent().getConnectionSet() == ConnectionSet.EMPTY; } @Override protected void setChecked(int id, boolean value) { super.setChecked(id, value); MenuVariableContainers containers = (MenuVariableContainers)getParent().menus.get(2); Set<ISystemType> types = containers.getValidTypes(); for (Iterator<Long> itr = containers.getSelectedInventories().iterator(); itr.hasNext(); ) { long selected = itr.next(); if (selected < 0) { Variable variable = getParent().getManager().getVariable((int)selected); if (!containers.isVariableAllowed(types, variable)) itr.remove(); } else { SystemCoord coord = getParent().getManager().getInventory(selected); if (coord == null || !coord.isOfAnyType(types)) itr.remove(); } } containers.inventories = null; containers.scrollController.updateSearch(); } }