/* Copyright 2008, 2009 Sebastiano Tronto This file is part of Robottino. Robottino is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Robottino is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Robottino; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ import javax.swing.JOptionPane; public class List { public static Main main = new Main(); public Robot primoRobot, ultimoRobot; public List() { primoRobot = ultimoRobot = null; } public boolean vuota() { return primoRobot == null; } public Robot getRobot( String nome ) { Robot i = primoRobot; for ( ; !i.nomeRobot.equals( nome ); i = i.prossimoRobot ) ; return i; } public void newRobot() { newRobot( false, false, false, false, "" ); } public void newRobot( String nome ) { newRobot( false, false, false, false, nome ); } public void newRobot( boolean la, boolean ra, boolean ll, boolean rl, String nome ) { if ( vuota() ) primoRobot = ultimoRobot = new Robot( la, ra, ll, rl, nome, null, null ); else { ultimoRobot = new Robot( la, ra, ll, rl, nome, ultimoRobot, null ); ultimoRobot.precedenteRobot.prossimoRobot = ultimoRobot; } } public void deleteRobot( String nome ) { if ( vuota() ) JOptionPane.showMessageDialog( main.frame, "Nessun robottino presente. Impossibile cancellarne uno", "Robottino v4.0 - Errore", JOptionPane.ERROR_MESSAGE ); else { Robot i = primoRobot; for ( ; !i.nomeRobot.equals( nome ); i = i.prossimoRobot ) ; if ( i.precedenteRobot != null ) i.precedenteRobot.prossimoRobot = i.prossimoRobot; else primoRobot = i.prossimoRobot; if ( i.prossimoRobot != null ) i.prossimoRobot.precedenteRobot = i.precedenteRobot; else ultimoRobot = i.precedenteRobot; } } public void printList() { String lista = ""; for ( Robot i = primoRobot; i != null; i = i.prossimoRobot ) lista += i.getName() + " "; JOptionPane.showMessageDialog( main.frame, lista, "Robottino v4.0 - Robottini Presenti", JOptionPane.PLAIN_MESSAGE ); } }