package me.escapeNT.pail.GUIComponents;
import java.awt.GridLayout;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JCheckBox;
import javax.swing.JPanel;
import me.escapeNT.pail.config.PanelConfig;
import me.escapeNT.pail.Util.Util;
/**
* Panel displaying the loaded components and their activation status.
* @author escapeNT
*/
public class TabActivationPanel extends JPanel {
private Map<String, JCheckBox> boxes = new HashMap<String, JCheckBox>();
public TabActivationPanel() {
initComponents();
}
private void initComponents() {
// Setup layout
int numComps = Util.getInterfaceComponents().keySet().size();
setLayout(new GridLayout(numComps / 2, 2));
// Get all panel titles
List<String> titles = new ArrayList<String>();
for(String title : Util.getInterfaceComponents().keySet()) {
titles.add(title);
}
Collections.sort(titles, String.CASE_INSENSITIVE_ORDER);
// Add checkboxes
boxes = new HashMap<String, JCheckBox>();
for(String s : titles) {
if(s.equals("Settings") || s.equals("Server Control")) {
break;
}
if(!PanelConfig.getPanelsActivated().containsKey(s)) {
PanelConfig.getPanelsActivated().put(s, Boolean.TRUE);
}
getBoxes().put(s, new JCheckBox(s));
getBoxes().get(s).setSelected(PanelConfig.getPanelsActivated().get(s));
add(getBoxes().get(s));
}
}
/**
* @return the boxes
*/
public Map<String, JCheckBox> getBoxes() {
return boxes;
}
}