/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package robotinterface.gui.panels.robot;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JButton;
import javax.swing.JPanel;
import robotinterface.gui.GUI;
/**
*
* @author antunes
*/
public class RobotManager extends JPanel implements Iterable<RobotControlPanel> {
private ArrayList<RobotControlPanel> panels = new ArrayList<>();
private JButton btnAddRobot;
private GUI gui = null;
private final GridBagConstraints cons;
public RobotManager(final GUI gui) {
this.gui = gui;
// super.setLayout(new GridBagLayout());
cons = new GridBagConstraints();
cons.fill = GridBagConstraints.VERTICAL;
cons.weightx = 1;
cons.gridx = 0;
btnAddRobot = new JButton("Adicionar RobĂ´");
btnAddRobot.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
createRobot();
}
});
btnAddRobot.setVisible(false); //temp
super.add(btnAddRobot, cons);
}
public void createRobot() {
RobotControlPanel p = new RobotControlPanel(RobotManager.this);
panels.add(p);
RobotManager.this.add(p, cons);
RobotManager.this.remove(btnAddRobot);
RobotManager.this.add(btnAddRobot, cons);
gui.updateRobotList();
}
public void remove(RobotControlPanel robotControlPanel) {
panels.remove(robotControlPanel);
super.remove(robotControlPanel);
gui.getSimulationPanel().removeRobot(robotControlPanel.getRobot());
}
@Override
public Iterator<RobotControlPanel> iterator() {
return panels.iterator();
}
}