package net.blay09.mods.eirairc.client.gui.servers;
import net.blay09.mods.eirairc.client.gui.base.tab.DummyTabPage;
import net.blay09.mods.eirairc.client.gui.base.tab.GuiTabContainer;
import net.blay09.mods.eirairc.client.gui.base.tab.GuiTabPage;
import net.blay09.mods.eirairc.config.ConfigurationHandler;
import net.blay09.mods.eirairc.config.ServerConfig;
import net.minecraft.client.gui.GuiScreen;
public class GuiServerConfigContainer extends GuiTabContainer {
public GuiServerConfigContainer(GuiScreen parentScreen) {
super(parentScreen);
// Create a tab page for every server configuration
for(ServerConfig config : ConfigurationHandler.getServerConfigs()) {
pages.add(new GuiServerConfig(this, config));
}
// If no servers are set up yet, start on an empty server form by default
if(pages.size() == 0) {
GuiServerConfig newTab = new GuiServerConfig(this);
pages.add(newTab);
}
// Add a dummy tab that allows adding of new server configurations
pages.add(new DummyTabPage(this, "+") {
@Override
public void tabClicked() {
for (GuiTabPage tabPage : pages) {
if (tabPage instanceof GuiServerConfig) {
if (((GuiServerConfig) tabPage).isNew()) {
setCurrentTab(tabPage, false);
return;
}
}
}
GuiServerConfig newTab = new GuiServerConfig(GuiServerConfigContainer.this);
pages.add(pages.size() - 1, newTab);
buildHeaders();
setCurrentTab(newTab, false);
}
});
// Select the first tab on startup
currentTab = pages.get(0);
}
@Override
public void initGui() {
super.initGui();
buildHeaders();
}
}