package org.halvors.electrometrics.client.gui.configuration;
import cpw.mods.fml.client.config.DummyConfigElement.DummyCategoryElement;
import cpw.mods.fml.client.config.GuiConfig;
import cpw.mods.fml.client.config.GuiConfigEntries.IConfigEntry;
import cpw.mods.fml.client.config.IConfigElement;
import net.minecraft.client.gui.GuiScreen;
import net.minecraftforge.common.config.Configuration;
import org.halvors.electrometrics.Electrometrics;
import org.halvors.electrometrics.client.gui.configuration.category.CategoryEntryClient;
import org.halvors.electrometrics.client.gui.configuration.category.CategoryEntryGeneral;
import org.halvors.electrometrics.client.gui.configuration.category.CategoryEntryIntegration;
import org.halvors.electrometrics.client.gui.configuration.category.CategoryEntryMachine;
import org.halvors.electrometrics.common.ConfigurationManager;
import org.halvors.electrometrics.common.Reference;
import org.halvors.electrometrics.common.util.LanguageUtils;
import java.util.ArrayList;
import java.util.List;
public class GuiConfiguration extends GuiConfig {
private static final List<IConfigElement> configElements = new ArrayList<>();
static {
register(Configuration.CATEGORY_GENERAL, CategoryEntryGeneral.class);
register(ConfigurationManager.CATEGORY_MACHINE, CategoryEntryMachine.class);
register(ConfigurationManager.CATEGORY_INTEGRATION, CategoryEntryIntegration.class);
register(ConfigurationManager.CATEGORY_CLIENT, CategoryEntryClient.class);
}
public GuiConfiguration(GuiScreen parent) {
super(parent, configElements, Reference.ID, false, false, Reference.NAME);
titleLine2 = Electrometrics.getConfiguration().getConfigFile().getAbsolutePath();
}
private static void register(String category, Class<? extends IConfigEntry> configEntryClass) {
configElements.add(new DummyCategoryElement(LanguageUtils.localize("gui.configuration.category." + category), "gui.configuration.category." + category, configEntryClass));
}
}