package advancedsystemsmanager.flow.elements;
import advancedsystemsmanager.client.gui.GuiManager;
import advancedsystemsmanager.helpers.CollisionHelper;
import advancedsystemsmanager.registry.ThemeHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.List;
public class CheckBoxList
{
public static final int CHECK_BOX_SIZE = 8;
public static final int CHECK_BOX_SRC_X = 106;
public static final int CHECK_BOX_SELECTED_SRC_X = 114;
public static final int CHECK_BOX_SRC_Y = 20;
public static final int CHECK_BOX_TEXT_X = 12;
public static final int CHECK_BOX_TEXT_Y = 2;
public List<CheckBox> checkBoxes;
public CheckBoxList()
{
checkBoxes = new ArrayList<CheckBox>();
}
public void addCheckBox(CheckBox checkBox)
{
checkBoxes.add(checkBox);
}
@SideOnly(Side.CLIENT)
public void draw(GuiManager gui, int mX, int mY)
{
for (CheckBox checkBox : checkBoxes)
{
if (checkBox.isVisible())
{
boolean selected = checkBox.getValue();
boolean mouseover = CollisionHelper.inBounds(checkBox.getX(), checkBox.getY(), CHECK_BOX_SIZE, CHECK_BOX_SIZE, mX, mY);
gui.drawColouredTexture(checkBox.getX(), checkBox.getY(), CHECK_BOX_SRC_X, CHECK_BOX_SRC_Y, CHECK_BOX_SIZE, CHECK_BOX_SIZE, ThemeHandler.theme.menus.checkboxes.getColour(selected, mouseover));
gui.drawColouredTexture(checkBox.getX(), checkBox.getY(), CHECK_BOX_SELECTED_SRC_X, CHECK_BOX_SRC_Y, CHECK_BOX_SIZE, CHECK_BOX_SIZE, ThemeHandler.theme.menus.checkboxes.getColour(selected, mouseover));
if (checkBox.getName() != null)
{
gui.drawSplitString(checkBox.getName(), checkBox.getX() + CHECK_BOX_TEXT_X, checkBox.getY() + CHECK_BOX_TEXT_Y, checkBox.getTextWidth(), 0.7F, 0x404040);
}
}
}
}
public void onClick(int mX, int mY)
{
for (CheckBox checkBox : checkBoxes)
{
if (checkBox.isVisible() && CollisionHelper.inBounds(checkBox.getX(), checkBox.getY(), CHECK_BOX_SIZE, CHECK_BOX_SIZE, mX, mY))
{
checkBox.setValue(!checkBox.getValue());
checkBox.onUpdate();
break;
}
}
}
}